Skip to content

Commit d116a4c

Browse files
feat: update skill frontmatter to MCP skills-as-groups spec format
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>
1 parent 1a39440 commit d116a4c

2 files changed

Lines changed: 4 additions & 6 deletions

File tree

pkg/github/skill_resources.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -496,10 +496,8 @@ func buildSkillContent(skill skillDefinition) string {
496496
b.WriteString("---\n")
497497
fmt.Fprintf(&b, "name: %s\n", skill.name)
498498
fmt.Fprintf(&b, "description: %s\n", skill.description)
499-
b.WriteString("allowed-tools:\n")
500-
for _, tool := range skill.allowedTools {
501-
fmt.Fprintf(&b, " - %s\n", tool)
502-
}
499+
b.WriteString("metadata:\n")
500+
fmt.Fprintf(&b, " io.modelcontextprotocol/tools: \"%s\"\n", strings.Join(skill.allowedTools, " "))
503501
b.WriteString("---\n\n")
504502
b.WriteString(skill.body)
505503
return b.String()

pkg/github/skill_resources_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ func TestBuildSkillContent(t *testing.T) {
4242
assert.Contains(t, content, "---\n")
4343
assert.Contains(t, content, "name: test-skill\n")
4444
assert.Contains(t, content, "description: A test skill\n")
45-
assert.Contains(t, content, " - tool_a\n")
46-
assert.Contains(t, content, " - tool_b\n")
45+
assert.Contains(t, content, "metadata:\n")
46+
assert.Contains(t, content, " io.modelcontextprotocol/tools: \"tool_a tool_b\"\n")
4747
assert.Contains(t, content, "# Test\n")
4848
}
4949

0 commit comments

Comments
 (0)