ext-skills/docs/related-work.md
Ola Hungerford c1fa4f315e
docs: add skills-extension-candidates and client-mcp-support trackers (#92)
* docs: add skills-extension-candidates tracker

Scaffold a candidates list for MCP servers, dev tools, SDKs, and
skills repositories that could adopt SEP-2640. Initial entries:
FastMCP 3.0 Skills, chrome-devtools-mcp, hf-mcp-server, Hugging Face
skills library, github-mcp-server (PR #2428 demo), Azure Skills Plugin.

Cross-link from related-work.md and add a row to the README docs
table.

* docs: add Issue/PR tracker column to candidates table

* docs: add client-mcp-support survey alongside candidates tracker

* docs: link Azure MCP Server source in candidates table

* docs: remove gemini-cli from client MCP support survey

* docs: verify hermes-agent, switch source refs to main-branch links, refresh takeaways

- Promote hermes-agent from first-pass to verified; note its per-server tool
  pattern (`mcp_{server}_read_resource` + `mcp_{server}_list_resources`) and
  confirm end-user docs exist
- Drop stale line numbers throughout; convert path refs to GitHub source-file
  links on `main` (commit-pinned URLs decayed once files moved)
- Goose: PR #8989 has landed, so describe current `(extension_name, uri)`
  required signature and drop the now-closed issue/PR tracking
- Takeaways: collapse to three implementation patterns (Goose now fits the
  `(server, uri)` bucket), fix open-source count to fourteen, drop the
  smolagents name-drop (not in survey), add strands-agents alongside mastra
  for the internal-SDK-only pattern, and reframe the signature recommendation
  around server-resolution reliability rather than URI portability

* docs: verify remaining first-pass clients, flip cline/Roo-Code to Yes

Verified adk-python, agent-framework, crewAI, mastra, cline, Roo-Code
against local source clones. Two corrections to prior state:

- cline and Roo-Code both expose access_mcp_resource(server, uri) as a
  model-facing tool via McpHub.readResource. Flipped from No to Yes.
- adk-python's load_mcp_resource takes resource_names: array[string] in
  a single call (not two-shot); opt-in via use_mcp_resources flag.

Headline count updated from six to eight of fourteen open-source clients
satisfying #2527. Cross-cutting observations and takeaways adjusted for
the new (server, uri) family members and the four-pattern signature
breakdown. Trust-model list extended.

* docs: add Figma and Adobe MCP as SEP-2640 testing candidates

* docs: update FastMCP 3.0 Skills entry with detailed notes on SEP-2640 compliance

* docs: drop unconfirmed Cursor SEP-2640 entry, track latest SEP-2640 wire-contract PRs

Remove the Cursor row + deep dive (reported WIP never confirmed). Add the
in-flight PRs realigning to the 2026-06-05/06-09 SEP-2640 schema (frontmatter +
archives[] index, resources/directory/read): hf-mcp-server#174, fast-agent#825,
huggingface/skills#172.

* docs: add Slack (interested) and Bloomberg (internal use) as SEP-2640 candidates

* docs: remove archived Roo-Code from client survey, update strands repo to harness-sdk

* docs: re-verify SEP-2640 implementations against current upstream main

Both reference implementations have migrated to the July 2026 v1 shape,
verified against fresh clones rather than the prior June commit pins:

- hf-mcp-server (d794b10, v0.4.6): skills/list + skills/get, per-file
  {uri,digest} resources manifest, directoryRead:true, no index.json or
  archives. Migrated in #219 (merged 2026-08-03). Also records the
  snapshot/TTL model and HTTP-transport-only constraint.
- fast-agent (79b903c, 0.10.1): pins SEP-2640 revision d7490ec, treats
  legacy index.json skill-md/archive entries as unsupported. Requires
  --prerelease=allow (pins fastmcp-slim 4.0.0b1), per @evalstate.

Corrects the earlier note claiming implementations lagged the SEP: the
#174/#825/#172 round merged 2026-06-19 and was never in flight, and a
second realignment followed the v1 rework.

Also fixes drift found while re-checking fast-agent's resource tool:
smart_agent.py is gone (now core/harness_tools.py), get_resource is
opt-in via harness_tools (default False, was unconditional), and
server_name is now optional - the one surveyed client where the model
may omit server identity.

Runtime skill loading is still unshipped; #816 remains open.

🦉 Generated with [Claude Code](https://claude.com/claude-code)

* docs: track SEP revision 0eb05fe and add mcpkit to the candidates tracker

The SEP moved from d7490ec to 0eb05fe (2026-08-05). The delta is
editorial for the wire contract -- skills/list, skills/get, and the
per-file resources manifest are unchanged -- so d7490ec-pinned
implementations stay compatible. Records what it does change: a soft
reg-name constraint on the first skill-path segment, the skill root URI
fixed as skill://<skill-path> with no trailing slash, whether skills/get
carries ttlMs/cacheScope reopened, and normative host obligations in the
security section.

Adds mcpkit (panyam/mcpkit, Go, v0.3.0) from #118 as a candidate. It
implements the pre-v1 index.json catalog shape with per-file digests, so
the ecosystem is now split across draft revisions rather than uniformly
caught up.

🦉 Generated with [Claude Code](https://claude.com/claude-code)

* docs: refine mcpkit entry — deliberate tracking, partial v1 migration

Checked mcpkit's issues and PRs rather than inferring alignment from
code shape. Its lag is a tracked decision, not drift:

- #1185 (merged 2026-08-04) implements origin-tagging and per-origin
  resolve citing SEP L179/L183/L185 -- the host obligations 0eb05fe made
  normative -- so it is already on v1 for the security section. #1187
  adds a SEP-2640 security/conformance harness as a WG demo.
- #780 is an explicit index-schema tracking issue that has absorbed the
  archives removal and the resources:[{uri,digest}] direction but waits
  on WG confirmation; its conformance fork pins provenance at 556154c.
- The carrier change is still unbooked: nothing references skills/list
  or skills/get.
- Archives are kept as a non-spec extended surface rather than deleted,
  unlike fast-agent -- a counter-case for whether deferring a feature
  removes it from the ecosystem.

Sharpens the callout accordingly: the draft split runs within an
implementation, not only between them, so "which draft does X
implement" often has no single answer.

🦉 Generated with [Claude Code](https://claude.com/claude-code)
2026-08-28 09:49:18 -07:00

11 KiB

Related Work

SEPs and Proposals

Proposal Venue Description
SEP-2640 (Skills Extension) MCP Spec This WG's proposed extension: skills served over MCP using the Resources primitive and skill:// URI scheme (v1 baseline text)
PR #2527 MCP Spec Recommend clients expose resource read to models — prerequisite for the resources-based skills approach
skills.json format proposal MCP Registry Skills metadata in registry schema
SEP-2093 MCP Spec Resource Contents Metadata and Capabilities: scoped resources/list, per-resource capabilities, resources/metadata endpoint — rejected (labeled upstream)
SEP-2076 MCP Spec Agent Skills as a first-class MCP primitive — closed (2026-02-24, without merge)

See also skills-extension-candidates.md for a tracker of MCP servers, dev tools, SDKs, and skills repositories that are candidates for adopting the skills extension.

Working Group Member Implementations

Work by WG leads and active participants that directly implements the group's core patterns: SKILL.md with YAML frontmatter, skill:// resource URIs, and progressive disclosure via MCP primitives.

Implementation Author URL Notes
skilljack-mcp Ola Hungerford github.com/olaservo/skilljack-mcp SKILL.md, skill:// resources, tools, and prompts; progressive disclosure (index→skill→files); file watching for dynamic updates; audience annotations
skills-over-mcp Keith Groves github.com/keithagroves/skills-over-mcp SKILL.md, skill:// resources with progressive disclosure (index→skill→documents); Zod validation against Agent Skills spec
skillsdotnet Peder HP github.com/PederHP/skillsdotnet C# implementation: SKILL.md, skill:// resources, load_skill tool for progressive disclosure, manifest with file hashes; published on NuGet; compatible with FastMCP 3.0

Alternative Approaches

Work by WG members and MCP maintainers that explores skills over MCP through different technical approaches than the core SKILL.md / skill:// pattern.

Implementation Author Organization URL Notes
skillful-mcp Kurtis Van Gent Google Cloud github.com/kurtisvg/skillful-mcp Progressive disclosure via 4 lightweight tools (list_skills, use_skill, read_resource, execute_code); wraps downstream MCP servers as skills using mcp.json config rather than SKILL.md; sandboxed code execution via Monty
Astronomer agents Kaxil Naik Astronomer github.com/astronomer/agents Production skills catalog for Apache Airflow (blueprint, migration, warehouse-init); uses SKILL.md frontmatter but distributed via plugin marketplace rather than MCP resources; demonstrates real-world skills adoption at scale
mcpGraph skill Bob Dickinson TeamSpark.ai github.com/TeamSparkAI/mcpGraph Declarative YAML-based tool orchestration engine (directed graphs of MCP tool calls); includes SKILL.md files as documentation; explores a complementary "no-code composition" approach to skill authoring

Other Community Implementations

External projects building on skills patterns or integrating skills into frameworks.

Implementation Author URL Notes
FastMCP 3.0 Skills FastMCP gofastmcp.com/servers/providers/skills Native skills provider (#2694)
PydanticAI Skills PydanticAI pydantic/pydantic-ai#3780 Agent skills with tools-based approach
mcp-execution bug-ops github.com/bug-ops/mcp-execution Compiles MCP servers into skill packages; --dry-run preview
mcp-cli philschmid github.com/philschmid/mcp-cli Wraps MCP servers as CLI for progressive disclosure
my-cool-proxy karashiiro github.com/karashiiro/my-cool-proxy MCP gateway with skills as resources via Lua scripts; result offloading, session persistence (v1.6.x)
NimbleBrain skills repo NimbleBrain github.com/NimbleBrainInc/skills Monorepo with .skill artifact format
NimbleBrain registry NimbleBrain registry.nimbletools.ai Registry with skill metadata support
NimbleBrain skill:// servers NimbleBrain github.com/NimbleBrainInc skill:// resource colocation examples: mcp-ipinfo, mcp-webfetch, mcp-pdfco, mcp-folk, mcp-brave-search
Kiro powers directory Kiro github.com/kirodotdev/powers Plugin directory bundling skills + MCP servers; active catalog (AWS, GCP migration, SAM, etc.)
mcpkit (ext/skills) Sri Panyam github.com/panyam/mcpkit Go SDK, server + host: SKILL.md, skill:// resources, progressive disclosure (skill://index.json catalog + host load_skill tool); per-supporting-file digests with verified reads, resource-fetch size + per-server byte budget, resources/directory/read; no code-execution surface (enforced by a build-failing test); released in v0.3.0

Projects that illustrate the problem space or use adjacent patterns.

Project Author URL Notes
chrome-devtools-mcp Google (ChromeDevTools) github.com/ChromeDevTools/chrome-devtools-mcp Real-world example of the problem: skills/ folder requires separate install path
Strands Agents MCP server AWS github.com/strands-agents/mcp-server Docs-as-MCP: TF-IDF search + doc fetch
AWS MCP server AWS docs.aws.amazon.com/aws-mcp/… retrieve_agent_sop (skills) + call_aws (tool)

Specifications and Standards

  • Agent Skills Standard: agentskills.io
  • Agent Skills Discovery RFC v0.2.0 (Matt Silverlock / Cloudflare): github.com/cloudflare/agent-skills-discovery-rfc — Domain-level skill discovery using /.well-known/agent-skills/ (RFC 8615). Defines index.json with progressive disclosure, skill-md and archive distribution types, $schema versioning, SHA-256 content integrity, and archive safety requirements. Complementary to MCP-level discovery: .well-known answers "what skills does this domain publish?" while MCP answers "how does the agent consume them at runtime?"
  • Skill dependency declaration: agentskills/agentskills#110 — Discusses how skills should declare their tool/server dependencies
  • Apache Airflow AIP-91 (MCP integration): cwiki.apache.org/…/AIP-91+-+MCP

Integrity, Content Addressing, and Attestation

Related work on establishing and verifying the integrity, authenticity, and provenance of skill resources.

  • skill-set format (draft) (Harry Martin / flocker.md): skill-set.md — Transport-agnostic manifest specification and CLI for named, versioned collections of skills assembled from disparate sources. Defines deterministic whole-skill content hashes and set-level roll-ups, lockfiles, receipt-time content verification, and optional out-of-band URL-fragment pins. Complementary to SEP-2640: provides prior art for deriving a single content address from a complete {uri, digest} resource set and for future whole-skill or multi-skill attestations. See the reference directory for an immutable example.

Background Reading

  • Anthropic's guidance on progressive disclosure: Equipping agents for the real world with agent skills
  • "MCP and Skills: Why Not Both?" (Kurtis Van Gent): kvg.dev/posts/20260125-skills-and-mcp/ — Frames MCP (connectivity) and Skills (context saturation) as complementary; discusses hybrid approaches
  • "Skills Over MCP" (Angie Jones, Agentic AI Foundation): aaif.io/blog/skills-over-mcp/ — "Ship the manual with the product": bundle Agent Skills with MCP servers so agents get both tools and instructional guidance. Describes the working group's proposal (SEP-2640) — skill:// resources, a skill://index.json catalog for lightweight discovery, and progressive disclosure of full instructions on demand
  • "Progressive Discovery in MCP, Part 2" (Sam Morrow, GitHub MCP Server maintainer): sam-morrow.com/blog/progressive-discovery-in-mcp-part-2 — Advocates skills-based progressive discovery to solve tool bloat: skill:// resources, deferred tool loading via provider mechanisms (Anthropic tool_reference, OpenAI defer_loading), and the io.modelcontextprotocol/tools metadata namespace. Grounded in lessons from GitHub's MCP Server (100+ tools, 12M weekly calls)
  • Conceptual spec visualization (Keith Groves): enact-465fb1fc.mintlify.app/specification/draft/server/skills — "What if" exploration
  • llms.txt convention: llmstxt.org — Convention for making documentation LLM-accessible; used by MCPDoc in a way similar to how skills work
  • AWS Agent SOPs: docs.aws.amazon.com/…/agent-sops — Pre-built operational workflows as skill-like guidance
  • Video background: youtube.com/watch?v=CEvIs9y1uog