You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(skills): expand SEP-2640 demo with catalogue, templates, discovery
Expands the Agent Skills surface from 2 to 28 bundled skills, adds a
per-repo resource template covering arbitrary GitHub repositories, and
introduces a model-facing discovery tool to bridge the gap left by the
SEP's UI-only completion mechanism.
- Import 25 workflow-oriented skills from github#2374
as standalone SKILL.md files (skip review-pr and handle-notifications
due to overlap with our pull-requests / inbox-triage). Migrate URI
shape to skill://github/<name>/SKILL.md to match github#2374's prefix style.
- Remove the legacy Instructions / InstructionsFunc / WithServerInstructions
machinery (~300 lines). Skills are now the only guidance surface.
- Add a SEP-aligned per-repo resource template
skill://{owner}/{repo}/{skill_name}/{+file_path} (from PR github#2129, with
the non-SEP _manifest endpoint dropped). Gated on a new non-default
`skills` toolset. Index now advertises both SEP entry types
(skill-md and mcp-resource-template).
- Add list_repo_skills tool that wraps the existing discoverSkills() and
returns each discovered skill plus a skill:// URL ready for
resources/read. Workaround for autonomous-agent discovery on unbounded
template namespaces — documented as such.
- Add discover-mcp-skills meta-skill (always-on) that teaches the model
the discover-then-read workflow for both bundled and repo-hosted
surfaces.
Verified end-to-end against anthropics/skills via stdio JSON-RPC: full
loop from index read through SKILL.md to relative-file resolution works.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
"description": "List Agent Skills (SKILL.md files) defined in a GitHub repository. Returns each discovered skill's name plus a `skill://` URI you can pass directly to `resources/read` to fetch its SKILL.md. Recognizes the agentskills.io directory conventions: skills/*/SKILL.md, skills/{namespace}/*/SKILL.md, plugins/*/skills/*/SKILL.md, and root-level */SKILL.md. Use this when you need to discover what skills a repository exposes before reading any of them.",
7
+
"inputSchema": {
8
+
"properties": {
9
+
"owner": {
10
+
"description": "Repository owner (username or organization name).",
Description: "Understand the current user, their permissions, and team membership. Use when starting any workflow, checking who you are, what you can access, or looking up team membership.",
38
+
Content: skills.GetContextSKILL,
39
+
}).
40
+
Add(skills.Bundled{
41
+
Name: "explore-repo",
42
+
Description: "Understand an unfamiliar codebase quickly. Use when exploring a new repo, understanding project structure, finding entry points, or getting oriented in code you haven't seen before.",
43
+
Content: skills.ExploreRepoSKILL,
44
+
}).
45
+
Add(skills.Bundled{
46
+
Name: "search-code",
47
+
Description: "Find code patterns, symbols, and examples across GitHub. Use when searching for code, finding how something is implemented, locating files, or looking for usage examples across repositories.",
48
+
Content: skills.SearchCodeSKILL,
49
+
}).
50
+
Add(skills.Bundled{
51
+
Name: "trace-history",
52
+
Description: "Understand why code changed by tracing commits and PRs. Use when investigating git history, finding who changed something, understanding the motivation behind a change, or tracking down when a bug was introduced.",
53
+
Content: skills.TraceHistorySKILL,
54
+
}).
55
+
Add(skills.Bundled{
56
+
Name: "create-pr",
57
+
Description: "Create a well-structured pull request that reviews smoothly. Use when opening a new PR, pushing changes for review, or submitting code changes to a repository.",
58
+
Content: skills.CreatePRSKILL,
59
+
}).
60
+
Add(skills.Bundled{
61
+
Name: "self-review-pr",
62
+
Description: "Review your own PR before requesting team review. Use when you want to self-check your PR, verify CI status, polish description, or prepare your changes for review.",
63
+
Content: skills.SelfReviewPRSKILL,
64
+
}).
65
+
Add(skills.Bundled{
66
+
Name: "address-pr-feedback",
67
+
Description: "Handle review comments on your PR and push fixes. Use when you received PR feedback, need to respond to reviewer comments, resolve threads, or push fixes based on review.",
68
+
Content: skills.AddressPRFeedbackSKILL,
69
+
}).
70
+
Add(skills.Bundled{
71
+
Name: "merge-pr",
72
+
Description: "Get a PR to merge-ready state and merge it. Use when merging a pull request, checking if a PR is ready to merge, updating a PR branch, or converting a draft PR.",
73
+
Content: skills.MergePRSKILL,
74
+
}).
75
+
Add(skills.Bundled{
76
+
Name: "triage-issues",
77
+
Description: "Categorize, deduplicate, and prioritize incoming issues. Use when triaging issues, labeling bugs, organizing a backlog, closing duplicates, or processing new issue reports.",
78
+
Content: skills.TriageIssuesSKILL,
79
+
}).
80
+
Add(skills.Bundled{
81
+
Name: "create-issue",
82
+
Description: "Create well-structured, searchable, actionable issues. Use when filing a bug report, requesting a feature, creating a task, or opening any new GitHub issue.",
83
+
Content: skills.CreateIssueSKILL,
84
+
}).
85
+
Add(skills.Bundled{
86
+
Name: "manage-sub-issues",
87
+
Description: "Break down large issues into trackable sub-tasks. Use when decomposing epics, creating task breakdowns, organizing work into smaller pieces, or managing parent-child issue relationships.",
88
+
Content: skills.ManageSubIssuesSKILL,
89
+
}).
90
+
Add(skills.Bundled{
91
+
Name: "debug-ci",
92
+
Description: "Investigate and fix failing GitHub Actions workflows. Use when CI is failing, a workflow run errored, you need to read build logs, or debug why tests aren't passing.",
93
+
Content: skills.DebugCISKILL,
94
+
}).
95
+
Add(skills.Bundled{
96
+
Name: "trigger-workflow",
97
+
Description: "Run, rerun, or cancel GitHub Actions workflow runs. Use when triggering a deployment, rerunning failed jobs, canceling a stuck workflow, or dispatching a workflow manually.",
98
+
Content: skills.TriggerWorkflowSKILL,
99
+
}).
100
+
Add(skills.Bundled{
101
+
Name: "security-audit",
102
+
Description: "Systematically review code scanning, secret, and dependency alerts. Use when auditing repo security, checking for vulnerabilities, reviewing CodeQL alerts, or investigating exposed secrets.",
103
+
Content: skills.SecurityAuditSKILL,
104
+
}).
105
+
Add(skills.Bundled{
106
+
Name: "fix-dependabot",
107
+
Description: "Handle vulnerable dependency alerts and update PRs. Use when fixing Dependabot alerts, updating vulnerable packages, reviewing dependency update PRs, or managing supply chain security.",
108
+
Content: skills.FixDependabotSKILL,
109
+
}).
110
+
Add(skills.Bundled{
111
+
Name: "research-vulnerability",
112
+
Description: "Query the GitHub Advisory Database for security advisories. Use when researching CVEs, looking up GHSA IDs, checking if a package has known vulnerabilities, or reviewing security advisories for a repo or org.",
113
+
Content: skills.ResearchVulnerabilitySKILL,
114
+
}).
115
+
Add(skills.Bundled{
116
+
Name: "manage-project",
117
+
Description: "Track and update work items in GitHub Projects (v2). Use when managing a project board, updating issue status fields, adding items to a project, querying project items, or posting project status updates.",
118
+
Content: skills.ManageProjectSKILL,
119
+
}).
120
+
Add(skills.Bundled{
121
+
Name: "prepare-release",
122
+
Description: "Compile release notes from commits and merged PRs. Use when preparing a release, writing a changelog, summarizing changes since last version, or reviewing what shipped.",
123
+
Content: skills.PrepareReleaseSKILL,
124
+
}).
125
+
Add(skills.Bundled{
126
+
Name: "manage-repo",
127
+
Description: "Create repos, manage branches, and push file changes. Use when creating a new repository, making a branch, committing files via the API, forking a repo, or managing repository contents.",
128
+
Content: skills.ManageRepoSKILL,
129
+
}).
130
+
Add(skills.Bundled{
131
+
Name: "manage-labels",
132
+
Description: "Set up and maintain a consistent label scheme. Use when creating labels, organizing a label system, cleaning up labels, or standardizing label naming across a repository.",
133
+
Content: skills.ManageLabelsSKILL,
134
+
}).
135
+
Add(skills.Bundled{
136
+
Name: "contribute-oss",
137
+
Description: "Fork, branch, and submit PRs to external repositories. Use when contributing to open source, forking a repo to make changes, or submitting a pull request to a project you don't own.",
138
+
Content: skills.ContributeOSSSKILL,
139
+
}).
140
+
Add(skills.Bundled{
141
+
Name: "browse-discussions",
142
+
Description: "Read and explore GitHub Discussions and categories. Use when browsing discussions, reading community conversations, checking discussion categories, or looking for answers in a project's discussions.",
143
+
Content: skills.BrowseDiscussionsSKILL,
144
+
}).
145
+
Add(skills.Bundled{
146
+
Name: "delegate-to-copilot",
147
+
Description: "Assign Copilot to issues and request Copilot PR reviews. Use when you want Copilot to work on an issue, get an automated code review, or delegate tasks to GitHub Copilot.",
148
+
Content: skills.DelegateToCopilotSKILL,
149
+
}).
150
+
Add(skills.Bundled{
151
+
Name: "discover-github",
152
+
Description: "Search for users, organizations, and repositories. Use when finding GitHub users, looking up organizations, discovering repos by topic or language, or managing your starred repositories.",
153
+
Content: skills.DiscoverGitHubSKILL,
154
+
}).
155
+
Add(skills.Bundled{
156
+
Name: "share-snippet",
157
+
Description: "Create and manage code snippets via GitHub Gists. Use when sharing a code snippet, creating a quick paste, saving notes as a gist, or managing your existing gists.",
158
+
Content: skills.ShareSnippetSKILL,
159
+
}).
160
+
// Meta-skill that teaches the model how to discover and load skills
161
+
// from this server (both bundled and repo-hosted). Bridges the SEP's
162
+
// discovery gap for autonomous agents. Always-on — the bundled-skill
163
+
// discovery half is useful regardless of which toolsets are enabled;
164
+
// the per-repo half (which depends on `list_repo_skills`) is gated
165
+
// by a caveat in the SKILL.md body.
166
+
Add(skills.Bundled{
167
+
Name: "discover-mcp-skills",
168
+
Description: "Discover and load Agent Skills (SKILL.md files) exposed by this MCP server — both the skills bundled with the server and skills hosted in any GitHub repository. Use when the user asks \"what skills do you have?\", \"what can you help with?\", \"use the skill from repo X\", \"are there skills for this in any repo?\", or whenever you suspect an unfamiliar workflow has an existing SKILL.md.",
// Gated on the `skills` toolset since the matching MCP resource
173
+
// template is registered there too.
174
+
AddTemplate(skills.BundledTemplate{
175
+
Description: "Agent Skills hosted in any GitHub repository — fill in {owner}/{repo}/{skill_name} to read SKILL.md, then extend the URI to read referenced files (e.g. references/GUIDE.md).",
0 commit comments