jrpease/agent-bootstrap/write-spec
Claude Code and agent skill by jrpease/agent-bootstrap
- community
Checking that the SKILL.md file is still in the repository.
Capture a settled design as a spec document in docs/specs/, so the thinking survives the conversation. Use when a grilling session reaches shared understanding, when a design discussion has settled and you are about to build, or when the user says "write this up", "capture the design", "make a spec", "write the plan", or invokes /write-spec. Also use to fill in the Plan section of an existing spec before implementation.
Install
npx vskill@latest install jrpease/agent-bootstrap/write-specSKILL.md
Write a spec
A design settled in conversation is lost when the conversation ends. This skill puts it on disk in a shape critic can review and implementer can execute.
Announce at start: "Using write-spec to capture this as a document."
The document model
One file per topic, at docs/specs/YYYY-MM-DD-<topic>.md. It grows over its life rather than being superseded:
| Status | Means | What exists | |
|---|---|---|---|
spec | The design is settled, the build is not planned | Goal, Decisions, Open questions | |
planned | Steps are written and reviewable | …plus a filled-in Plan | |
built | Shipped | …plus what actually happened, where it diverged |
There is no separate plan file. The Plan section is how a spec becomes a plan.
Step 1: Resolve the file
If this continues an existing topic, update that file rather than starting a new one — a second file on the same topic splits the decision record:
Otherwise create docs/specs/YYYY-MM-DD-<topic>.md, <topic> in kebab-case, the date from date +%F. Say the path before writing it.
Step 2: Write it from the conversation, not from imagination
The hard rule: every decision in the document must be one the user actually made. The failure mode for this skill is a fluent, plausible spec full of choices nobody agreed to — it reads as settled, so it never gets questioned, and it is worse than no document at all.
- A decision the user made → the Decisions table.
- Something you inferred, assumed, or would recommend but never put to them →
Open questions, marked as your recommendation. Not the Decisions table.
- Something nobody raised → leave it out. Do not round the design up to
complete.
Where a grilling session produced the design, its tree maps directly: each settled question is a Decisions row, each recommendation the user did not answer is an Open question.
The template
Step 3: The Plan section, when there is one
Write it only when the build is actually being planned. Each step is a brief that could be handed to implementer without a follow-up question:
Then set Status: planned.
A step that names no verification is not finished. "Verify: reviewed by eye" is a legitimate answer for prose; inventing a command that does not exist is not.
Step 4: Hand off
Say what you wrote and offer the next move — do not run it unprompted:
"Wrotedocs/specs/2026-09-01-foo.md— 6 decisions, 2 open questions.Wantreview-specon it before we build?"
Where the Plan section is filled and its steps are mechanical and repetitive, say so — those are implementer dispatches, one step per brief.
What this skill does not do
- It does not decide. An open question stays open. Resolving it to make the
document look finished is the one unrecoverable failure here.
- It does not implement. Writing the plan and running it are separate acts,
and the gap between them is where review happens.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingshared/skills/write-spec/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/jrpease/agent-bootstrap/write-spec)