# Specs Skills

> Use when asked to spec out a feature, write a spec, create spec.md / plan.md / tasks.md, do spec-driven development, use GitHub Spec Kit or speckit, or set up .specify/ in a repo. Works in repos that have never been initialized with spec-kit. Triggers on "spec this out", "specify", "SDD", "write the spec and plan", "generate tasks from the spec".

- Skill: `rohitguta2432/specs-skills` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add rohitguta2432/specs-skills`
- Raw SKILL.md: https://api.skillmd.com/api/skills/rohitguta2432/specs-skills/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: rohitguta2432 (https://skillmd.com/u/rohitguta2432)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/rohitguta2432/specs-skills

---


# 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):

```bash
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

<HARD-GATE>
Skills installed in Step 0 are NOT invocable this session. Claude Code loads
`.claude/skills/` at session start, so the `speckit-*` skills you just wrote to
disk do not exist as far as the Skill tool is concerned. Calling
`Skill(speckit-specify)` fails or silently picks up nothing.

**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.
</HARD-GATE>

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. |

