g-status · git:20260628.ff0e1ae · 2026-06-28 · sha256 1d26ce49a3c31d54

g-status git:20260628.ff0e1aeA

Immutable. This exact content is served forever at /api/v1/blob/1d26ce49a3c31d54.

---
name: g-status
description: Quick one-shot snapshot of current workflow state: active plan, wave progress, review gate, current milestone.
---

Produce a single structured status block. Fast — no interviews, no back-and-forth.

**Step 1.** Announce: "Using g-status to snapshot project state."

**Step 2.** Read the following files from the project root (skip gracefully if any are missing):

- `ROADMAP.md` — extract the current milestone name and its status (in progress / done)
- `g-docs/plans/` — find the most recently modified `.md` file; extract wave count and task list if present
- `ROADMAP.md` — extract the `## Active Session` handoff, specifically the first "Next up" line
- `.claude/g-forge-approved` — note whether this file exists

**Step 3.** Output exactly this block, filling each field or writing "—" if the information is unavailable:

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
G-Forge Status
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Milestone:    [M1 — Name · 🚧 In progress / ✅ Done]
Plan:         [g-docs/plans/filename.md · Wave N of M / none]
Review gate:  [open (MERGE READY) / locked]
Handoff:      [first "Next up" line from ROADMAP `## Active Session` / —]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

**Rules:**
- Output only the status block — no extra explanation unless a critical misconfiguration is detected (e.g. hooks not installed)
- If `.claude/g-forge-approved` exists → review gate is "open (MERGE READY)"; otherwise → "locked"
- If a plan file exists → show its filename and wave info if parseable; otherwise → "none"
- Never error out on missing files — skip them silently and fill the field with "—"