status

SKILL.md

Show the current state of the workflow for this project.

Step 0: Run Migrations

This step is mandatory. You must complete it before proceeding.

Invoke the /migrate skill and assess its output.

If files were updated: STOP and wait for the user to review the changes (e.g., via git diff) and confirm before proceeding to Step 1. Do not continue automatically.

If no updates needed: Proceed to Step 1.


Step 1: Discovery State

!.claude/skills/status/scripts/discovery.sh

If the above shows a script invocation rather than YAML output, the dynamic content preprocessor did not run. Execute the script before continuing:

.claude/skills/status/scripts/discovery.sh

If YAML content is already displayed, it has been run on your behalf.

Parse the discovery output. IMPORTANT: Use ONLY this script for discovery. Do NOT run additional bash commands (ls, head, cat, etc.) to gather state.

→ Proceed to Step 2.


Step 2: Present Status

Build the display from discovery data. Only show sections for phases that have content.

CRITICAL: Entities don't flow one-to-one across phases. Multiple discussions may combine into one specification, topic names may change between phases, and specs may be superseded. The display must make these relationships visible — primarily through the specification's sources array.

2a: Summary

Output the next fenced block as a code block:

Workflow Status

  Research:       {count} file(s)
  Discussion:     {count} ({concluded} concluded, {in_progress} in-progress)
  Specification:  {active} active ({feature} feature, {crosscutting} cross-cutting)
  Planning:       {count} ({concluded} concluded, {in_progress} in-progress)
  Implementation: {count} ({completed} completed, {in_progress} in-progress)

Only show lines for phases that have content. If a phase has zero items but a later phase has content, show the line as (none) to highlight the gap.

If no workflow content exists at all

Output the next fenced block as a code block:

Workflow Status

No workflow files found in .workflows/

Start with /start-research to explore ideas,
or /start-discussion if you already know what to build.

STOP. Do not proceed — terminal condition.

2b: Specifications

Show if any specifications exist. This is the most important section — it reveals many-to-one relationships between discussions and specifications.

Output the next fenced block as a code block:

Specifications

  1. {name:(titlecase)} ({status})
     └─ Sources: @if(no_sources) (none) @else
        ├─ {src} ({src_status})
        └─ ...
     @endif

  2. ...

Rules:

  • Each numbered item is an active (non-superseded) specification
  • Show (cross-cutting) after status for cross-cutting specs; omit type label for feature specs
  • Blank line between numbered items
  • If superseded specs exist, show after the numbered list:
  Superseded:
    • {name} → {superseded_by}

2c: Plans

Show if any plans exist.

Output the next fenced block as a code block:

Plans

  1. {name:(titlecase)} ({status})
     └─ Spec: {specification_name}
     @if(has_unresolved_deps) └─ Blocked:
        ├─ {dep_topic}:{dep_task_id} ({dep_state})
        └─ ...
     @endif

  2. ...

Rules:

  • Map raw planning status to in-progress in the display
  • Show spec name without .md extension

2d: Implementation

Show if any implementations exist.

Output the next fenced block as a code block:

Implementation

  1. {topic:(titlecase)} ({status})
     └─ Phase {current_phase}, {completed_tasks}/{total_tasks} tasks done

  2. ...

Rules:

  • not-started└─ Not started
  • in-progress → phase and task progress; if total_tasks is 0, show {completed_tasks} tasks done without denominator
  • completed└─ Complete

2e: Unlinked Discussions

Derive which discussions are NOT referenced in any active (non-superseded) specification's sources array. Show only if unlinked discussions exist.

Output the next fenced block as a code block:

Discussions not yet in a specification:

  • {name} ({status})

2f: Key

Show if the display uses statuses that benefit from explanation. Only include statuses actually shown. No --- separator before this section.

Output the next fenced block as a code block:

Key:

  Status:
    in-progress — work is ongoing
    concluded   — complete, ready for next step
    superseded  — replaced by another specification

  Spec type:
    cross-cutting — architectural policy, not directly plannable

Omit categories with no entries.


Step 3: Suggest Next Steps

Based on gaps in the workflow, briefly suggest 2-3 most relevant actions:

  • Concluded discussions not in any spec → /start-specification
  • In-progress specs → finish with /start-specification
  • Concluded feature specs without plans → /start-planning
  • Concluded plans not yet implemented → /start-implementation
  • Completed implementations → /start-review

If plans exist, mention /view-plan for detailed plan viewing.

Keep suggestions brief — the user knows their project better than we do.

Notes

  • Keep output scannable — this is a status check, not a deep analysis
  • Discussions may appear in multiple specifications' sources
  • A discussion not appearing in any active spec's sources is "unlinked"
  • Research files are project-wide, not topic-specific
  • Topic names may differ across phases (e.g., discussions "auth-flow" and "session-mgmt" may combine into specification "auth-system")
Weekly Installs
10
GitHub Stars
11
First Seen
Feb 5, 2026
Installed on
opencode10
gemini-cli10
replit10
claude-code10
github-copilot10
codex10