goalforge-capturelisted
Install: claude install-skill Truncuso/cogwright
# goalforge-capture
Reads free-text user intent, slugifies the feature name, and stamps the initial
feature plan files. Entry point of the `capture → spec → decompose → harden →
execute → verify` chain.
Schema reference: `${CLAUDE_PLUGIN_ROOT}/references/schema.md`.
Templates: `${CLAUDE_PLUGIN_ROOT}/references/templates/`.
Archive-consumer contract (the writer-probe clause below): `${CLAUDE_PLUGIN_ROOT}/references/archive-contract.md`.
## Inputs
- Free-text description of the feature or work item (from the user).
## Outputs (contracted files only)
| File | Template | Initial status |
|---|---|---|
| `<PLANS_ROOT>/<feature>/overview.md` | `feature-overview.md` | `draft` |
Note: `plans/<feature>/todo.md` is NOT stamped here — `goalforge-decompose` auto-generates
it via `goalforge-rollup.sh` after WPs are created (`feature-todo.md` documents its shape).
No other files are created or modified.
## Procedure
### Step 1 — Extract and slugify
From the user's free-text input: identify the feature name (short noun phrase),
slugify it (lowercase, spaces/punctuation → hyphens, no leading/trailing hyphen;
"User Authentication Revamp" → `user-auth-revamp`), and confirm with the user if
ambiguous (prefer shorter).
### Step 2 — Idempotency check
Probe the **archived** locations BEFORE treating a slug as absent. An archived
feature or idea owns its slug exactly as a live one does; stamping a fresh
`status: draft` over it creates a duplicate stub of work that is already done.
Both