SuperAPI AI Directory

beads-bv

Agents & models

View repository

Updated 10-15 17:29

About this skill

beads-bv — Graph-Aware Triage

Core Insight: Your backlog is a directed graph. PageRank finds what everything depends on. Betweenness finds bottlenecks. The math knows your priorities better than your gut.

Constraints

  • Run only bv --robot-* commands because bare bv launches an interactive TUI and blocks an agent lane.
  • Treat graph recommendations as triage evidence, not permission to mutate or close work; the owning workflow still applies its acceptance gate.
  • Resolve the live tracker store before every br command because linked worktrees may not contain the canonical ledger.

CRITICAL: Robot Mode Only

bv                    # WRONG — launches TUI, blocks terminal
bv --robot-triage     # CORRECT — JSON output for agents

NEVER run bare bv in agent contexts.


Commands

Core (Start Here)

Command Returns Use When
--robot-triage THE MEGA-COMMAND: recommendations + blockers + health What should I work on?
--robot-next Single top pick + claim command Just the one thing
--robot-plan Parallel execution tracks with unblocks What can run concurrently?
--robot-insights All metrics + cycles + density + k-core + slack Deep analysis
--robot-priority Priority misalignments with confidence Am I prioritizing wrong?

Labels & Health

Command Returns Use When
--robot-label-health Per-label: health_level, velocity, staleness Which domain is struggling?
--robot-label-flow Cross-label dependencies, bottleneck_labels Inter-team blockers
--robot-label-attention Attention-ranked labels Where to focus?
--robot-alerts Stale issues, blocking cascades, priority mismatches What's rotting?
--robot-suggest Duplicates, missing deps, cycle breaks Hygiene

History & Correlation

Command Returns Use When
--robot-history Bead-to-commit correlations Change tracking
--robot-causality <id> Timeline, blockers, insights Why did this take so long?
--robot-related <id> File/commit overlap, clusters What's connected?
--robot-file-beads <path> Beads that touched a file Code ownership

Time-Travel & Search

Command Returns Use When
--robot-diff --diff-since <ref> New/closed/modified since ref What changed?
--as-of <ref> Historical point-in-time Time-travel
--robot-search Search results as JSON Find beads
--search-mode hybrid Text + graph ranking Smart search

Full command reference: COMMANDS.md


Workflow

# 1. What should I work on?
bv --robot-triage | jq '.recommendations[0]'

# 2. Claim it
BEADS_DIR="$(ao beads dir)" br update ag-123 --status in_progress

# 3. Do the work...

# 4. Done
BEADS_DIR="$(ao beads dir)" br close ag-123 --reason "Implemented in abc123"

# 5. Next
bv --robot-triage

Scoping & Filtering

bv --robot-plan --label backend              # Scope to label's subgraph
bv --robot-insights --as-of HEAD~30          # Historical point-in-time
bv --recipe actionable --robot-plan          # Only unblocked items
bv --recipe high-impact --robot-triage       # Top PageRank scores
bv --robot-triage --robot-triage-by-track    # Group by parallel streams
bv --robot-triage --robot-triage-by-label    # Group by domain
bv --robot-alerts --severity=critical        # Filter alerts

Key Metrics

Metric High Score Means
PageRank Everything depends on this — fix first
Betweenness Bottleneck — blocks multiple paths
Cycles Broken graph — fix immediately
K-Core Structural strength (core membership)
Articulation Cut vertex — removal disconnects graph

Decision Matrix

Pattern Meaning Action
High PageRank + High Betweenness Critical bottleneck Drop everything, fix this
High PageRank + Low Betweenness Foundation piece Important but not blocking
Low PageRank + High Betweenness Unexpected chokepoint Investigate why

Full metrics: METRICS.md


br Essentials

BEADS_DIR="$(ao beads dir)" br ready --json                  # What's unblocked?
BEADS_DIR="$(ao beads dir)" br create "Title" -d "desc"      # New issue
BEADS_DIR="$(ao beads dir)" br update ag-123 --status in_progress   # Working on this
BEADS_DIR="$(ao beads dir)" br close ag-123 --reason "Done"  # Done
BEADS_DIR="$(ao beads dir)" br dep add ag-123 ag-456         # Add dependency
BEADS_DIR="$(ao beads dir)" br dep remove ag-123 ag-456      # Break cycle

Troubleshooting

Problem Cause Fix
bv hangs TUI launched Use --robot-* flags
Cycles detected Circular dependency br dep remove to break
Phase 2 timeout Large graph (>500 nodes) Check status field
Empty metric maps Phase 2 still running Check status flags
Inconsistent outputs Different data Compare data_hash

Validation

# Tools working?
bv --robot-triage >/dev/null && BEADS_DIR="$(ao beads dir)" br list >/dev/null && echo "OK"

# Graph healthy?
bv --robot-insights | jq '{cycles: .Cycles, density: .density}'
# cycles must be [], density < 0.3 is healthy

Output Specification

  • Path: stdout; this skill creates no durable artifact directory or file.
  • Filename: none. Preserve the selected bv --robot-* JSON on stdout instead of inventing a report file.
  • Format: the command's JSON schema, narrowed with jq only when the downstream consumer requests a smaller object.
  • Exit code: validate with bv --robot-triage >/dev/null and a resolved-store br list >/dev/null; any nonzero exit is a failed handoff.
  • Downstream handoff: consumed by the planning or execution skill that requested triage; report the selected bead IDs, graph reason, and exact command used.

Quality Checklist

  • The command is a robot-mode command and its JSON parses successfully.
  • Recommendations cite graph evidence such as PageRank, betweenness, blockers, or cycles instead of intuition alone.
  • No tracker mutation is presented as completed unless its own command and acceptance gate succeeded.

References

Need Read
All robot commands + flags COMMANDS.md
All metrics explained METRICS.md
jq recipes, morning triage RECIPES.md