speclisted
Install: claude install-skill bitcraft-apps/spec-first
# Spec Command
Creates a specification from requirements. One agent does the steps in order.
## Usage
`/sf:spec [REQUIREMENTS]`
## Context
Read the current branch, the last 5 commits, and the working tree.
Check whether `.sf/spec.md` exists.
## Clarification Check
If the requirements are vague (fewer than 15 words, or unclear), ask the user before you start.
Wait for the answer. Do not assume. Ask about:
- What specific problem are you solving?
- Who are the users?
- What's the desired outcome?
- Any technical constraints?
- What's the minimal viable version?
## Directory Management
The working directory is `.sf/`. `$SF_DIR` overrides it.
Pick the mode:
- No `.sf/spec.md` → `first`
- `.sf/spec.md` exists → ask the user: "Update existing" / "Create new" → `update` / `new`
Run `scripts/spec-dir.sh <first|update|new>`, in this skill directory.
**If spec-dir.sh fails (non-zero exit), halt immediately — do not do the work below.**
## Execution
Write each file in turn. The requirements are the input to this skill.
1. `.sf/research/scope.md` — the narrowest viable change. Exclude what is not needed now.
2. `.sf/research/criteria.md` — the simplest testable pass/fail conditions.
3. `.sf/research/risks.md` — blockers only, not every possible risk.
4. `$SF_DIR/spec.md` — merge the three files. Keep it under 50 lines. Use the structure in
`spec-template.md`, next to this file.
**Gate — Post-Spec:** run `scripts/validate-spec.sh`, in this skill directory.
**If it fails