Background
Split from #40 based on this comment.
Peter Alexander (MCP Core Maintainer) suggested at the Feb 26 office hours that rather than having each server ship its own load_skill tool, clients should support model-driven resource loading directly — e.g., a built-in read_resource tool on the client side and a SDK-level list_skill_uris() method.
Existing implementations
Several community implementations already demonstrate this pattern:
- skillsdotnet by Peder Holdgaard Pedersen — Full client-side implementation in C# with
ListSkillsAsync, SkillCatalog, progressive disclosure via frontmatter, multi-server support, and dependency resolution. Covers discovery, loading, context injection, and a load_skill tool for model-driven access.
- skills-over-mcp by Keith Groves — Exposes skills as
skill:// MCP resources with index, lookup, and progressive disclosure patterns.
- my-cool-proxy — Gateway that wraps MCP servers and exposes "Gateway Skills" as MCP resources with progressive disclosure.
What's missing is adoption in a major open-source client — none of the above are integrated into clients with broad user bases.
Scope
Contribute or prototype client-side skill resource loading in a major open-source client such as VS Code. The implementation should:
- Connect to one or more MCP servers
- Call
resources/list and identify skill resources (by URI pattern, MIME type, or naming convention)
- Present discovered skills to the user (list with name/description)
- On selection, call
resources/read to fetch the full skill content
- Inject the skill content into the model context
- Optionally subscribe to
resources/subscribe for skill updates
The existing implementations above (especially skillsdotnet) can serve as reference designs. URI schemes and metadata conventions from #44 and #55 should inform how the client identifies skill resources.
Note: The URI-based approach is one option — #54 makes a case for custom _meta metadata instead of URI conventions. The prototype should evaluate both and document trade-offs.
Acceptance Criteria
References
Background
Split from #40 based on this comment.
Peter Alexander (MCP Core Maintainer) suggested at the Feb 26 office hours that rather than having each server ship its own load_skill tool, clients should support model-driven resource loading directly — e.g., a built-in read_resource tool on the client side and a SDK-level list_skill_uris() method.
Existing implementations
Several community implementations already demonstrate this pattern:
ListSkillsAsync,SkillCatalog, progressive disclosure via frontmatter, multi-server support, and dependency resolution. Covers discovery, loading, context injection, and aload_skilltool for model-driven access.skill://MCP resources with index, lookup, and progressive disclosure patterns.What's missing is adoption in a major open-source client — none of the above are integrated into clients with broad user bases.
Scope
Contribute or prototype client-side skill resource loading in a major open-source client such as VS Code. The implementation should:
resources/listand identify skill resources (by URI pattern, MIME type, or naming convention)resources/readto fetch the full skill contentresources/subscribefor skill updatesThe existing implementations above (especially skillsdotnet) can serve as reference designs. URI schemes and metadata conventions from #44 and #55 should inform how the client identifies skill resources.
Note: The URI-based approach is one option — #54 makes a case for custom
_metametadata instead of URI conventions. The prototype should evaluate both and document trade-offs.Acceptance Criteria
References