.claude/skills/dan-status/SKILL.md
Show current project progress, blockers, and suggest the next action
npx skillsauth add RavBogard/DAN dan:statusInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Show the current project state: phase, plan, progress, blockers, recent decisions, and a suggested next action. This is the only skill Claude can auto-invoke (disable-model-invocation is false) to proactively check project status.
Runs in-session (no agent spawning). Read-only operation.
State operations use the DAN CLI:
node "$HOME/.claude/dan/bin/dan-tools.cjs" --cwd $PROJECT_DIR state read
node "$HOME/.claude/dan/bin/dan-tools.cjs" --cwd $PROJECT_DIR milestone progress
node "$HOME/.claude/dan/bin/dan-tools.cjs" --cwd $PROJECT_DIR milestone status
node "$HOME/.claude/dan/bin/dan-tools.cjs" --cwd $PROJECT_DIR session next-action
<execution_flow>
<step name="gather_state" priority="first"> ## Step 1: Gather StateRead all state sources needed for the status display.
STATE_JSON=$(node "$HOME/.claude/dan/bin/dan-tools.cjs" --cwd "$PROJECT_DIR" state read)
Extract from STATE_JSON:
phase: current phase number (e.g., "3 of 5")plan: current plan position (e.g., "2 of 4 in current phase")status: current status (e.g., "in_progress", "verifying", "blocked")last_activity: most recent activity descriptionblockers: list of active blockers/concernsdecisions: list of accumulated decisionsPROGRESS_JSON=$(node "$HOME/.claude/dan/bin/dan-tools.cjs" --cwd "$PROJECT_DIR" milestone progress)
Extract from PROGRESS_JSON:
total_phases: total number of phasescompleted_phases: number of completed phasestotal_plans: total plans across all phasescompleted_plans: number of completed planspercent: overall progress percentageSTATUS_JSON=$(node "$HOME/.claude/dan/bin/dan-tools.cjs" --cwd "$PROJECT_DIR" milestone status)
Extract from STATUS_JSON:
milestone: milestone namecurrent_phase: name of current phasepipeline_stage: current pipeline stage if milestone is running (e.g., "apply", "verify")phases_remaining: list of remaining phase numbers
</step>
Call the session module to compute the recommended next action based on the 8-priority state machine:
NEXT_JSON=$(node "$HOME/.claude/dan/bin/dan-tools.cjs" --cwd "$PROJECT_DIR" session next-action)
Extract from NEXT_JSON:
action: human-readable description (e.g., "Apply next plan", "Verify phase", "Resume paused task")skill: the DAN skill to invoke (e.g., "dan:apply", "dan:verify", "dan:milestone")args: arguments to pass to the skill (e.g., plan path, phase number)The priority order is:
Format and display the status report using the gathered data.
Show the current phase with its name:
## Project Status
**Phase {completed_phases + 1} of {total_phases}:** {current_phase name}
Render the progress bar using the same format as the CLI (10-character width):
Progress: [{filled}{empty}] {percent}%
[{completed_plans}/{total_plans} plans complete]
Where filled = number of filled blocks proportional to percent, empty = remaining blocks.
Example: Progress: [######....] 60% [9/15 plans complete]
{numbered list of each blocker/concern from STATE.md}
</if>
<if condition="blockers list is empty">
None.
</if>
### Recent decisions
Show the last 3 decisions from the STATE.md decisions list:
{last 3 decisions, most recent first}
If no decisions exist, show "No decisions recorded yet."
### Suggested next action
Highlight the recommended next action from Step 2:
{action description} Run:
/dan:{skill} {args}
If the project is complete (no next action), show:
Project milestone is complete. No further actions needed.
</step>
<step name="format_output">
## Step 4: Format Output
Assemble the complete status display as a single markdown block. Use clean formatting with headers and consistent spacing.
Full output template:
```markdown
## Project Status
**Phase {N} of {total}:** {phase name}
Progress: [{bar}] {percent}% [{completed_plans}/{total_plans} plans]
**Status:** {status}
**Last activity:** {last_activity}
### Blockers
{blockers or "None."}
### Recent Decisions
{last 3 decisions or "No decisions recorded yet."}
### Next Action
> **{action}**
> Run: `/dan:{skill} {args}`
This skill is read-only. It does NOT modify STATE.md, ROADMAP.md, or any other file. It only reads and displays. </step>
disable-model-invocation: false allows Claude to proactively call this skill to check status when context suggests it would be helpful.</execution_flow>
data-ai
Core DAN workflow protocol and conventions injected into all agent contexts
testing
Spawn verifier agent to validate phase outputs against requirements and success criteria
tools
Close the loop on a completed plan by writing SUMMARY.md and updating state
tools
Restore session from STATE.md and continue where work left off