Context
In SEP-2093 discussion, @mgoldsborough raised a question about skills that are more than a single SKILL.md — directory structures with templates, reference docs, scoring rubrics, etc.:
skill-author/
├── SKILL.md
└── templates/
├── process.template.md
├── dialogue.template.md
└── audit.template.md
The emerging convention for distributing these has been to zip the directory as a .skill bundle with SKILL.md at the root. The question is: how should multi-file skills be delivered over MCP?
@pja-ant responded that .zip/.skill distribution is a real thing — the Agent Skills spec still defines a skill as a directory containing at least a SKILL.md, and the zip is just a distribution mechanism. He noted that whether to support zipped skill directories over MCP is a question for this IG, and that for SEP-2093 purposes, mimeType on the resource can distinguish format.
Questions to investigate
-
Zip bundles vs. individual resources: Should multi-file skills be delivered as a single .skill/.zip blob via resources/read, or should each file be an individually addressable skill:// resource (as proposed in the Skill URI Scheme)?
-
Client capabilities: If we support both, how does a client signal which delivery method it prefers? Can mimeType alone (per SEP-2093) handle this, or do we need additional convention?
-
Relationship to SEP-2093 listable resources: SEP-2093 introduces per-resource capabilities: { list: true } and URI-scoped resources/list. This could enable a skill directory to be a listable resource whose children are the individual files — potentially making zip bundles unnecessary for MCP delivery while still supporting them for other distribution channels (git, registry, .well-known).
-
Convention recommendation: Should the MCP Skills Convention take a position on this? E.g., "skills served over MCP SHOULD expose individual files as sub-resources; .skill bundles are for out-of-band distribution only."
Related
Context
In SEP-2093 discussion, @mgoldsborough raised a question about skills that are more than a single
SKILL.md— directory structures with templates, reference docs, scoring rubrics, etc.:The emerging convention for distributing these has been to zip the directory as a
.skillbundle withSKILL.mdat the root. The question is: how should multi-file skills be delivered over MCP?@pja-ant responded that
.zip/.skilldistribution is a real thing — the Agent Skills spec still defines a skill as a directory containing at least aSKILL.md, and the zip is just a distribution mechanism. He noted that whether to support zipped skill directories over MCP is a question for this IG, and that for SEP-2093 purposes,mimeTypeon the resource can distinguish format.Questions to investigate
Zip bundles vs. individual resources: Should multi-file skills be delivered as a single
.skill/.zipblob viaresources/read, or should each file be an individually addressableskill://resource (as proposed in the Skill URI Scheme)?Client capabilities: If we support both, how does a client signal which delivery method it prefers? Can
mimeTypealone (per SEP-2093) handle this, or do we need additional convention?Relationship to SEP-2093 listable resources: SEP-2093 introduces per-resource
capabilities: { list: true }and URI-scopedresources/list. This could enable a skill directory to be a listable resource whose children are the individual files — potentially making zip bundles unnecessary for MCP delivery while still supporting them for other distribution channels (git, registry,.well-known).Convention recommendation: Should the MCP Skills Convention take a position on this? E.g., "skills served over MCP SHOULD expose individual files as sub-resources;
.skillbundles are for out-of-band distribution only."Related
.skillartifact format