claws-spec-firstlisted
Install: claude install-skill neunaha/claws
## What this is
Spec-first inverts the code-first impulse: write a `.specs/<area>/<id>.spec.md` before dispatching any worker. The spec is the contract; worker missions are derived from it. Validate with `node scripts/spec-lint.js` before dispatch.
## When to invoke
Invoke when the task is:
- Multi-file (≥2 primary files touched)
- Multi-session (>1 working day estimated)
- Introduces a new MCP tool, titan, wave-army LEAD, or reusable worker pattern
- Introduces a new CU primitive (observe/interact/verify loop)
- Deprecates or supersedes an existing interface
Optional but recommended for single-file changes referenced by other workers or new CI workflows.
## When NOT to invoke
- Trivial bug fixes: ≤1 file, ≤50 LOC, no new public surface
- Documentation-only edits with no new interface
- Refactors that move code without changing the public API
- Hotfixes with a known rollback path and tight time window
- Read-only audit workers — write the audit card to `.local/audits/` directly
## Steps
1. Copy the template: `.specs/templates/<feature|mcp-tool|worker-mission|cu-pattern>.spec.md` → `.specs/<area>/<id>.spec.md`
2. Fill `## Intent` and `## Acceptance criteria` first — WHY and WHAT before HOW
3. Fill `## File scope` and `## Phase plan`; each row maps to one sub-worker mission
4. Run `node scripts/spec-lint.js .specs/<area>/<id>.spec.md` until exit 0
5. Commit the spec: `git commit -m "spec(<area>): <title> (draft)"`
6. Derive worker missions from `## Phase plan` rows (≤50