Publish the Skills extension as a browsable VitePress site on Cloudflare
Pages, using the same documentation theme as ext-tasks and reusing the
existing source documents.
- Follow the Tasks site's structure: a substantive overview at `/` and a
separate stable specification page. The small `index.md` uses native
VitePress includes to reuse excerpts from the released specification,
rather than duplicating its prose.
- Link to the condensed overview on the MCP website.
- Render `specification/stable/skills.mdx` through a small Markdown
include, preserving the released specification unchanged.
- Add local search, section outlines, MCP branding, source edit links,
and a Specification navigation item with a Stable sidebar entry. Keep
the full specification at `/specification/stable/skills`.
- Build pull requests, including fork contributions, in read-only GitHub
Actions CI.
- Use the existing Cloudflare Pages Git integration for publishing.
Remove the GitHub Pages deployment workflow and project-path
configuration.
## Validation
- `npm run docs:build` passed with VitePress 1.6.4.
- Checked that the build emits an overview and a separate specification
page; verified included excerpt boundaries, internal links and anchors,
specification source edit links, and the rendered MDX callout.
- `git diff --check` passed.
- The build emits the existing large-chunk warning from the diagram
dependencies.
- Cloudflare deployment itself has not been run from this workspace.
## Publishing settings
DNS and Cloudflare Pages setup are ready separately. The existing Pages
project should use:
| Setting | Value |
| --- | --- |
| Repository | `modelcontextprotocol/ext-skills` |
| Production branch | `main` |
| Root directory | Repository root |
| Build command | `npm run docs:build` |
| Build output directory | `.vitepress/dist` |
| Node.js | `22` (set `NODE_VERSION=22` in Pages) |
| Custom domain | `skills.extensions.modelcontextprotocol.io` |
Cloudflare installs dependencies and builds from the committed npm
lockfile. The site is served at the domain root with clean URLs.
Publishing is handled by Cloudflare's connected Git integration; no
GitHub Pages environment, Pages permissions, or Cloudflare deployment
secrets in GitHub Actions are required.
After merge, verify the production deployment and custom domain in the
existing Cloudflare Pages project. One-time publishing instructions stay
in this PR description, not in a checked-in setup document.
Fork PRs receive the CI build check. Automated Cloudflare previews for
forks require the separately discussed trusted artifact-publishing
workflow; this PR does not add that workflow.
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* docs: point README and AGENTS.md at the released spec and official docs
SEP-2640 is Final and the extension ships from specification/stable/skills.mdx,
so the README now leads with a Specification section linking the spec file,
the official docs page (modelcontextprotocol.io/extensions/skills/overview),
the published SEP, and the client matrix. The experimental banner is replaced
with a note that docs/ holds working documents; the charter, pulls, and issues
links move off the redirecting experimental-ext-skills / charter URLs.
AGENTS.md no longer names the SEP PR as the source of truth; it points agents
at the stable spec page and describes the decision-log flow against that file.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: accepted spec changes land in a draft revision, not the stable file
The stable specification is a released snapshot. README and AGENTS.md now say
accepted decision-log proposals go into a draft revision that ships as a new
release, matching the ext-tasks specification layout.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: move pre-release design documents to docs/archive
SEP-2640 is Final, so docs/ now holds only living working documents. Eight
historical documents move to docs/archive with an index explaining what each
was and what superseded it: the SEP baseline copy, why-and-when, use-cases,
approaches, skill-uri-scheme, glossary, client-mcp-support (superseded by the
official client matrix), and agent-plugins-analysis.
Files the published SEP links to by path (decisions, experimental-findings,
open-questions, problem-statement, rationale, related-work, skill-meta-keys)
stay in place so those links keep working. Cross-links are rewritten and
verified; the README contents table is trimmed to match.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: archive open-questions and skill-meta-keys
Both are pre-release documents whose outcomes live in the decision log and
the specification. The published SEP links to them by path; a companion
change in modelcontextprotocol/modelcontextprotocol repoints those links.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: fix sibling links inside archived open-questions and skill-meta-keys
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: keep only the decision log and rationale in docs/
threat-model, experimental-findings, findings-template, problem-statement,
and related-work move to docs/archive with index rows. The candidates
tracker and the archived client-support survey are removed in favor of the
official extension client matrix, and links to them are repointed there.
README drops the Why and Problem Statement sections, which duplicate the
SEP's Motivation and the official overview page. CONTRIBUTING routes new
implementation findings to GitHub issues.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: fix sibling links inside newly archived documents
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: add a concise implementations list
One table each for servers/SDKs and hosts, one line per entry, replacing the
retired candidates tracker and the related-work implementation tables. Seeded
from those plus PR #141 and issue #144.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: put tracking links in the Status column of the implementations list
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: add a vendor/community category to the implementations list
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: replace the interim reference package with the TypeScript SDK row
The @olaservo/ext-skills package is retired in favor of first-class skills
APIs in the TypeScript SDK (typescript-sdk#2798, phase 1 in #2818). The
archived related-work page now points at implementations.md for current
information.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: drop pre-SEP rows from the implementations list
They are already recorded in the archived related-work page; the list now
points there instead. FastMCP stays because its row tracks the migration to v1.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: add official SDK progress, Tachyon, and Inspector 2.6.0 to implementations
From the WG Discord channel and the SDK repos as of 2026-09-15: Go, TypeScript,
Python, and C# SDKs all have open SEP-2640 PRs (Go passes conformance); the
conformance suite merged; Inspector 2.6.0 shipped skills verification; Tachyon
reports a server implementation. Adds an "in progress" status for open PRs.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: track Goose host support via the official issue
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: only tag community rows in the implementations list
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: tag MCP-project rows as official in the implementations list
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: split the implementations list into SDKs, servers, and hosts
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* docs: add MCPJam Inspector to hosts
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* Revise implementations table format and content
Updated the implementations table to include language and status columns.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Correct links and clarify documentation references
Updated links to SEP-2640 and clarified document references.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: Sambhav Kothari <sambhavs.email@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* 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>
* 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
* 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>