to-spec · pandoscope — Claude Code skill: what it does, how to install
Generates a self-contained feature spec from the current conversation and codebase without running a repetitive user interview.
npx skills add pandoscope/skills --skill to-spec -a claude-codeWhat to-spec does
This skill synthesizes a PRD directly from active chat context and repo inspection. Instead of questioning the user, it extracts established requirements into structured sections: problem statement, solution, extensive user stories, implementation decisions, test seams, and scope limits.
Every requirement must pass a reproducibility litmus test: two independent implementers should build nearly identical outcomes. The skill references repo ADRs, pins project terminology using uvx disambiguate, and blocks progress if no grilling session exists in context unless explicitly bypassed.
Without tracker rules defined in AGENTS.md, the skill cannot publish tickets labeled ready-for-agent. Implementation notes deliberately exclude file paths and transient code snippets, keeping only state machines, schemas, or compact prototype shapes.
What it helps with
- generate a complete PRD from chat history without prompting interviews
- define test seams before starting feature implementation
- enforce self-contained specifications that survive handoffs
- pin feature decisions to project ADRs and glossary terms
Example prompts for the agent
- Generate a spec from our chat about user authentication
- Turn our discussion into a PRD and publish it to the tracker
- Create a ready-for-agent spec for the background export worker
How to install to-spec
1Skills CLI (Vercel)
npx skills add pandoscope/skills --skill to-spec -a claude-code2Manually: put the files in place
~/.claude/skills/to-spec/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/to-spec/
1Skills CLI (Vercel)
npx skills add pandoscope/skills --skill to-spec -a codex2Manually: put the files in place
.agents/skills/to-spec/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add pandoscope/skills --skill to-spec -a cursor2Manually: put the files in place
.cursor/skills/to-spec/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install pandoscope/skills to-spec2Manually: put the files in place
.github/skills/to-spec/SKILL.md1Skills CLI (Vercel)
npx skills add pandoscope/skills --skill to-spec -a gemini-cli2Platform CLI
gemini skills install https://github.com/pandoscope/skills --path derived/to-specManually: put the files in place
.devin/skills/to-spec/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add pandoscope/skills --skill to-spec -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about to-spec
How do I install to-spec in Claude Code?
Run npx skills add pandoscope/skills --skill to-spec -a claude-code in your terminal. You can also place the skill file directly at ~/.claude/skills/to-spec/SKILL.md.
What does the to-spec skill do?
It converts an ongoing conversation into a detailed specification with user stories and architectural constraints. It strictly skips follow-up interviews, assembling details from context already provided.
What happens if there is no grilling session in the context?
The skill triggers a gate prompt asking whether to skip the missing grilling session. If confirmed, it logs the omission in the Further Notes section of the final document.
Source text
SKILL.md · MIT
--- name: to-spec description: Turn the current conversation into a spec published to the project tracker — no interview, just synthesis of what was already discussed. metadata.derived-from: https://github.com/mattpocock/skills/blob/391a2701dd948f94f56a39f7533f8eea9a859c87/skills/engineering/to-spec/SKILL.md metadata.derivation-note: Adds reproducibility invariant + self-containedness litmus test (see derived to-tickets) + grilling gate. Tracker deferred to consumer AGENTS.md; vocabulary pinned to docs/glossary (`uvx disambiguate`), decisions to writing-adrs. Upstream `/setup-matt-pocock-skills` dropped. Caveman-condensed. disable-model-invocation: true --- # To Spec Produce spec (aka PRD) from current conversation + codebase understanding. Do NOT interview user — synthesize what you already know. ## Reproducibility invariant Spec — and tickets later derived from it — must be **self-contained**: replayed by any implementer, human or agent, builds roughly same application. Every outcome-shaping decision lives in spec itself, or durable docs it references — ADRs (`writing-adrs`), glossary terms (`docs/glossary/`). Never conversation context, tribal knowledge, implementer discretion. **Litmus test:** two independent implementers could build meaningfully different things → spec underspecified. Add decision to spec, or record as ADR/glossary term + reference. ## Grilling gate Spec is load-bearing. No grilling session (`docs/glossary/grilling-session.md`) in context → stop, ask user: "No grilling session found — really skip?" Proceed only on explicit confirmation; note skip in Further Notes. ## Process 1. Explore repo if not already done. Use glossary vocabulary (`uvx disambiguate <term>`) throughout; respect ADRs in touched area. 2. Sketch seams for testing the feature. Prefer existing seams; new seams at highest point possible. Fewer seams better — ideal is one. Check seams with user. 3. Write spec per template — written and checked with the `writing-prose` skill if available, surface `ticket`; precision and understandability must not suffer. Apply litmus test to every section, publish per consumer repo's tracker conventions (AGENTS.md). Apply `ready-for-agent` label — no further triage. Spec template: ```markdown ## Problem Statement Problem, from user's perspective. ## Solution Solution, from user's perspective. ## User Stories LONG numbered list: "As an <actor>, I want <feature>, so that <benefit>". Example: "As a mobile bank customer, I want to see balance on my accounts, so that I can make better informed decisions about my spending." Extremely extensive — cover all aspects. ## Implementation Decisions Decisions made: modules built/modified, interfaces, technical clarifications, architecture, schema changes, API contracts, specific interactions. Hard-to-reverse or surprising decisions → also record as ADR (`writing-adrs`) + reference. Decision only in conversation, not listed here → fails litmus test — write it down. No file paths/code snippets — stale fast. Exception: prototype snippet encoding a decision more precisely than prose (state machine, reducer, schema, type shape) → inline within relevant decision, note prototype origin, trim to decision-rich parts. ## Testing Decisions What makes a good test (external behavior only, not implementation details), which modules tested, prior art in codebase. ## Out of Scope What this spec excludes. ## Further Notes Anything else. ```
© pandoscope · MIT · pandoscope/skills
Similar skills
All skills for Writing and docs →to-spec by other authors comes first.