Prose specs get misread.
By everyone.
01
Prose is ambiguous
02
The doc is always stale
03
A call isn't approval
04
AI has to guess
Prose vs. blocks.
Reset link expiry — what each person understood
PMwrote the spec
~24h?Devwrote the code
7 daysAIgenerated from spec
30 minWith SPEC-R — one source of truth
acceptance_criteria
✓Email validates format before submit
✓Reset link expires after 24 hours
✓Success message shown regardless of email existence
approved · locked
structured output
One format.
Every spec.
Every time.
SPEC-R constrains AI output to named block types. Whatever you ask it to write — it answers in structured blocks. Every tool, teammate, and agent knows exactly what they're reading.
Parseable by agents
MCP tools read block types directly. No prompt engineering required.
Consistent for every reader
One spec looks the same to PMs, devs, and AI — whoever wrote it.
Lockable and diffable
Freeze approved blocks. Track every change at the block level.
user_story
What the user needs to do, and why
As a user, I can reset my password by entering my email address, so I can regain access to my account.
All block types
25types
user_storyacceptance_criteriaapi_endpointdata_modelscreen_speccomponent_spectest_specimplementation_planarchitecture_decisionheadingdtoenum_definitionpersonaproblem_statementsolution_overviewscope_boundarybusiness_ruleenvironment_configexternal_dependencyfile_structurediagramcodespec_linktextimage
For developers
Your IDE, your specs,
one config.
Add SPEC-R to Claude Code in under 5 minutes.
list_specsget_specpublish_specupdate_implementation{ "mcpServers": { "spec-r": { "command": "npx", "args": [ "@spec-r/mcp-server" ], "env": { "SPEC_R_API_KEY": "sk-...", "SPEC_R_PROJECT_ID": "proj_..." } } } }
Write.
Review.
Iterate.
Lock.
draft01
acceptance_criteria
—Email validates before submit
—Reset link expires after 24h
—more criteria...
in review02
acceptance_criteria
✓Email validates before submit
✓Reset link expires after 24h
Sarah M. · PM
24h from creation or from last click?
revised03
acceptance_criteria
✓Email validates before submit
✓Link expires 24h from creation, not last click
✓Success shown on unknown email
✓ validated04
acceptance_criteria
✓Email validates before submit
✓Link expires 24h from creation
✓Success on unknown email
✓Previous tokens invalidated
read by Claude Code via MCP