Commit graph

83 commits

Author SHA1 Message Date
Ola Hungerford
68b55ac06b
docs: add Agent Plugins vs skills-over-MCP analysis (#120)
* docs: add Agent Plugins vs skills-over-MCP analysis note

* docs: refine competition analysis between Agent Plugins and skills-over-MCP

* docs: address whether Agent Plugins makes SEP-2640 unnecessary
2026-08-25 08:19:49 -07:00
hcjmartin
f1f66fa7f8
docs: add integrity and verification related work (#123)
* docs: add skill-set to related work

Adds skill-set under Specifications and Standards as related work for deterministic whole-skill and set-level hashing, receipt-time verification, and out-of-band content pins.

* docs: add integrity and verification section

Move skill-set from Specifications and Standards into a new   resource integrity and verification section.
2026-08-17 09:36:52 -07:00
Aditya Kumar
967120e732
docs: add SEP-2640 rationale (#121) 2026-08-11 10:44:34 -07:00
Ola Hungerford
9f55cd3499
docs: sync SEP copy with upstream commit 0eb05fe (#119)
Re-syncs docs/sep-draft-skills-extension.md from the canonical
sep/skills-extension branch (Apply suggestions from code review,
2026-08-05) and updates the pinned commit reference in the header.
2026-08-04 20:47:27 -07:00
Sri Panyam
613fd54106
Adding an alternative community SDK supporting skills (#118) 2026-08-03 19:19:53 -07:00
Ola Hungerford
c00ca72d94
docs: sync SEP copy with v1 and add AGENTS.md (#117)
* docs: sync repo SEP copy with canonical v1 text

The repo-local copy of SEP-2640 had drifted well behind the canonical
text on the sep/skills-extension branch, which was a source of
confusion: it still specified the well-known skill://index.json
resource and predated skills/list, skills/get,
resources/directory/read, nested skills, and per-file digests.

Replace the body with a verbatim copy of the canonical SEP as of
d7490ec (2026-07-15) and swap the stale "not actively maintained"
notice for a disclaimer that states what this file now is: a synced
snapshot, re-synced by overwriting rather than hand-editing, with
review on the upstream PR and anything beyond v1 raised as a PR in
this repository.

Also drop "working draft" from the README and related-work references
to this file, since it is no longer where the text is drafted.

* docs: frame the SEP copy as the v1 baseline for decision-log proposals

The previous note told readers not to propose changes here at all, which
is the wrong instruction: the WG does want to propose beyond v1, just in
this repo rather than on the upstream SEP.

Reframe the file as the v1 baseline and route proposals through the
existing decision log rather than a parallel mechanism. decisions.md
already carries the ADR-lite format, the Proposed/Accepted/Superseded
status idiom, and the precedent for consolidating a version's scope into
one record (the 2026-07-16 v1 entry), so a change beyond v1 is simply the
next dated entry. The note also defines the marker that ties an amended
section back to its record, so v1 text stays distinguishable from
accepted deltas as the document accumulates them.

Align the README and related-work references to the same framing.

* docs: mark the 2026-04-16 URI decision superseded in part

Every other decision the v1 scope-down changed carries a forward pointer
in its status line (2026-04-19, 2026-06-02, 2026-06-05, 2026-06-09). The
2026-04-16 URI entry was left as plain Accepted while three of its
bullets no longer hold, so it reads as current guidance for index.json
enumeration and the no-nesting rule.

Give it the same treatment, naming which bullets changed and which parts
of the URI convention carry forward, so the entry stays useful as a
record of the structure it settled.

* docs: add AGENTS.md and make the SEP PR link prominent

Readers were landing on the repo-local SEP copy and taking it for the
spec, which is how the stale version misled people in the first place.
Say plainly, in the places they land, that the v1 spec text lives on
modelcontextprotocol#2640:

- README: a source-of-truth line at the top of the link block, above
  the charter.
- The baseline copy: lead the header note with the PR rather than
  mentioning it mid-paragraph.
- AGENTS.md: state the rule for agents working in this repo, along with
  how to propose beyond v1 via the decision log and the repo's markdown
  conventions.

CLAUDE.md is a one-line pointer to AGENTS.md rather than a symlink, so
it resolves on Windows checkouts too, where symlinks need Developer Mode
and would otherwise land as a stub.

* docs: use the @AGENTS.md import in CLAUDE.md

A markdown link is not an import — Claude Code would have loaded the
pointer line and never expanded AGENTS.md into context. The documented
syntax is @path, which the docs specifically recommend over a symlink
on Windows, where symlinks need Administrator privileges or Developer
Mode.

The maintainer note is a block-level HTML comment, which Claude Code
strips before injecting the file, so it costs no context while staying
visible to anyone opening the file.

https://code.claude.com/docs/en/memory#agents-md

* docs: tighten AGENTS.md to the source-of-truth rule

Cut the project overview and conventions sections and lead with what an
agent most needs to get right: the v1 spec text is on the PR, and the
copy here is only as current as its pinned commit. CONTRIBUTING.md
already covers participation and process.
2026-08-02 20:56:31 -07:00
Ola Hungerford
64db7eaf72
Add threat model doc for skills extension (#108)
* docs: add threat model for skills over MCP (SEP-2640)

Add docs/threat-model.md covering the delivery and host-handling layer
for skills served over MCP. Recommends the install (materialize to a
host-private, immutable store) path as the baseline over load-on-demand,
enumerates non-archive threats (T1-T7) with a full per-fixture mapping to
the dangerous-skills-mcp corpus and to SEP-2640 clauses, folds in the
mcpkit reference-implementation findings, and keeps the archive threat
model as an appendix (archives are slated for removal from this version).

Index the new doc in the README repository-contents table.

🦉 Generated with Claude Code

* docs: refine threat model by removing out-of-scope content and clarifying core boundaries

* docs: reconcile threat model with current SEP-2640 revision

Update the threat model to track the canonical sep/skills-extension
revision instead of the stale local working draft, and address review
feedback on PR #108.

- Retire skill://index.json terminology in favor of skills/list +
  skills/get and the per-file `resources` digest set.
- Mark the B1 supporting-file-digest gap closed: `resources` now
  enumerates every file with a digest and unlisted reads are
  verification failures. Flip adv-supporting-file-digest-swap status.
- Reframe archives as a deferred feature (SEP Appendix: Deferred
  Features); mark archive fixtures Deferred and `refunds` Resolved
  (skills are keyed by uri, not name).
- Add T8 cross-origin name-collision impersonation, T9 nested-skill
  consent, and a directory-walk subtree-escape row under T5, each
  flagged as not yet exercised by the corpus.
- Add a Scope note on skill-catalog metadata confidentiality.
- Add the missing "Residual gaps and future directions" section
  (previously referenced but absent), covering the unsigned-digest
  trust-anchor gap and the third-party attestation direction.

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

* docs: add discovery-surface grounding and enumeration-exhaustion threat

- Add a "Protocol surface" paragraph to the system model naming
  skills/list, skills/get, and resources/directory/read and what each
  exposes, so threats can reference them against a stated baseline.
- Add enumeration/pagination exhaustion to T6: a server returning an
  unbounded skills/list or resources/directory/read stream via an
  endless nextCursor exhausts the host at discovery time, before any
  file is fetched. SEP bounds neither page nor entry count; flagged as
  no corpus fixture yet. Reflected in the fixture map and residual gaps.

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

* docs: copy-edit threat model to reduce em-dash and antithesis density

Style-only pass over prose I wrote. No change to any technical claim,
normative keyword, fixture reference, or table. Thins the em-dash habit
(convert appositive/dramatic dashes to periods, commas, or parens) and
de-duplicates the "X, not Y" closer, keeping only the load-bearing
contrasts. Definition-list and reference-list dashes left as-is.

🦉 Generated with [Claude Code](https://claude.com/claude-code)
2026-07-29 21:25:45 -07:00
Ola Hungerford
3983f888f1
Log decisions around simplifying the V1 SEP and adding skills/get (#110)
* docs: record SEP-2640 v1 scope-down and skills/get as decision records

Consolidates the July 2026 rework of SEP-2640 (post June 24 CM deferral
and June 30 WG scoping decision) into a single ADR for group review:
archives removed, skills/list replacing skill://index.json, per-file
resources manifest, optional directory read, non-privileged schemes,
name-collision handling, and nested-skill consent gating.

Adds a separate ADR for the skills/get method proposed by @aditya-scio
in SEP review, and updates the status lines of the four prior entries
this rework supersedes or amends (2026-04-19, 2026-06-02, 2026-06-05,
2026-06-09).

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

* docs: add Discord design-thread references to v1 scope-down ADR

Links Peter's July 8 change announcement, the supporting-file digests
thread (the design discussion behind the per-file resources manifest),
and Sambhav's June 24 method-family sketch that prefigured skills/list
and skills/get.

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

* docs: refine context and rationale for skills/get method in SEP-2640 decision
2026-07-29 21:16:44 -07:00
Ola Hungerford
f9df63baff
Feature/notes and resources (#106)
* docs: link Sam Morrow's Progressive Discovery in MCP (Part 2)

* docs: link Angie Jones's "Skills Over MCP" article

* docs: mark open-questions and experimental-findings as not actively maintained

* docs: soften approaches doc and mark SEP working draft as not actively maintained
2026-06-27 19:55:43 +01:00
Sambhav Kothari
5c83a98b49
docs: add ADR for directory enumeration via resources/directory/read (#100)
Records the 2026-06-09 decision (SEP-2640) to add a dedicated
resources/directory/read method for listing directory-like resource
children, identified by the inode/directory mimeType and returning a
paginated, metadata-only Resource list. Captures the rejected
alternatives (overloading resources/read by mimeType; adding a uri
param to resources/list) and the rationale for a dedicated verb.

Status: Proposed.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 10:46:19 +01:00
Ola Hungerford
8c116b577b
docs: update decision log to reflect accepted statuses for filesystem and archive implementation details (#97) 2026-06-09 18:27:26 +01:00
Johannes Wachter
fff35ee496
docs(sep): sync _meta reverse-domain prefix sentence from SEP-2640 (#98)
The working draft's Resource Metadata section omitted the sentence
recommending the io.modelcontextprotocol.skills/ prefix for _meta keys,
which is present in the submitted SEP-2640. Bring the repo-local copy
back in line with the PR.
2026-06-09 06:46:35 -07:00
Ola Hungerford
7bf5c7d397
docs: reinstate digest field in skill://index.json for caching and integrity (#96) 2026-06-03 17:37:28 +01:00
Ola Hungerford
0cefd96fa8
docs: add ADR for filesystem as host-side implementation detail (#82)
* docs: add ADR for filesystem as host-side implementation detail

Record the proposed decision that skills served over MCP MUST function
without a local filesystem, while hosts MAY materialize resources as an
optimization, with unified resolution semantics required either way.

* docs: link companion archive distribution ADR (#83)

* docs: update ADR date to 2026-04-19

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: olaservo <16480113+olaservo@users.noreply.github.com>
2026-05-02 18:21:33 -07:00
Ola Hungerford
2ce75d9efa
Formalizing archive decision (#83)
* docs: add decision record for archive distribution type

Formalizes the April 18 decision to permit type: "archive" entries in
skill://index.json as a server-side packaging optimization, reinstating
symmetry with the Agent Skills discovery RFC.

* docs: correct decision record date to 2026-04-19

* docs: add permissions/symlinks motivation and issue #61 reference
2026-05-02 15:01:28 -07:00
Ola Hungerford
d41aa0694c
docs: fix chrome-devtools-mcp links to point to ChromeDevTools/chrome-devtools-mcp (#91)
The links pointed to anthropic-quickstarts, but the project lives at
github.com/ChromeDevTools/chrome-devtools-mcp. Also corrects the author
attribution from Anthropic to Google (ChromeDevTools).
2026-04-25 17:06:38 -07:00
Ola Hungerford
02c486e162
docs: link SEP-2640 across repo and tidy Related Work table (#90)
* Update documentation for Skills Extension SEP and related resources

- Revised links and descriptions in README.md to reflect the submitted Skills Extension SEP (PR #2640).
- Updated current status in approaches.md to indicate submission of the Skills Extension SEP.
- Clarified tracking information in open-questions.md regarding the Skills Extension SEP submission.
- Adjusted related work in related-work.md to include the Skills Extension SEP and mark a rejected proposal.
- Changed status in sep-draft-skills-extension.md to 'submitted' and updated author information.
- Enhanced skill-uri-scheme.md to indicate the incorporation of feedback into the submitted Skills Extension SEP.

* Move rejected SEP-2093 to the bottom of SEPs and Proposals table

Keeps the list active-proposals-first so readers aren't distracted by the
struck-out entry.

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

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Mark SEP-2076 as closed and move to the bottom of proposals table

PR #2076 was closed without merge on 2026-02-24.

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

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Use SEP-2640 naming convention per MCP SEP guidelines

Per https://modelcontextprotocol.io/community/sep-guidelines, a submitted
SEP is named "SEP-<PR-number>". Rename in-repo references from "PR #2640"
to "SEP-2640" and update the draft doc heading from the "SEP-0000"
placeholder to "SEP-2640".

Also mark Approach 1's SEP-2076 status as closed (2026-02-24, no sponsor
found); approaches.md still listed it as "Draft, seeking sponsor".

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

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Fix SEP-2076 closure rationale

Closure followed the WG's decision to first explore a convention-based
approach using existing primitives, not a sponsor issue.

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

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Refine SEP-2640 description in README to clarify proposal details

* Link issues and meeting notes in Open Questions README row

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

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Surface SEP-2640 in README and related-work table order

README: move the Skills Extension SEP from the bottom of the Repository
Contents table to sit after Approaches, matching the narrative flow
(framing → options → proposal → supporting material).

related-work.md: lead the SEPs and Proposals table with SEP-2640 (this
WG's headline proposal), followed by the prerequisite PR #2527.

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

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Add 'Open work' link to README header pointing to open PRs

Signals that alternative proposals, decisions, implementations, and
other in-flight contributions are welcome — SEP-2640 is one direction,
not the only one.

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

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 04:52:35 -07:00
Ola Hungerford
924a356da5
Backfilling uri decision (#84)
* docs: log URI scheme decision for skill resources

Backfills a decision-log entry for the `skill://` URI convention
adopted via PR #70. Captures the convergence signal, the key
reversal (decoupling path from skill name), and notes the month-long
open-review period on GitHub and in Discord.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: update rationale for URI scheme decision to clarify discussion context

* docs: broaden URI scheme decision to cover domain-specific schemes

Acknowledges implementations that used domain-specific URI schemes
alongside skill://, and frames the adopted pattern as a recommended
convention rather than a universal rule.

* docs: align URI scheme decision with SEP draft's final position

Updates the 2026-04-16 URI scheme entry to reflect where the draft SEP
actually landed rather than the survey's earlier recommendation:

- Final path segment MUST equal the skill's frontmatter name (not fully
  decoupled). Prefix segments remain server-chosen.
- Enumeration is via the well-known skill://index.json resource, not
  scoped resources/list.
- Domain-specific URI schemes are permitted when indexed, which the
  earlier wording placed in Context as observed convergence rather than
  as an allowed Decision point.
- No-nesting phrasing aligned with the SEP ("descendant directory of
  a skill").

Context also restored to the survey's four-implementations framing.

* docs: restore Context framing on URI scheme decision

Restores the earlier "Several...etc." wording and "Resources to
represent skills" framing in Context; keeps the SEP-structural edits
(final-segment-equals-name, index.json, domain-specific schemes).

* docs: calibrate enumeration wording to match SEP SHOULD level

The SEP specifies servers SHOULD expose skill://index.json, with an
explicit escape hatch for unenumerable catalogs. Previous wording used
RFC 2119 OPTIONAL which understated the recommendation. Also notes
alignment with the Agent Skills well-known URI index format and folds
template entries into the enumeration bullet where they belong.

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 21:19:42 +01:00
Peter Alexander
0e338dbc07
Add draft SEP for Skills Extension (#69)
* Add draft SEP for Skills Extension

Pre-submission Extensions Track SEP defining the skill:// resource
convention: skills as MCP resources following the Agent Skills spec,
discovered via scoped resources/list (SEP-2093). Includes implementation
guidelines for host-provided read_resource tools, virtual-filesystem
unification with local skills, and SDK convenience wrappers.

* Relax URI structure and make discovery optional

- skill-path may be arbitrarily nested and need not match the
  frontmatter name; the URI is a locator, identity lives in SKILL.md
- resources/list(uri="skill://") is SHOULD not MUST; response is
  SKILL.md entries only, supporting files excluded
- resource templates are MAY, framed as user-facing (completion API)
- direct URI readability is the baseline; hosts must support loading
  skills they have never seen listed
- SEP-2093 dependency is now conditional on whether the server
  supports enumeration

* Constrain final path segment to match frontmatter name

The previous draft fully decoupled <skill-path> from the skill name,
which meant the name could not be read from the URI without fetching
and parsing SKILL.md.

Now: the final segment of <skill-path> MUST equal the frontmatter
name. Preceding segments remain an optional server-chosen prefix for
organizational hierarchy. This keeps the hierarchy capability while
making the skill name recoverable from the URI alone.

* Replace scoped resources/list enumeration with skill://index.json

Enumeration now uses a well-known skill://index.json resource whose
format mirrors the Agent Skills .well-known discovery index: same
$schema, same skills[] shape. Two deltas from the HTTP index: url
holds the full skill:// URI, and digest is omitted (transport handles
integrity over an authenticated connection). type MUST be "skill-md"
since archives don't apply when every file is individually
addressable.

This drops the SEP-2093 dependency entirely — the extension now has
zero protocol dependencies beyond resources/read.

Also includes review feedback from PR #69:
- Security: skill content MUST be treated as untrusted input; hosts
  MUST NOT honor local-execution mechanisms (hooks, scripts) without
  explicit opt-in; "more harm" softened to "as much harm"; user
  inspection SHOULD be supported
- Cite agentskills.io parent-directory rule for the final-segment
  constraint
- No-nesting constraint reworded per cliffhall suggestion
- Abstract mentions progressive disclosure as delegated concern
- Hosts section: SHOULD load frontmatter into context, SHOULD surface
  skills for user enable/disable
- read_resource signature marked illustrative
- "community has explicitly pushed back" softened

* Relax skill:// scheme to SHOULD; add urlTemplate to index

The index is now the authoritative record of which resources are
skills, so the scheme prefix is no longer required for identification.
Servers SHOULD use skill:// but MAY serve skills under a
domain-native scheme (github://, etc.) provided they're listed in
skill://index.json. Structural constraints (final segment = name,
explicit SKILL.md, no nesting) apply regardless of scheme.

Index entries now carry exactly one of url or urlTemplate. type stays
"skill-md" either way — it describes what the resolved URL points to,
not whether the entry is parameterized. Template entries omit name.
Servers SHOULD register the same urlTemplate as an MCP resource
template so the completion API works.

The Resource Templates subsection is deleted; templates are now an
index feature (a "template entry") rather than a parallel discovery
mechanism. Discovery is down to two mechanisms: the index and server
instructions.

skill://index.json remains the one fixed URI.

* Use type:"mcp-resource-template" for template index entries

Template entries now reuse the url field with type as the
discriminator, rather than a separate urlTemplate field. This is
consistent with the upstream schema where type already discriminates
how to interpret url (skill-md vs archive). The mcp-resource-template
type is namespaced so upstream consumers skip it safely per the
existing unrecognized-type rule.
2026-04-23 12:26:34 -07:00
Ola Hungerford
4adfeaf26d
Refactor related work table to simplify columns (#89) 2026-04-21 09:50:30 -07:00
Ola Hungerford
8d60258eaa
docs: transition from Interest Group to Working Group (#81)
* docs: transition from Interest Group to Working Group

Follow-up to modelcontextprotocol/modelcontextprotocol#2586, which
converted the charter from IG to WG.

- Rename Interest Group → Working Group in headings and prose
- Update Discord (#skills-over-mcp-wg) and Discussions
  (meeting-notes-skills-over-mcp-wg) references; channel renames
  coordinated separately
- CONTRIBUTING.md: align meeting norms with MCP group governance
  (7-day advance notice, meet.modelcontextprotocol.io) and rewrite
  Decision-Making to reflect WG authority (lazy consensus → formal
  vote → escalation), linking to the charter's Authority table
- Keep CODEOWNERS team at skills-over-mcp-ig pending access-repo
  rename; TODO comment added
- decisions.md: update present-tense preamble, log the IG → WG
  transition as a new ADR entry, and preserve historical entries

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(contributing): link to governance/charter instead of duplicating

Meetings and Decision-Making sections now point to the MCP group
governance doc and charter for canonical rules, keeping only the
repo- or group-specific bits (notes location, coordination
channels, outputs list). Also drops a leftover "rough consensus"
IG-era phrase in the Decision Log guidelines.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(codeowners): fix sentence fragment in default-owner comment

"Has day-to-day governance" read as an incomplete sentence and
overstated what CODEOWNERS actually encodes (review routing, not
governance). Replace with a direct one-liner.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 14:27:27 -07:00
Peter Alexander
71fc13af51
Update URI scheme proposal to decouple path from skill name (#70)
Aligns the proposed convention with the draft SEP:

- skill-path is a locator of one or more segments, not the skill name;
  identity lives in SKILL.md frontmatter
- authority component is the first path segment by RFC 3986 mechanics
  but carries no special semantics
- add no-nesting constraint (SKILL.md cannot be ancestor of another)
- resource templates are MAY and primarily user-facing via completion
- enumeration via resources/list is optional; clients must not treat
  an empty list as proof of absence
- add nested-path examples throughout

The survey section is unchanged; it's historical record.
2026-04-15 20:24:30 -07:00
Ola Hungerford
8a6ad39962
Update docs to reflect convention-to-SEP evolution; link to charter (#78) 2026-04-15 10:40:30 +02:00
Ola Hungerford
045aa21f77
Rename section 'Open SEPs and Proposals' to 'SEPs and Proposals' (#77) 2026-04-13 17:52:47 -07:00
Ola Hungerford
b5c70cbbd4
Reorganize related-work.md by contributor role and add skillful-mcp (#76)
* Reorganize related-work.md to separate IG member work from community and ecosystem

The flat implementations list mixed IG facilitator/participant work with
community adoptions and tangentially related ecosystem projects, making it
hard to see which implementations are actively shaping the group's direction.

Changes:
- Split "Implementations" into "IG Member Implementations", "Community
  Implementations", and "Related Ecosystem Work" sections
- Add Organization column to IG member table for clearer attribution
- Add skillful-mcp (Kurtis Van Gent / Google Cloud) as IG member impl
- Update my-cool-proxy attribution to Jack Tysoe / Kong
- Split "External Resources" into "Specifications and Standards" and
  "Background Reading"
- Move Cloudflare RFC from Open SEPs to Specifications (it's a published
  spec, not a proposal to this group) and update to v0.2.0 with correct
  path (/.well-known/agent-skills/)
- Update implementation notes with recent version/feature info

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Rename section header from "Community Implementations" to "Other Community Implementations" for clarity in related work documentation

* Fix my-cool-proxy attribution and move to community implementations

karashiiro (Kara) is not Jack Tysoe from Kong — incorrectly conflated
the two based on "MCP gateway" mention in meeting notes. Move
my-cool-proxy back to community implementations with correct author.

Also incorporates the section rename to "Other Community Implementations"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Move NimbleBrain to community implementations

NimbleBrain (Mathew Goldsborough) has one comment on the IG repo and was
referenced in the inaugural meeting notes, but hasn't attended meetings
or filed issues/PRs. Better categorized as a community implementation.

Kurtis Van Gent stays in IG member table — he's an MCP core maintainer.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Separate IG member work by alignment with core patterns

After reviewing the actual implementations against the IG's direction
(SKILL.md frontmatter, skill:// URIs, progressive disclosure via MCP
primitives), three repos directly implement those patterns while three
take alternative approaches worth documenting separately.

Core pattern implementations:
- skilljack-mcp: full SKILL.md + skill:// + progressive disclosure + dynamic updates
- skills-over-mcp: SKILL.md + skill:// resources + Zod validation
- skillsdotnet: SKILL.md + skill:// + load_skill tool + NuGet published

Alternative approaches (still by IG members):
- skillful-mcp: progressive disclosure via tools wrapping MCP servers (no SKILL.md)
- astronomer-agents: production SKILL.md catalog via plugin marketplace (not MCP resources)
- mcpGraph: tool orchestration engine with SKILL.md as docs (not runtime skills)

Also enriched implementation notes with specific technical details from
code review rather than surface-level descriptions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Rename section to 'Alternative Approaches' — Kurtis is MCP maintainer, not IG member

skillful-mcp is by Kurtis Van Gent, an MCP core maintainer who has
commented on IG work and written a relevant blog post, but is not an
IG member. Broaden the heading to include MCP maintainers alongside
IG members.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add PR #2527 (model access to resources) to Open SEPs

This spec PR recommends clients expose resource read to models, which
is a prerequisite for the resources-based skills approach. Discussed in
the April 7 IG meeting as a primary blocker — skills as resources only
work if models can actually read them.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 17:51:10 -07:00
Ola Hungerford
26ea24ece7
Define _meta scoping guidelines for skill resources (#60)
* Update skill-meta-keys.md to reference merged URI scheme doc

Replace PR #53 links with relative references to the now-merged
skill-uri-scheme.md document.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Refactor skilljack-mcp section and update notes on `_meta` keys for clarity

* Refocus _meta doc as scoping framework, not key recommendations

Address PR feedback: remove recommended keys that duplicate
frontmatter or belong at the plugin/distribution layer. Change
namespace to io.modelcontextprotocol.skills/. Establish scoping
principles for when _meta is appropriate vs frontmatter, annotations,
or distribution-layer mechanisms.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add decision record: _meta reserved for MCP-transport concerns

Records the decision from PR #60 review that skill-level semantics
stay in frontmatter, _meta is for MCP-transport-specific metadata,
and no specific keys are recommended yet.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 06:36:13 -07:00
Ola Hungerford
b2a2119984
Add why-and-when doc: value proposition and decision guide (#62)
* Add why-and-when doc explaining value proposition and decision guide

Adds docs/why-and-when.md covering why skills over MCP matters (same
channel as tools, discovery, dynamic updates, control model, multi-server
composition, enterprise distribution) and when MCP distribution adds
value vs simpler alternatives. Linked from README and problem-statement.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add why-and-when summary to README before problem statement

Gives newcomers the value proposition immediately: skills are context,
MCP is a context protocol, and remote MCP servers can serve tools and
know-how together. Links to the full doc for depth.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Add portable sub-agent point to why-and-when doc

Skills over MCP replaces the pattern of independently wrapping each
MCP server in a custom sub-agent with hand-written instructions —
the server author ships orchestration guidance once, everyone benefits.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Acknowledge enterprise trust trade-offs in both directions

Address PR feedback: git-based and MCP-based skill distribution each
raise different governance concerns. Link to open question on security
and trust boundaries.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 06:25:30 -07:00
Peter Alexander
36c5abddb7
Define well-known URI schemes and naming patterns for skill resources (#53)
* Add skill URI scheme proposal with survey of existing patterns (#44)

Survey 6 existing URI patterns (NimbleBrain, skilljack-mcp, skills-over-mcp,
FastMCP 3.0, Cloudflare well-known RFC, SEP-2076) and propose a recommended
skill:// URI convention for MCP skill resources. Cross-reference from
approaches.md Approach 6.

* Fix URI structure description: skill name is the authority, not a path segment

* Add versioning deferral note and multi-server collision handling

Address PR review feedback: note that versioning is intentionally deferred,
and recommend clients provide a read_resource tool with server name for
disambiguation when multiple servers expose the same skill URI.
2026-03-12 16:35:39 +00:00
Peter Alexander
4dcb59d6c0
Add decision log with ADR-lite format (#52)
* Add decision log with ADR-lite format (#49)

Create docs/decisions.md seeded with 6 historical decisions reconstructed
from closed issues and meeting notes. Update CONTRIBUTING.md with guidance
on when to add decision log entries and add to README documents table.

* Address review feedback: reframe Decision 1 scope, fix relative links
2026-03-12 07:48:01 -07:00
Ola Hungerford
e4de42cf8d
Add notes to docs from Discord and office hours discussions (#36)
* Add community insights from Discord threads and meeting notes

Distill Discord discussions (Feb 14-24) and Feb 26 office hours into
existing docs:

- New findings: NimbleBrain skill:// resource consolidation, skill
  reliability/adherence issues across implementations
- Expanded approaches with distribution/provenance considerations,
  resources adoption insight, and domain-level discovery (.well-known)
- Expanded open questions on dependencies and distribution trust
- Added Cloudflare Agent Skills Discovery RFC and NimbleBrain
  reference implementations to related work

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Remove trust note since its already mentioned in the doc separately

* Clarify attribution for community insights on skill dependencies in open questions

* Refine findings on model skill adherence and community workarounds

* Remove outdated comparison section and streamline evaluation insights in experimental findings

* Remove unnecessary blank line in experimental findings documentation

* Add SEP-2093 proposal to related work documentation

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 12:12:01 -08:00
Ola Hungerford
920eb7c245
Update question on agent skills coordination (#35)
Update open question about coordinating with agent skills spec owners and added a reference to its answer in the PR.
2026-02-26 08:23:59 -07:00
Copilot
238153720e
Document Agent Skills spec coordination channel (#28)
* Initial plan

* Add Agent Skills spec coordination guidance to CONTRIBUTING.md and README.md

Co-authored-by: olaservo <16480113+olaservo@users.noreply.github.com>

* Remove repeated bullet points from Agent Skills contributing guide

Co-authored-by: olaservo <16480113+olaservo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: olaservo <16480113+olaservo@users.noreply.github.com>
2026-02-25 13:42:44 -05:00
Copilot
c4598f223d
Add skillsdotnet C# implementation to related work (#26)
* Initial plan

* Add link to Peder's skillsdotnet C# implementation

Co-authored-by: olaservo <16480113+olaservo@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: olaservo <16480113+olaservo@users.noreply.github.com>
2026-02-16 03:59:43 -08:00
Ola Hungerford
502db8fae2
Add docs-as-MCP-server and plugin/powers use cases (#22)
* Add docs-as-MCP-server and plugin/powers use cases

Add two new use cases from Clare Liguori and Luca Chang (AWS) shared
in Discord after the first IG meeting:
- Documentation as MCP Server (search_docs/fetch_doc pattern)
- Skills + MCP Server Plugins (one-click bundling of skills + servers)

Add related implementations and external resources (Strands, AWS MCP,
Kiro powers, llms.txt, AWS Agent SOPs).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add link to mcpdoc and more context

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 14:20:50 -07:00
Ola Hungerford
b3069ad669
Add out of scope item for plugin/bundle packaging in README (#23) 2026-02-14 23:20:34 +00:00
Ola Hungerford
1105a3af08
Update meeting notes and discussion links (#21)
* Update meeting notes and discussion links to main MCP repo

Meeting notes are published in the main modelcontextprotocol repo
discussions, not in this IG repo. Update CONTRIBUTING.md and README.md
to reflect this and note that future meetings/surveys are posted in
the Discord channel.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add out of scope item for plugin/bundle packaging in README

* Revert "Add out of scope item for plugin/bundle packaging in README"

This reverts commit 75b962ea59f0af0b29e3bd1fcb0994eb2ff0b73d.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 13:16:21 -07:00
Kaxil Naik
ed3c23ae57
Add version-adaptive and commercial multi-tenant use cases (#20)
Add UC8 (Version-Adaptive Skill Content) and UC9 (Commercial
Multi-Tenant Skills) capturing Astronomer/Airflow-specific scenarios
for skills that adapt to platform versions and SaaS multi-tenancy
with RBAC and audit logging.
2026-02-13 11:21:55 -08:00
Juan Antonio Osorio
5dd8f6c0e2
Merge pull request #19 from modelcontextprotocol/copilot/fix-bob-dickenson-link
Fix Bob Dickinson's GitHub link to personal account
2026-02-13 09:20:29 +02:00
copilot-swe-agent[bot]
d2da7aa9b3 Fix Bob Dickinson's GitHub link to personal account
Co-authored-by: olaservo <16480113+olaservo@users.noreply.github.com>
2026-02-13 02:39:09 +00:00
copilot-swe-agent[bot]
4ef4584afc Initial plan 2026-02-13 02:38:11 +00:00
Juan Antonio Osorio
3ae7f29cdf
Merge pull request #17 from modelcontextprotocol/feature/update-design-principles
Update design principles and other docs
2026-02-08 08:11:39 +02:00
olaservo
9e9f00dbae Add my-cool-proxy to implementations table
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 20:50:13 -07:00
olaservo
6b097dd5b6 Restore Bob's original comment 2026-02-07 20:47:19 -07:00
olaservo
cd1abddf19 Add ecosystem complexity principle and reorganize community input
Co-Authored-By: rektide <53243+rektide@users.noreply.github.com>
2026-02-07 20:41:33 -07:00
olaservo
2ecf9650ca Tweak wording 2026-02-07 20:22:31 -07:00
olaservo
5876a85f87 Fix Jonathan's github link 2026-02-07 20:22:31 -07:00
olaservo
f225bbcec4 Enhance problem statement with clarification on MCP's role in skills interaction model 2026-02-07 20:22:31 -07:00
olaservo
62e32ef658 Enhance design principles and open questions documentation with additional community insights on skills as context and discoverability challenges
Co-Authored-By: rektide <53243+rektide@users.noreply.github.com>
2026-02-07 20:22:31 -07:00
olaservo
3e58697d52 Refine design principles section to clarify emerging considerations from community discussions 2026-02-07 20:22:30 -07:00
olaservo
4665899d89 Enhance design principles and open questions documentation with community insights on skills as context and discoverability challenges 2026-02-07 20:22:30 -07:00