Use when packaging or delivering domain skills over MCP per SEP-2640: check that a skill package carries a conformant SKILL.md (kebab-case name, description), build the skill URI (skill:// namespace and path), and verify the MCP server exposes the delivery model (resources/read and directory listing behind the directoryRead capability). SEP-2640 serves skills as resources and stays an adapter over the agentskills.io content format, an emerging spec not yet stable. Trigger: SEP-2640, skills ov...
Scanned 9/27/2026
Install to Claude Code
npx -y skills add ashfordeOU/aero-agent-skills --skill skill-delivery --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Skill Delivery?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ashfordeou-skill-delivery)More formats (shields.io, HTML) on the badges page.
---
name: skill-delivery
description: "Use when packaging or delivering domain skills over MCP per SEP-2640: check that a skill package carries a conformant SKILL.md (kebab-case name, description), build the skill URI (skill:// namespace and path), and verify the MCP server exposes the delivery model (resources/read and directory listing behind the directoryRead capability). SEP-2640 serves skills as resources and stays an adapter over the agentskills.io content format, an emerging spec not yet stable. Trigger: SEP-2640, skills over MCP, skill delivery, skill URI, MCP resources, directory read, skill packaging, agentskills.io."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
- id: sep-2640
reference-only: true
gated: false
domain: cross-cutting
pack: cross-cutting
compatibility: "agentskills.io SKILL.md; any SKILL.md host (Claude Code, Hermes, OpenClaw)"
mcp_allowed:
- aero-agent-skills:read
- aero-agent-roles:read
mcp_blocked:
- worldintel
metadata:
domain: cross-cutting
subdomain: sep2640
tags: [sep-2640, skills-over-mcp, mcp, skill-delivery, resources, skill-uri]
version: 0.1.0
author: Aero Agent Skills
---
# SEP-2640 Skill Delivery (cross-cutting/sep2640/skill-delivery)
Use when the task is delivering skills over MCP per SEP-2640:
package conformance, skill URIs, and server readiness.
## Domain quick reference
- SEP-2640 (Skills-over-MCP, MCP working group) serves skills as
resources: skill:// URIs, resources/read, and directory listing
behind the directoryRead capability.
- The agentskills.io SKILL.md format remains the canonical content
form; SEP-2640 is an adapter layer for discovery and delivery.
- A deliverable package carries a conformant SKILL.md at its root:
kebab-case name and a description.
- Status: the SEP-2640 spec draft is not yet stable, but the Aero
Agent Skills delivery server (packages/aero-agent-skills/lib/mcp.js)
implements the resources model TODAY over skill:// URIs — reference
files under references/ are served too. Same for Aero Agent Roles
(role:// URIs), which ships as the separate `aero-agent-roles`
package rather than from this repository.
## Workflow
1. Check the skill package for conformance (SKILL.md present,
kebab-case name, description).
2. Build the skill URI from the namespace and skill path.
3. Verify the MCP server exposes the delivery model: skill URIs,
resources/read, and directory listing. The in-repo servers speak
newline-delimited JSON-RPC 2.0 over stdio (zero deps):
node packages/aero-agent-skills/bin/aero-agent-skills.js mcp
npx aero-agent-roles mcp # separate package, not in this repo
Register them with any MCP host (Hermes mcp_servers config,
`claude mcp add`, VS Code/Cursor/Windsurf .mcp.json) and call
resources/list + resources/read.
4. To read a skill's deep files, read the skill body first — the
server appends a `skill files:` footer listing references/,
scripts/, assets/ — then fetch a file at
skill://<family>/<pack>/<leaf>/references/<file>.
5. Pin the SEP-2640 revision and note the emerging status when you
build against the external spec; the in-repo server implements the
resources shape so it also works as a reference implementation.
## Pitfalls
- Shipping a package without a root SKILL.md.
- A server without directoryRead claiming directory discovery.
- Treating SEP-2640 as stable while the spec is still a draft.
- Using the MCP layer as the source of truth instead of the
SKILL.md files.
- Local-path shadowing: inside readResource, never name the local
URI variable `path` (it shadows node:path; use relPath).
- Reference reads must stay under the skill dir — reject `..`.
## Behavior contract (gate 3)
The package-conformance, URI, and readiness logic is exercised by the
gate 3 contract test: scripts/test_delivery.py against
scripts/delivery_logic.py (stdlib unittest, offline). Run:
python3 scripts/test_delivery.py
## Compliance
- SEP-2640 is an open specification; quote with citation and note the
status (emerging, not yet stable) per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!