ralph-specum-status · git:20260828.4890dd3 · 2026-08-28 · sha256 aa32e05e375f09f0
ralph-specum-status git:20260828.4890dd3A
Immutable. This exact content is served forever at /api/v1/blob/aa32e05e375f09f0.
--- name: ralph-specum-status description: This skill should be used only when the user explicitly asks to use `$ralph-specum-status`, or explicitly asks Ralph Specum in Codex for status or active spec progress. metadata: surface: helper action: status --- # Ralph Specum Status Use this to report Ralph state across configured spec roots. Derive `RALPH_CODEX_PLUGIN_ROOT` from this loaded skill by resolving two parent directories from the `SKILL.md` directory. Never derive it from the project working directory. ## Contract - Read `.claude/ralph-specum.local.md` when present - Default specs root is `./specs` - `.current-spec` lives in the default specs root - Hidden directories do not count as specs ## Action 1. Resolve configured roots. 2. Read `.current-spec` to identify the active spec. - If `.current-spec` is missing or empty, report that there is no active spec and continue listing specs across roots. 3. Read `specs/.current-epic` when present and summarize epic status. 4. For each spec directory, inspect: - `.ralph-state.json` - `research.md` - `requirements.md` - `design.md` - `tasks.md` 5. When state exists, use the resolved spec path as `basePath`, run `"$RALPH_CODEX_PLUGIN_ROOT/scripts/prototype_records.py" reconcile --base-path "$BASE_PATH" --state "$BASE_PATH/.ralph-state.json"`, then re-read state. Never construct `specs/<name>` after resolution. 6. Inventory prototype records in lexical order: - Read `activePrototypes`, treating a missing field as an empty map. - List `prototypes/.*.candidate.md`, immutable `prototypes/*.md` finals, and visible or dot-prefixed `*.quarantine.md` files. - Parse candidates and finals with `prototype_records.py parse`; use `select-downstream` with state to derive blockers and stale dependencies. 7. If `tasks.md` exists, count completed and incomplete tasks. 8. Group results by spec root. 9. Show the active spec, current phase, backlog state, approval state, granularity when present, and which artifacts exist. ## Output - Specs in the default root can be shown by name. - Specs in other roots should include the root suffix for disambiguation. - Include the next likely command when it is obvious. - If an epic is active, include the next unblocked spec. - If approval is pending, explicitly tell the user to approve the current artifact, request changes, or continue to the named next step. - When prototype data exists, report counts and deterministic rows for active entries, candidates, immutable finals, and quarantines. Include prototype ID, lifecycle status or verdict, blocker targets, `returnPhase`, `returnTaskIndex`, `sourceDisposition` or source pointer, gate approval, and quarantine reason. - Include derived `activeBlockers`, `staleArtifacts`, and `staleTaskIndexes`. Omit the prototype section when all overlay counts are zero so legacy output stays unchanged.