Repository navigation
Unpin the Skills sample links and consolidate the frontmatter-verification docs - #1
Merged
girishkvs merged 2 commits intoOct 13, 2026
Conversation
The docs page pinned both sample links to the modelcontextprotocol#1864 head commit so they resolve before merge. After merge that points readers at a frozen PR commit; every other concepts page links samples under tree/main. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01QNCtb94vqDmohN9UWoGV3U
6b0870c clarified who verifies frontmatter, which the spec requires of hosts. The clarification was repeated across about ten API remarks, the docs page, and both sample READMEs. Keep it where a reader acts on it: - SkillVerifier: the host's obligation, how to meet it with SkillFrontmatter.Parse and JsonNode.DeepEquals, and the full-parser alternative. The client extensions, SkillFrontmatter and ReadSkillResourceAsync point there. - Skill.Frontmatter and IMcpSkillCatalog: the entry must match the file, and the SDK checks structure only. - McpServerSkill.Create with explicit frontmatter: what is still checked and what the caller owns when the reader stops at unsupported YAML. The other overloads refer to it. - Docs page: one responsibility table plus the existing sections, with the host example from 6b0870c kept. No behavior change; the meaning of every statement is unchanged. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01QNCtb94vqDmohN9UWoGV3U
5 tasks done
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.
Thanks for carrying modelcontextprotocol#1864 over, @girishkvs. I'm happy to consolidate on modelcontextprotocol#1856 and will close modelcontextprotocol#1864 in its favour. This PR targets your
skills_sep2640branch with two small follow-ups.What I checked
f3d028b7's tree (ba9234da) is identical to the Add the Skills extension (SEP-2640) as ModelContextProtocol.Extensions.Skills modelcontextprotocol/csharp-sdk#1864 headecb11e62, so nothing was dropped or rewritten.6b0870cbare right.skills/getcache hints: the stable spec does makettlMs/cacheScoperequired onGetSkillResult, and Add the Skills extension (SEP-2640) as ModelContextProtocol.Extensions.Skills modelcontextprotocol/csharp-sdk#1864 missed it.#comments after quoted and flow values,|2indentation indicators, flow-key classification) agrees with theyamlnpm parser (2.5.1, core schema).What this PR changes
Sample links back on
main(80f9a315). The docs page pinned both sample links to the Add the Skills extension (SEP-2640) as ModelContextProtocol.Extensions.Skills modelcontextprotocol/csharp-sdk#1864 head commit. That works before merge, but afterwards it points readers at a frozen PR commit. Every other concepts page links samples undertree/main.The frontmatter-verification caveat, said once per place it applies (
0d936156). The point is correct and the spec requires it of hosts, but6b0870cbrepeats it across about ten API remarks, the docs page and both sample READMEs, sometimes several times on one type. I kept it where a reader acts on it:SkillVerifier: the host's obligation, how to meet it withSkillFrontmatter.Parse+JsonNode.DeepEquals, and the full-parser alternative. The client extensions class,SkillFrontmatterandReadSkillResourceAsyncpoint there.Skill.FrontmatterandIMcpSkillCatalog: the entry must match the file, and the SDK checks structure only.McpServerSkill.Create(uri, JsonObject, files): what is still checked, and what the caller owns when the reader stops at unsupported YAML. The other explicit overload refers to it.McpServerSkill/ server via custom catalog / host). Your host verification example in "Consuming skills" stays as is.The meaning of every statement is unchanged; this only removes repetition (86 insertions, 146 deletions). Your sample
Program.cschange, which verifies frontmatter before displaying the file, is kept.No code changes. The Skills package builds clean with warnings as errors on all target frameworks, and all 470 Skills tests pass on net10.0.
One more thing for modelcontextprotocol#1856
The modelcontextprotocol#1856 description still describes the original PR (for example, it says client wrappers are not included), so a reviewer arriving there gets the wrong picture. The real summary is only in your comment. Feel free to reuse whatever is useful from the modelcontextprotocol#1864 description. The "Relationship to modelcontextprotocol#1856" and "Authorship" sections would need inverting, of course.
🤖 Generated with Claude Code