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.mdwhen present - Default specs root is
./specs .current-speclives in the default specs root- Hidden directories do not count as specs
Action
- Resolve configured roots.
- Read
.current-specto identify the active spec.- If
.current-specis missing or empty, report that there is no active spec and continue listing specs across roots.
- If
- Read
specs/.current-epicwhen present and summarize epic status. - For each spec directory, inspect:
.ralph-state.jsonresearch.mdrequirements.mddesign.mdtasks.md
- 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 constructspecs/<name>after resolution. - Inventory prototype records in lexical order:
- Read
activePrototypes, treating a missing field as an empty map. - List
prototypes/.*.candidate.md, immutableprototypes/*.mdfinals, and visible or dot-prefixed*.quarantine.mdfiles. - Parse candidates and finals with
prototype_records.py parse; useselect-downstreamwith state to derive blockers and stale dependencies.
- Read
- If
tasks.mdexists, count completed and incomplete tasks. - Group results by spec root.
- 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,sourceDispositionor source pointer, gate approval, and quarantine reason. - Include derived
activeBlockers,staleArtifacts, andstaleTaskIndexes. Omit the prototype section when all overlay counts are zero so legacy output stays unchanged.