Agentops status
Single-screen dashboard showing current work, recent validations, flywheel health, and suggested next action. Triggers: "status", "dashboard", "what am I working on", "where was I".
git clone https://github.com/boshu2/agentops
T=$(mktemp -d) && git clone --depth=1 https://github.com/boshu2/agentops "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/status" ~/.claude/skills/boshu2-agentops-status-bff588 && rm -rf "$T"
skills/status/SKILL.md/status — Workflow Dashboard
Purpose: Single-screen overview of your current state. What am I working on? What happened recently? What should I do next?
YOU MUST EXECUTE THIS WORKFLOW. Do not just describe it.
CLI dependencies: bd, ao, gt — all optional. Shows what's available, skips what isn't.
Quick Start
/status # Full dashboard /status --json # Machine-readable JSON output
Execution Steps
Step 1: Gather State (Parallel)
Run ALL of the following in parallel bash calls for speed:
Call 1 — RPI + Ratchet + Task State:
# Current ratchet phase if [ -f .agents/ao/chain.jsonl ]; then tail -1 .agents/ao/chain.jsonl 2>/dev/null else echo "NO_CHAIN" fi # Ratchet status via CLI if command -v ao &>/dev/null; then ao ratchet status --json 2>/dev/null || echo "RATCHET_UNAVAILABLE" ao task-status --json 2>/dev/null || echo "TASK_STATUS_UNAVAILABLE" fi
Call 2 — Beads / Epic State:
if command -v bd &>/dev/null; then echo "=== EPIC ===" bd list --type epic --status open 2>/dev/null | head -5 echo "=== IN_PROGRESS ===" bd list --status in_progress 2>/dev/null | head -5 echo "=== READY ===" bd ready 2>/dev/null | head -5 echo "=== TOTAL ===" bd list 2>/dev/null | wc -l else echo "BD_UNAVAILABLE" fi
Call 3 — Knowledge Flywheel:
# Learnings count echo "LEARNINGS=$(ls .agents/learnings/ 2>/dev/null | wc -l | tr -d ' ')" echo "PATTERNS=$(ls .agents/patterns/ 2>/dev/null | wc -l | tr -d ' ')" echo "PENDING=$(ls .agents/forge/ 2>/dev/null | wc -l | tr -d ' ')" # Flywheel health + badge if command -v ao &>/dev/null; then ao metrics flywheel status 2>/dev/null || echo "FLYWHEEL_UNAVAILABLE" ao badge 2>/dev/null || echo "BADGE_UNAVAILABLE" fi
Call 4 — Recent Activity + Git:
# Recent sessions if [ -d .agents/ao/sessions ]; then ls -t .agents/ao/sessions/*.md 2>/dev/null | head -3 else echo "NO_SESSIONS" fi # Recent council verdicts ls -lt .agents/council/ 2>/dev/null | head -4 # Git state echo "=== GIT ===" git branch --show-current 2>/dev/null git log --oneline -3 2>/dev/null git status --short 2>/dev/null | head -5
Call 5 — Inbox:
if command -v gt &>/dev/null; then gt mail inbox 2>/dev/null | head -5 else echo "GT_UNAVAILABLE" fi
Call 6 — Session Quality Signals:
if [ -f .agents/signals/session-quality.jsonl ]; then tail -10 .agents/signals/session-quality.jsonl else echo "NO_SIGNALS" fi
Step 2: Render Dashboard
Assemble gathered data into this format. Use Unicode indicators for visual clarity:
- Pass/healthy:
[PASS] - Warning/partial:
[WARN] - Fail/missing:
[FAIL] - Progress:
with bar[3/7]███░░░░
══════════════════════════════════════════════════ Workflow Dashboard ══════════════════════════════════════════════════ RPI PROGRESS Phase: <current phase from chain.jsonl: research | plan | implement | validate | idle> Gate: <last completed gate or "none"> ───────────────────────────────── research ── plan ── implement ── validate <mark current position with arrow or highlight> ACTIVE EPIC <epic title and ID, or "No active epic"> Progress: <completed>/<total> issues <progress bar> In Progress: <list in-progress issues, max 3> READY TO WORK <top 3 unblocked issues from bd ready> <or "No ready issues — create work with /plan"> RECENT VALIDATIONS <last 3 council reports with verdict> <format: date verdict target> <or "No recent validations"> KNOWLEDGE FLYWHEEL Learnings: <count> Patterns: <count> Pending: <count> Health: <flywheel status or "ao not installed"> Badge: <ao badge output or omit if unavailable> TASK MATURITY <ao task-status summary: active tasks with CASS maturity levels, or omit if unavailable> RECENT SESSIONS <last 3 session summaries with dates> <or "No session history"> GIT STATE Branch: <current branch> Recent: <last 3 commits, one-line> Changes: <uncommitted file count or "clean"> INBOX <message count or "No messages" or "gt not installed"> SESSION QUALITY SIGNALS <last 10 entries from .agents/signals/session-quality.jsonl as table> | Timestamp | Signal | Detail | Session | |-----------|--------|--------|---------| <parsed from JSON lines: .timestamp, .signal, .detail, .session> <or "No quality signals recorded." if file missing or empty> ────────────────────────────────────────────────── SUGGESTED NEXT ACTION <state-aware suggestion — see Step 3> ────────────────────────────────────────────────── QUICK COMMANDS /research Deep codebase exploration /plan Decompose epic into issues /pre-mortem Validate plan before coding /implement Execute a single issue /crank Autonomous epic execution /validation Full close-out and learnings /vibe Targeted code review ══════════════════════════════════════════════════
Step 3: Suggest Next Action (State-Aware)
Evaluate state top-to-bottom. Use the FIRST matching condition:
| Priority | Condition | Suggestion |
|---|---|---|
| 1 | No ratchet chain exists | "Start with or to begin a workflow" |
| 2 | Research done, no plan | "Run to decompose research into actionable issues" |
| 3 | Plan done, no pre-mortem | "Run to validate the plan before coding" |
| 4 | Issues in-progress | "Continue working: or for autonomous execution" |
| 5 | Ready issues available | "Pick up next issue: " |
| 6 | Uncommitted changes | "Review recent work: " |
| 7 | Implementation done, no vibe | "Run for final close-out" |
| 8 | Recent WARN/FAIL verdict | "Address findings in , then re-run " |
| 10 | Vibe passed, no post-mortem | "Run to complete closeout and extract learnings" |
| 11 | Pending knowledge items | "Promote learnings: , then and " |
| 12 | Clean state, nothing pending | "All clear. Start with or to find new work" |
Step 4: JSON Output (--json flag)
If the user passed
--json, output all dashboard data as structured JSON instead of the visual dashboard:
{ "rpi": { "phase": "implement", "last_gate": "plan", "chain_entries": 3 }, "epic": { "id": "ag-042", "title": "Epic title", "progress": { "completed": 3, "total": 7, "in_progress": ["ag-042.2"] } }, "ready_issues": ["ag-042.4", "ag-042.5"], "validations": [ { "date": "2026-02-09", "verdict": "PASS", "target": "src/auth/" } ], "flywheel": { "learnings": 12, "patterns": 5, "pending": 2, "health": "healthy" }, "sessions": [ { "date": "2026-02-09", "file": "session-abc.md" } ], "git": { "branch": "main", "uncommitted_count": 3, "recent_commits": ["abc1234 fix: thing", "def5678 feat: other"] }, "inbox": { "count": 0 }, "session_quality_signals": [ { "timestamp": "2026-03-31T14:22:00Z", "signal": "drift", "detail": "3 corrections in 5min", "session": "abc123" } ], "suggestion": { "priority": 5, "message": "Continue working: /implement ag-042.2" } }
Render this with a single code block. No visual dashboard when
--json is active.
Examples
Checking Status Mid-Epic
User says:
/status
What happens:
- Agent runs 5 parallel bash calls to gather all state
- Agent reads ratchet chain showing "implement" phase
- Agent queries beads showing epic ag-042 with 3/7 issues completed
- Agent finds 2 in-progress issues and 4 ready issues
- Agent lists recent council verdict: PASS on src/auth/
- Agent checks flywheel showing 12 learnings, 5 patterns, 2 pending
- Agent renders dashboard with progress bars and suggests: "Continue working: /implement ag-042.2"
Result: Full single-screen dashboard showing mid-epic progress with actionable next step.
Status in Clean State
User says:
/status
What happens:
- Agent gathers all state in parallel
- Agent finds no ratchet chain exists (.agents/ao/chain.jsonl missing)
- Agent finds no open epics or in-progress issues
- Agent shows clean git state, recent commits only
- Agent finds no recent validations
- Agent suggests: "All clear. Start with /research or /plan to find new work"
Result: Dashboard confirms clean slate, points user to workflow entry points.
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
| Shows "BD_UNAVAILABLE" or "AO_UNAVAILABLE" | CLI tools not installed or not in PATH | Install missing tools: or . Skill gracefully degrades by showing available state only. |
| Ratchet phase shows stale data | Old chain.jsonl not cleaned up | Check timestamp of . If stale, delete it or run to complete cycle and reset state. |
| Suggested action doesn't match intent | State-aware rules didn't capture edge case | Review priority table in Step 3. May need to refine conditions. Use to inspect raw state and debug rule matching. |
| JSON output malformed | Parallel bash calls returned unexpected format | Check each bash call individually. Ensure jq parsing works on actual data. Validate JSON structure with before returning to user. |