en un clic
status
Show current project status and suggest what to do next.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Show current project status and suggest what to do next.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
Run multiple phases hands-free. Chains discuss, plan, build, and verify automatically.
Start a new project. Deep questioning, research, requirements, and roadmap.
Execute all plans in a phase. Spawns agents to build in parallel, commits atomically.
Configure settings: depth, model profiles, features, git, and gates.
Execute the next logical step automatically. No prompts, no decisions — just do it.
Systematic debugging with hypothesis testing. Persistent across sessions.
| name | status |
| description | Show current project status and suggest what to do next. |
| allowed-tools | Read, Glob, Grep, Bash, AskUserQuestion |
| argument-hint | [--json] |
STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.
Before ANY tool calls, display this banner:
╔══════════════════════════════════════════════════════════════╗
║ PLAN-BUILD-RUN ► PROJECT STATUS ║
╚══════════════════════════════════════════════════════════════╝
Then proceed to Step 1.
You are running the status skill. Your job is to read the project state and present a clear, actionable status dashboard. You suggest the most logical next action based on where the project is.
This skill runs inline and is read-only — it never modifies any files.
references/questioning.md — Questioning philosophy (for routing intelligence)references/ui-brand.md — Status symbols, banners, progress display formatShow the user where they are and what to do next. The status display should be a quick glance, not a wall of text. Surface problems and route to the right action.
CRITICAL — STOP. You MUST run these CLI commands FIRST. Do NOT skip them. Do NOT read files manually instead.
First, run the init command to capture routing, drift, and metadata:
node plugins/pbr/scripts/pbr-tools.js init status
Store the JSON result as blob. This provides:
blob.routing — suggestNext output with blob.routing.command and blob.routing.reason for Step 5 smart routingblob.drift — STATE.md discrepancy warnings (blob.drift.drift_detected, blob.drift.stale_fields)blob.counts.pending_todos, blob.counts.notes, blob.counts.active_debug — directory scan countsblob.has_paused_work — whether .continue-here file existsblob.progress — progress bar data (percentage, completed_plans, total_plans)blob.state — STATE.md frontmatter fieldsblob.config.mode, blob.config.features, blob.config.workflow — config checksIf blob.error is set, display the error banner and stop (no project found).
Then run the status render CLI for the full formatted dashboard:
pbr-tools status render
This returns a complete, deterministic JSON object with ALL project status: milestones, phases, progress bar, routing recommendations, todos, notes, quick tasks, paused work, documents, and warnings. Parse the JSON and proceed directly to Step 4 (Display) using the structured data. The init blob supplements this with routing and metadata that status render does not provide.
If the CLI command fails (non-zero exit or invalid JSON), display:
╔══════════════════════════════════════════════════════════════╗
║ ERROR ║
╚══════════════════════════════════════════════════════════════╝
Failed to render status dashboard. Run `pbr-tools status render` manually to diagnose.
Stop execution — do NOT attempt manual file reads as fallback.
Run:
pbr-tools context-triage
Parse the JSON response. Capture:
tier — one of PEAK / GOOD / DEGRADING / POOR / CRITICALpercentage — numeric 0-100 (or null if unavailable)recommendation — PROCEED / CHECKPOINT / COMPACTStore these for use in Step 4 display and Step 5 routing.
Steps 2-2b: The status render CLI output includes phase statuses, plan counts, progress percentage, and STATE.md discrepancy warnings. Parse the JSON directly — do NOT re-scan the filesystem.
Use blob fields from the init call where available to avoid redundant filesystem scans:
blob.has_paused_work — if true, note that paused work exists.continue-here.md files in .planning/phases/VERIFICATION.md files with gaps_found statusblob.counts.active_debug for the count of active debug sessionsblob.counts.pending_todos for the count of pending todo filesIdentify the single next-blocking item — the one phase or plan whose completion unblocks the most downstream work.
Logic:
depends_on (direct + transitive).Store: criticalPhase (number + name), criticalPlan (plan ID or null if phase not yet planned), criticalCount (number of downstream phases blocked).
blob.counts.notes for the total count of note files in .planning/notes/~/.claude/notes/ for global notes.planning/quick/ for recent quick tasksScan ALL completed phases (not just current) for outstanding verification items:
for dir in .planning/phases/*/; do
VFILE=$(ls "$dir"VERIFICATION*.md 2>/dev/null | head -1)
if [ -n "$VFILE" ]; then
STATUS=$(grep -m1 "^status:" "$VFILE" | awk '{print $2}')
if [ "$STATUS" = "gaps_found" ] || [ "$STATUS" = "human_needed" ] || [ "$STATUS" = "partial" ]; then
echo "DEBT: $(basename "$dir") — $STATUS"
fi
fi
done
If ANY phase has outstanding verification (gaps_found, human_needed, partial):
Verification Debt section in the status dashboardPresent the status in this format:
Project: {name from PROJECT.md or config.json}
Phase: {current} of {total} -- {current phase name}
Progress: [{progress bar}] {percentage}%
Phase Status:
| Phase | Status | Plans | Progress |
|-------|--------|-------|----------|
| 1. {name} | {status indicator} {status text} | {completed}/{total} | {percentage}% |
| 2. {name} | {status indicator} {status text} | {completed}/{total} | {percentage}% |
| ...
**Project documents:**
| File | Status |
|------|--------|
| PROJECT.md | {exists / not found -- run /pbr:new-project} (includes ## Context section) |
| REQUIREMENTS.md | {exists / not found -- run /pbr:new-project} |
{If STATE.md frontmatter contains a `velocity` field (JSON object), display velocity metrics in a single compact line:}
Velocity: {velocity.plans_executed} plans | avg {velocity.avg_duration_minutes} min/plan | trend: {velocity.trend}
Total: {total_plans} plans across all phases
{If no `velocity` field exists in STATE.md frontmatter, skip this block entirely — do not show "No metrics".}
{If STATE.md frontmatter contains `session_last`, display session continuity:}
Last session: {session_last}{if session_stopped_at:} — stopped at: {session_stopped_at}{/if}
{If no `session_last` field exists, skip this block entirely.}
{If context tier is DEGRADING, POOR, or CRITICAL:}
⚠ Context: {percentage}% used ({tier}) — {recommendation_text}
Run `/compact` to reclaim context before spawning more agents.
Where `{recommendation_text}` maps:
- DEGRADING → "quality may degrade on complex agents"
- POOR → "context window is filling up"
- CRITICAL → "STOP — compact before continuing"
{If criticalPhase is identified AND criticalCount >= 1 AND there are 2+ unverified phases with dependencies:}
Critical Path: Phase {N} — {phase name}{, Plan {criticalPlan} is next} [BLOCKING {criticalCount} downstream phase(s)]
{Else: omit — not meaningful when only one phase remains or no inter-phase dependencies exist}
{If blockers exist:}
Blockers:
- {blocker 1}
- {blocker 2}
{If no blockers:}
Blockers: None
{If paused work:}
Paused: Phase {N} has a checkpoint at plan {M}. Run `/pbr:resume-work` to continue.
{If verification gaps:}
Gaps: Phase {N} verification found {count} gaps. Run `/pbr:plan-phase {N} --gaps` to address.
{If cross-phase re-planning needed:}
Warning: Phase {N} was planned before Phase {M} was built. Consider re-planning with `/pbr:plan-phase {N}`.
{If active debug sessions:}
Debug: {count} active session(s). Run `/pbr:debug` to continue.
{If pending todos:}
Todos: {count} pending. Run `/pbr:check-todos` to see them.
{If notes exist:}
Notes: {count} quick capture(s). `/pbr:note list` to review.
Generate a 20-character progress bar:
[████████████████████] 100% (all filled)
[████████████████░░░░] 80% (16 filled, 4 empty)
[████████░░░░░░░░░░░░] 40% (8 filled, 12 empty)
[░░░░░░░░░░░░░░░░░░░░] 0% (all empty)
Use Unicode block characters:
█ (full block, U+2588)░ (light shade, U+2591)Use the standardized symbol set from references/ui-brand.md:
| Status | Indicator |
|---|---|
| Complete/Verified | ✓ |
| In Progress | ◆ |
| Not started | ○ |
| Needs fixes / Warning | ⚠ |
| Failed / Blocked | ✗ |
| Auto-approved | ⚡ |
Use blob.routing.command and blob.routing.reason from the init blob to determine the primary next action. The routing field contains the suggestNext output which implements the full decision tree below. Fall back to the manual decision tree only if blob.routing is unavailable.
Decision tree (fallback):
1. Is there paused work (.continue-here.md)?
YES → "Resume your work: `/pbr:resume-work`"
2. Is there a verification with gaps?
YES → "Fix verification gaps: `/pbr:plan-phase {N} --gaps`"
3. Is the current phase planned but not built?
YES → "Build the current phase: `/pbr:execute-phase {N}`"
4. Is the current phase built but not reviewed?
YES → Read `workflow.validate_phase` from config.json (default: `true`).
IF true → "Validate coverage gaps: `/pbr:validate-phase {N}`"
IF false → "Review what was built: `/pbr:verify-work {N}`"
5. Is the current phase verified (complete)?
YES → Is there a next phase?
YES → Was next phase already planned?
YES → Does it need re-planning? (dependency phase changed)
YES → "Re-plan with updated context: `/pbr:plan-phase {N+1}`"
NO → "Build the next phase: `/pbr:execute-phase {N+1}`"
NO → "Plan the next phase: `/pbr:plan-phase {N+1}`"
NO → Check for existing `*-MILESTONE-AUDIT.md` in `.planning/`:\n IF audit passed → "All phases complete and audited! `/pbr:complete-milestone` to archive and tag."\n IF audit has gaps → "Audit found gaps. `/pbr:plan-milestone-gaps` to address them."\n IF no audit → "All phases complete! `/pbr:audit-milestone` to verify cross-phase integration (recommended), then `/pbr:complete-milestone`."
6. Is the current phase not started?
YES → Has it been discussed?
YES → "Plan this phase: `/pbr:plan-phase {N}`"
NO → "Start with a discussion: `/pbr:discuss-phase {N}` or jump to `/pbr:plan-phase {N}`"
7. Active debug sessions?
YES → "Continue debugging: `/pbr:debug`"
8. Pending notes to review?
YES → "Review notes: `/pbr:note list`"
9. Nothing active?
→ "Start your project: `/pbr:new-project`"
Autonomous mode suggestion (conditional):
After the primary next-action is determined, check the number of pending phases:
- Count all phases in ROADMAP.md whose status is `not_started`, `discussed`, `ready_to_plan`, or `planned`
- If count >= 2 AND `config.mode` is NOT `autonomous`:
Display this advisory block below the primary next-action suggestion:
─────────────────────────────────────────────
Multiple phases ready: {count} phases pending.
Run all phases hands-free with `/pbr:autonomous`
─────────────────────────────────────────────
- If count < 2 OR config.mode is already `autonomous`: skip — do not display.
Other skills available for routing:
- `/pbr:explore` — open-ended idea exploration
- `/pbr:note` — zero-friction idea capture
- `/pbr:debug` — systematic debugging
- `/pbr:import` — import external plans
- `/pbr:autonomous` — run multiple phases hands-free (when multiple phases are pending)
If only one reasonable next action exists, present it with branded routing:
╔══════════════════════════════════════════════════════════════╗
║ ▶ NEXT UP ║
╚══════════════════════════════════════════════════════════════╝
**{brief explanation}**
`{suggested command}`
{If context percentage > 40% OR tier is DEGRADING/POOR/CRITICAL:}
<sub>`/clear` first → fresh context window ({percentage}% used)</sub>
{Else: omit the /clear hint entirely}
{If `percentage` is null (no context data): omit the hint}
If multiple reasonable next actions exist (2-3 alternatives):
CRITICAL -- DO NOT SKIP: Present the following choice to the user via AskUserQuestion before proceeding:
Use the action-routing pattern (see skills/shared/gate-prompts.md):
Use AskUserQuestion: question: "What would you like to do next?" header: "Next Step" options: - label: "{primary action}" description: "{brief explanation}" - label: "{alternative 1}" description: "{brief explanation}" - label: "{alternative 2}" description: "{brief explanation}" - label: "Something else" description: "Enter a different command" multiSelect: false
Build options dynamically from the decision tree results. Always include "Something else" as the last option. Generate 1-3 real options based on the state analysis.
After user selects an option:
/pbr:{action} {args}" so they can execute itReference: skills/shared/error-reporting.md for branded error output patterns.
.planning/ directory at all/pbr:new-project to start a new project/pbr:map-codebase if there's an existing codebase to analyze first*-MILESTONE-AUDIT.md in .planning/
/pbr:complete-milestone to archive (audit already done)/pbr:plan-milestone-gaps to address issues/pbr:audit-milestone to verify cross-phase integration (recommended first)/pbr:complete-milestone to archive the milestone and tag it/pbr:new-milestone to start the next set of featuresThis skill should be fast. It's a status check, not an analysis.
DO:
DO NOT:
pbr-tools context-triage, always run but skip on error)