feat: update skill frontmatter to MCP skills-as-groups spec format#2465
Open
SamMorrowDrums wants to merge 1 commit into
Open
Conversation
Replace allowed-tools YAML array with metadata.io.modelcontextprotocol/tools space-separated string in skill resource frontmatter, aligning with the proposed MCP skills-as-groups specification. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
SamMorrowDrums
added a commit
to SamMorrowDrums/mcpi-ext
that referenced
this pull request
May 13, 2026
Parse both frontmatter formats for skill tool declarations: - Proposed: metadata.io.modelcontextprotocol/tools (space-separated) - Current: allowed-tools (YAML array) Prefers the proposed format when both are present. This enables mcpi-ext to work with servers adopting the skills-as-groups proposal (github/github-mcp-server#2465) while maintaining backward compat with the current allowed-tools format. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the generated YAML frontmatter for MCP skill resources to match the proposed “skills-as-groups” format by moving tool associations from an allowed-tools YAML list to a metadata.io.modelcontextprotocol/tools space-delimited string, while keeping the internal allowedTools []string representation unchanged.
Changes:
- Emit
metadata:withio.modelcontextprotocol/tools: "<tool1> <tool2>"instead ofallowed-tools:list in generated SKILL.md content. - Update unit test expectations to assert the new frontmatter format.
Show a summary per file
| File | Description |
|---|---|
| pkg/github/skill_resources.go | Adjusts buildSkillContent to serialize allowed tools into MCP metadata per the proposed grouping spec. |
| pkg/github/skill_resources_test.go | Updates TestBuildSkillContent assertions to match the new serialized frontmatter. |
Copilot's findings
- Files reviewed: 2/2 changed files
- Comments generated: 0
SamMorrowDrums
added a commit
to SamMorrowDrums/mcpi-ext
that referenced
this pull request
May 13, 2026
* docs: Sandman-esque README with tiered MCP progressive discovery Rewrite README as a Neil Gaiman Sandman-inspired narrative introducing the three tiers of progressive MCP tool discovery: - The Skill Dealer (Tier 1): self-referential skill-gated tool visibility - The Nuclear Football (Tier 2): shell-native CLI progressive discovery - Codey C. Maude (Tier 3): sandboxed code mode for read-only tools Add character and banner artwork in images/. Technical details are accurate — the narrative weaves around the actual architecture of skill registries, JSON-RPC tool-cli, and isolated-vm V8 sandboxes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: replace ASCII art diagrams with mermaid GitHub renders mermaid code blocks natively, so these diagrams will display properly regardless of font or viewer. Replaces the three ASCII box-drawing diagrams (skill flow, tool-cli architecture, and overall tier architecture) with equivalent mermaid flowcharts and sequence diagrams. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: fix quote wording — add 'losing' Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: note relationship to Anthropic tool search Skill invocation pushes tools to the model (unsolicited tool definitions via setActiveTools) rather than having the model pull them via search. Both solve cache invalidation from large tool lists, but from opposite directions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: add MCP server developer guide for progressive discovery Guide for MCP server developers covering: - skill:// resource format (frontmatter, allowed-tools, SKILL.md body) - Registering skill resources with the MCP SDK - Best practices for grouping tools into skills - Tool annotations (readOnlyHint) and outputSchema for Code Mode - Returning structuredContent for typed sandbox access - Complete working example with all three tiers Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: add npm badges and dual-lock framing to Nuclear Football Add npm badges for mcpi, mcpi-ext, and tool-cli packages at the top. Rework the Nuclear Football section to include the dual-lock metaphor: agent holds the briefcase (reach), harness holds the launch authority (safety). Every call routes through the harness for observability and HITL gating. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs: update server guide with proposed spec format and references Add the skills-as-groups proposal frontmatter format alongside the current allowed-tools format. Document both with examples showing metadata.io.modelcontextprotocol/tools (space-separated) vs allowed-tools (YAML array). Add Further Reading section linking to the spec proposal, progressive discovery docs, and mechanism docs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat: support proposed spec frontmatter in skill discovery Parse both frontmatter formats for skill tool declarations: - Proposed: metadata.io.modelcontextprotocol/tools (space-separated) - Current: allowed-tools (YAML array) Prefers the proposed format when both are present. This enables mcpi-ext to work with servers adopting the skills-as-groups proposal (github/github-mcp-server#2465) while maintaining backward compat with the current allowed-tools format. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * style: fix prettier formatting in server developer guide Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update skill resource frontmatter to align with the proposed MCP skills-as-groups spec.
Changes
Before:
After:
The
skillDefinitionstruct keepsallowedTools []stringinternally — only the serialized output format changes.Stacked on
PR #2374 (
sammorrowdrums/skills-over-mcp-refactor)