Skip to content

feat: update skill frontmatter to MCP skills-as-groups spec format#2465

Open
SamMorrowDrums wants to merge 1 commit into
sammorrowdrums/skills-over-mcp-refactorfrom
sammorrowdrums/skill-frontmatter-spec-update
Open

feat: update skill frontmatter to MCP skills-as-groups spec format#2465
SamMorrowDrums wants to merge 1 commit into
sammorrowdrums/skills-over-mcp-refactorfrom
sammorrowdrums/skill-frontmatter-spec-update

Conversation

@SamMorrowDrums
Copy link
Copy Markdown
Collaborator

Update skill resource frontmatter to align with the proposed MCP skills-as-groups spec.

Changes

Before:

---
name: review-pr
description: ...
allowed-tools:
  - pull_request_read
  - get_file_contents
---

After:

---
name: review-pr
description: ...
metadata:
  io.modelcontextprotocol/tools: "pull_request_read get_file_contents"
---

The skillDefinition struct keeps allowedTools []string internally — only the serialized output format changes.

Stacked on

PR #2374 (sammorrowdrums/skills-over-mcp-refactor)

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>
Copilot AI review requested due to automatic review settings May 13, 2026 08:46
@SamMorrowDrums SamMorrowDrums requested a review from a team as a code owner May 13, 2026 08:46
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>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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: with io.modelcontextprotocol/tools: "<tool1> <tool2>" instead of allowed-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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants