Skip to content

[WIP] Add spec annotator plugin to Claude Code marketplace#2391

Draft
LucaButBoring wants to merge 5 commits intomodelcontextprotocol:mainfrom
LucaButBoring:feat/spec-annotator
Draft

[WIP] Add spec annotator plugin to Claude Code marketplace#2391
LucaButBoring wants to merge 5 commits intomodelcontextprotocol:mainfrom
LucaButBoring:feat/spec-annotator

Conversation

@LucaButBoring
Copy link
Copy Markdown
Contributor

@LucaButBoring LucaButBoring commented Mar 12, 2026

Publishing for visibility - letting this sit for a while so people can test it out directly, first. I recommend cloning the branch as a separate repo copy and doing a local marketplace install until this is merged:

git clone https://github.com/LucaButBoring/modelcontextprotocol ./some-other-folder
cd some-other-folder
git checkout feat/spec-annotator
claude plugin marketplace add .
claude plugin install mcp-spec@modelcontextprotocol
claude plugin install mcp-spec-annotator@modelcontextprotocol

Adds the mcp-spec-annotator plugin to the Claude Code marketplace. This plugin serves as a time-saver to assist in reviewing and authoring specification language for SEPs. The intended workflow is to start with a high-quality SEP (either your own or someone else's) and extract requirements from it. The extracted requirements form a "meta-spec," a set of EARS-format requirements that the final text needs to conform to in order to pass review. This is intended to accelerate understanding others' SEPs, refining your own, and authoring spec language from a raw SEP document.

This is not intended to be the only quality gate on an SEP. The workflow attempts to extract as many problems as it can, but there is no guarantee that it will catch everything, and it is possible for it to misinterpret proposals (I would personally take that as a potential point of feedback in itself). Review the output thoroughly, starting with the rendered annotated diff to bootstrap your own understanding, and then reviewing the actual spec changes for correctness.

This plugin has three main skills:

  • The /spec-annotate skill does meta-spec extraction on an SEP document and produces a rendered, annotated review of a git diff according to that meta-spec. The resulting annotated-diff.html is a standalone report that lists the requirements and explains how each specification change meets or violates the extracted requirements (you can upload it to a gist separately to share it via gisthost or similar).
  • The /spec-update skill can be used to modify the requirements if the meta-spec is incorrect or insufficient.
  • The /spec-orchestrate skill autonomously takes an SEP document and writes spec language for it, iteratively reviewing and refining both the meta-spec itself and the annotated diff until all of the requirements are satisfied, and the meta-spec captures all explicit and implicit requirements.

This is an example annotated diff reviewing #1686, which already had spec language written for it (via /spec-annotate 1686):
image
(the violated requirements were largely intentional and were the result of short-notice/followup changes just before the 11/25 release)

And these are annotated diffs that were authored in tandem with the full spec language via /spec-orchestrate (that is, the spec language was generated via the workflow):

LucaButBoring and others added 5 commits March 12, 2026 14:18
…r improvements

- Add execution constraints to QA agent (10-15 tool calls, no jq/python)
- Expand QA checklist to 21 checks: implementation substance (14-15),
  blast radius (16-17), completeness (18-21)
- Add EARS actor exceptions for must-document/must-not-change requirements
- Create annotate.py script for deterministic annotation scaffolding
  with bidirectional link building and optional match application
- Add convergence detection to orchestrator QA loop
- Add initial setup phase to orchestrator (extract + implement before loop)
- Route QA implementation_issues back to implementer in orchestrator
- Add separate summary/explanation fields to annotation cards
- Add mobile-responsive layout to HTML template
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant