planlisted
Install: claude install-skill tcashel/forge
# /forged:plan
Convert an idea into the durable specification that Forged will execute. The
operator-scoped Beads database is the source of truth. A Bead's native fields,
not a parallel Markdown file, carry the complete specification:
| Native field | Required content |
| --- | --- |
| `title` | Conventional-commit PR title, lowercase and at most 70 characters |
| `description` | Context and the concrete behavior being built |
| `design` | Implementation constraints, seam contracts, and non-goals |
| `acceptance_criteria` | Observable acceptance criteria and exact quality gates |
| `notes` | Agent instructions, decisions, and any unresolved questions |
| `metadata.repository` | Canonical absolute target repository root |
The lead agent owns the conversation and judgment. Forged owns durable
execution after an explicit handoff. Planning must not launch a run.
## State boundary
Resolve the operator paths once and pass `BEADS_DIR` on every command:
```bash
export ANVIL_HOME="${ANVIL_HOME:-$HOME/.anvil}"
export BEADS_DIR="${BEADS_DIR:-$ANVIL_HOME/beads}"
BD_BIN="${BD_BIN:-$(command -v bd)}"
TARGET_REPO="$(cd "$(git rev-parse --show-toplevel)" && pwd -P)"
REPOSITORY_METADATA="$(jq -cn --arg repository "$TARGET_REPO" \
'{repository: $repository}')"
env BEADS_DIR="$BEADS_DIR" "$BD_BIN" where --json
```
Do not initialize Beads from the target checkout. Do not use repository-routing
flags on `bd create`. The one operator store holds work for many repositories;
`metadata.repos