goalforge-plan-indexlisted
Install: claude install-skill Truncuso/cogwright
# goalforge-plan-index
Derives `plans/INDEX.md` from feature-overview frontmatter so the portfolio index
and the per-feature `relationships:` edges never drift apart. The index is a build
artifact -- regenerate it; do not hand-edit it.
**Scope:** this is **feature-level portfolio navigation**, regenerated on demand —
it is **not** part of the per-WP execute → verify → commit loop and never gates a
transition. It answers "what features exist, in what build order, with which
cross-feature dependencies", orthogonal to a WP's goal/verify/commit cycle.
## Mechanical core
```bash
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/goalforge-plan-index.py \
[--plans-root <root>] [--include-archived] [-o <file|->]
```
- **Plans root** resolves like the rest of the SDD chain: `--plans-root` -> env
`SDD_PLANS_DIR` -> git-root `plans/` -> CWD `plans/` -> `~/.claude/plans/`.
- **Output**: default writes `<PLANS_ROOT>/INDEX.md` — which project-track-sweep's
`backfill_wps.py` also generates (see the header line in an existing INDEX.md);
pass `-o` to avoid clobbering a sweep-generated index. `-o -` streams to stdout
(preview without touching disk); `-o <file>` writes elsewhere.
- `--include-archived` is **render-only**: it folds `_archived/` features in as
`status: archived` rows/tier slots. Archived features are **always** loaded for
edge RESOLUTION regardless of the flag (see "Archived features" below).
## What it derives
- **Feature register** -- one row per `<feature>/overview.