--- name: "OpenSpec Project Status" description: Show a human-readable summary of all OpenSpec changes — active, archived, artifact completion, and task progress category: Workflow tags: [workflow, status, openspec, reporting] --- Show the full OpenSpec project status in a clear, human-readable format. No raw JSON — just a clean picture of where the project stands. **Input**: No arguments required. Run `/openspec-project-status` at any time. --- **Steps** 1. **Get all changes** Run: ```bash openspec list --json ``` Separate results into: - **Active changes** (not in `archive/`) - **Archived changes** (in `archive/`) If the command fails or no changes exist, display a friendly empty state (see Output section). 2. **For each active change, gather full status** Run in parallel for all active changes: ```bash openspec status --change "" --json ``` Also read each change's `tasks.md` to extract: - Total task count - Completed tasks (`- [x]`) - Pending tasks (`- [ ]`) - Text of the **next pending task** (first `- [ ]` item) Also check for delta specs at `openspec/changes//specs/` — note if present. 3. **For archived changes** List them by archive date (newest first). No need to read full status — just show name and archive date from the folder name (`YYYY-MM-DD-`). 4. **Render the human-readable status report** Use the output format defined below. --- **Output Format** ``` ## OpenSpec Project Status ### Active Changes () ──────────────────────────────────────── ──────────────────────────────────────── Schema: Phase: Artifacts ✓ proposal done ✓ design done ◌ tasks pending Tasks / complete ████████░░░░░░░░ 50% Next: "" Delta Specs ──────────────────────────────────────── --- ### Archived Changes () 2026-03-20 add-initial-auth 2026-03-15 setup-ci-pipeline 2026-03-10 scaffold-project --- ### Summary Active changes: Ready to apply: (all artifacts done, tasks pending) In progress: (tasks partially complete) Complete: (all tasks done, not yet archived) Archived: ``` **Phase inference rules** (from artifact + task state): - `Proposing` — proposal artifact is not done - `Designing` — proposal done, design not done - `Speccing` — design done, tasks artifact not done - `Ready to Implement` — all artifacts done, 0 tasks complete - `In Progress` — all artifacts done, some tasks complete but not all - `Complete` — all artifacts done, all tasks complete (not yet archived) **Progress bar rules:** - 16 chars wide: `█` per completed segment, `░` for remaining - Show percentage after bar - If 0 tasks: show `No tasks yet` - If all tasks done: show `████████████████ 100% All done!` --- **Output: No active changes** ``` ## OpenSpec Project Status ### Active Changes (0) No active changes. Start one with /opsx:propose --- ### Archived Changes () 2026-03-20 add-initial-auth ... --- ### Summary Active changes: 0 Archived: ``` **Output: OpenSpec CLI unavailable** ``` ## OpenSpec Project Status OpenSpec CLI not available. Cannot read change data. Make sure `openspec` is installed and accessible in your PATH. ``` --- **Guardrails** - Never show raw JSON — always translate to human-readable output - Never guess artifact or task state — always read from actual files and CLI output - If a `tasks.md` file does not exist for a change, show `No tasks file` instead of 0/0 - Archived changes are display-only — never modify them - Phase labels must be inferred strictly from actual artifact + task state, not assumed - If `openspec status` fails for a specific change, show that change with `Status unavailable` and continue