Skip to content

/status

Show Forge progress and status

From plugin
lucasduys-forge
5613 skills9 agents13 commands3 hooks
Install
> /plugin marketplace add LucasDuys/forge
> /plugin install forge@forge-marketplace

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/status

Context preview

What this command does when you run it.

Show Forge progress and status

Command definition

status.md
description: "Show Forge progress and status"
allowed-tools: ["Read(*)", "Bash(node ${CLAUDE_PLUGIN_ROOT}/scripts/forge-tools.cjs:*)", "Bash(node ${CLAUDE_PLUGIN_ROOT}/scripts/forge-wizard.cjs:*)"]

Forge Status

First-Run Wizard (R004.AC3)

Before anything else, fire the one-shot token-reduction wizard. Idempotent — prints once on first install, then no-ops forever. Suppressed when `/forge:watch` is rendering its own banner (R004.AC6).

node "${CLAUDE_PLUGIN_ROOT}/scripts/forge-wizard.cjs" --forge-dir .forge

Present a unified Forge dashboard. If the user passed `--json` anywhere in the command arguments, emit machine-readable JSON instead of the formatted view.

Data sources

Run these commands and combine their output. Always pass `--forge-dir .forge`.

1. `node ${CLAUDE_PLUGIN_ROOT}/scripts/forge-tools.cjs headless query --forge-dir .forge --json`

  • Authoritative snapshot from T011: phase, current_task, completed/remaining

task counts, lock_status, active_checkpoints, last_error, token totals. 2. `node ${CLAUDE_PLUGIN_ROOT}/scripts/forge-tools.cjs budget-status --forge-dir .forge --json`

  • Per-task token ledger plus session budget summary and iteration count.

3. Read `.forge/state.md` directly for fields the headless query does not surface (autonomy, depth, blocked_reason, last heartbeat timestamp). 4. Read `.forge/capabilities.json` if it exists to count MCP servers and skills. 5. Check whether `.forge/.forge-loop.json` exists -- if so, the autonomous loop is currently active. 6. Check whether `.forge/.forge-debug.log` exists and is non-empty. 7. List `.forge/checkpoints/*.json` (if the directory exists) to surface any in-progress task checkpoints.

JSON mode

If the user passed `--json`, output a single JSON object with these top-level keys merged from the sources above. Do not pretty-format with extra commentary.

{
  "phase": "...",
  "spec": "...",
  "current_task": "...",
  "task_status": "...",
  "iteration": N,
  "max_iterations": N,
  "tasks": { "completed": N, "remaining": N, "total": N },
  "tokens": { "used": N, "budget": N, "percent": N, "remaining": N },
  "per_task_budgets": [ ... from budget-status ... ],
  "lock_status": "free|held|stale",
  "active_checkpoints": N,
  "last_error": "...",
  "depth": "...",
  "autonomy": "...",
  "loop_active": true|false,
  "debug_log_has_entries": true|false,
  "blocked_reason": "..." | null,
  "capabilities": { "mcp_servers": N, "skills": N }
}

Formatted mode (default)

Render this layout:

Forge Status
===================================
Phase:     {phase}
Spec:      {spec}
Task:      {current_task} ({task_status})
Iteration: {iteration} / {max_iterations}

Tasks:     {completed}/{total} complete, {remaining} remaining
Tokens:    {used} / {budget} ({percent}%, {remaining} remaining)
Depth:     {depth}
Autonomy:  {autonomy}

Lock:         {lock_status}
Checkpoints:  {active_checkpoints}
Capabilities: {mcp_count} MCP servers, {skill_count} skills

After the dashboard, append any of these conditional lines that apply:

  • If `.forge/.forge-loop.json` exists: `Loop active`
  • If `.forge/.forge-debug.log` is non-empty:

`Debug log has entries -- run cat .forge/.forge-debug.log to inspect`

  • If `blocked_reason` is set in state.md: `Blocked: {blocked_reason}`
  • If `last_error` from headless query is non-null: `Last error: {last_error}`
  • If `active_checkpoints > 0`: list each checkpoint id and step from

`.forge/checkpoints/*.json` so the user can see in-progress task state.

Then append the per-task budget table from `node ${CLAUDE_PLUGIN_ROOT}/scripts/forge-tools.cjs budget-status --forge-dir .forge` (plain text mode, not JSON) so the user sees per-task token usage at a glance.

Edge cases

  • If `.forge/` does not exist, say:

`Forge not initialized. Run /forge brainstorm to get started.` and stop.

  • If the headless query command fails, fall back to reading `.forge/state.md`

and `.forge/token-ledger.json` directly and present whatever is available.

  • Never use em dashes in the output (per project style).
Read more
Ships withlucasduys-forge

Turn a one-line idea into a branch with tested, reviewed, committed code. The brainstorm-to-commit pipeline for Claude Code.

Get the whole plugin, auto-invoked

Other commands on lucasduys-forge.