specs-skills — one invocation, the whole Spec Kit set
Turn a one-line requirement into a complete specs/NNN-slug/ artifact set using
the real github/spec-kit, in any repo, whether or not it has been initialized.
Step 0 — Ensure the kit is present
Check for .specify/ in the repo root.
Missing? Install it (needs uvx, already on PATH):
uvx --from git+https://github.com/github/spec-kit.git specify init --here \
--integration claude --script sh --force --ignore-agent-tools
This writes .specify/ (templates + bash scripts + memory/constitution.md)
and the ten speckit-* skills into .claude/skills/.
Install fails (no network, uvx gone, flag renamed)? Say so in one line, then
fall back: read ~/.claude/skills/specs-skill/SKILL.md and follow it instead.
It is self-contained and produces the same artifacts without spec-kit. Stop
after that — do not attempt the stages below.
Step 1 — Run the stages
Read each SKILL.md with the Read tool and follow its instructions yourself.
This is the only mechanism that works on a fresh install. Use it unconditionally
so behavior does not differ between fresh and already-initialized repos.
Work through these in order, reading each file then doing what it says:
| # | Read this | Produces | Skip when |
|---|---|---|---|
| 1 | .claude/skills/speckit-constitution/SKILL.md |
.specify/memory/constitution.md |
Already filled with real principles, not template placeholders |
| 2 | .claude/skills/speckit-specify/SKILL.md |
specs/NNN-slug/spec.md + checklists/requirements.md |
Never |
| 3 | .claude/skills/speckit-clarify/SKILL.md |
Resolved [NEEDS CLARIFICATION] markers |
spec.md has no markers |
| 4 | .claude/skills/speckit-plan/SKILL.md |
plan.md, research.md, data-model.md, contracts/, quickstart.md |
Never |
| 5 | .claude/skills/speckit-tasks/SKILL.md |
tasks.md |
Never |
| 6 | .claude/skills/speckit-analyze/SKILL.md |
Cross-artifact consistency report | Never |
Ground every stage in the actual repo — real file paths, real stack, real conventions. Never leave a template placeholder in a written file.
Clarify is one batched round. Spec-kit's clarify stage asks questions one at
a time; that defeats a single-invocation skill. Collect its questions and ask
them together in one AskUserQuestion call (max 4). Anything still unanswered
becomes an explicit **Assumption:** line in spec.md — not a lingering
[NEEDS CLARIFICATION].
Step 2 — Stop, then report
Do not run speckit-implement. It writes production code. This skill ends
at specs. Print the generated tree, then offer implement as a separate step the
user chooses.
specs/007-branded-links/
spec.md plan.md tasks.md research.md data-model.md
quickstart.md contracts/ checklists/requirements.md
Flag anything analyze reported and any **Assumption:** you recorded.
Re-running
An existing specs/NNN-slug/ for the same requirement gets updated in place.
Do not create 008-same-thing-v2. Only allocate a new NNN for a genuinely new
requirement.
Common mistakes
| Mistake | Consequence |
|---|---|
Skill(speckit-specify) after a fresh install |
Fails — not loaded this session. Read the file instead. |
Running specify init without --force |
Hangs on a confirmation prompt in a non-empty repo. |
| Skipping Step 0 in an uninitialized repo | Stages 4–6 call .specify/scripts/bash/*.sh and die. |
| Auto-running implement | Writes production code from specs nobody reviewed. |
| Asking clarify questions one at a time | Turns a one-shot skill into a 5-turn interview. |