spec — spec mutator
Read
FORMAT.md
at repo root if not already loaded. Caveman skill applies to all writes here.
DISPATCH
Inspect user request and project state:
No
SPEC.md
at repo root AND args describe idea →
NEW
No
SPEC.md
AND
from-code
in args →
DISTILL
SPEC.md
exists AND args start
bug:
→
BACKPROP
SPEC.md
exists AND args start
amend
→
AMEND
SPEC.md
exists, no args → ask user which mode
NEW — idea → spec
Input: user idea.
Steps:
Extract goal (1 line, caveman). → §G.
List constraints user stated or implied. → §C.
List external surfaces user named. → §I.
Propose initial invariants. → §V (numbered V1…).
Break goal into ordered tasks. → §T pipe table, all status
.
, ids T1…
§B section with header row only (
id|date|cause|fix
).
Write to
SPEC.md
. Show user full file. Ask: "spec OK? suggest edits or invoke build."
DISTILL — code → spec
Walk repo. Produce §G (infer from README/package.json/main entry), §C (infer from stack), §I (enumerate public APIs/CLIs/configs), §V (derive from tests and assertions), §T (one task per known TODO or missing test), §B (empty).
Caveman everywhere. Flag uncertain items with
?
in text so user can confirm.
BACKPROP — bug → §B + §V
Input:
bug:
spec
安装
npx skills add https://github.com/juliusbrussee/cavekit --skill spec