update-speclisted
Install: claude install-skill firatcand/forge
# /update-spec
Two modes, one lifecycle (ephemeral ADRs — see `.forge/CONTEXT.md` §Ephemeral ADR workflow):
- `--draft` — interview → write `spec/decisions/<YYYY-MM-DD>-<slug>.md` from `templates/adr.template.md`. The user reviews, optionally gets a second opinion, and flips `status: accepted` by hand.
- `--apply <slug>` (+ `--yes-all`, `--resume`, `--dry-run`) — author the payload-complete journal, preview every artifact diff, then delegate ALL mutation to `forge orchestrate apply-decision`. On success the skill (not the verb) runs the git commit with the ADR's rationale as the body.
Skill ↔ verb contract: this skill owns interviews, diff previews, confirmations, journal authoring (the verb's documented upstream input), and git. The verb owns every artifact mutation, the resumable journal state machine, INDEX.md, and ADR deletion. The skill NEVER edits SPEC/PRD/phases/tracker directly.
---
## Mode `--draft`
### Preflight
1. `templates/adr.template.md` must exist. Missing → stop: "run `forge migrate` (or `forge upgrade`) to restore the bundled scaffold."
2. **One decision at a time.** Scan `spec/decisions/*.md` and classify each file:
- `INDEX.md` → ignore (the durable decision index).
- ADR frontmatter parses with `status: proposed` or `status: accepted` → refuse:
```
✗ /update-spec --draft: an active ADR already exists: <file> (status: <status>).
Finish it first: /update-spec --apply <slug> (or edit/delete the draft)
```
- `status: re