Official skill for beads_rust (`br`), a local-first, dependency-aware issue tracker for AI agents. Use when creating issues, triaging backlogs, managing dependencies, finding ready work, updating status, or syncing to git via JSONL.
Official skill for beads_rust (`br`), a local-first, dependency-aware issue tracker for AI agents. Use when creating issues, triaging backlogs, managing dependencies, finding ready work, updating status, or syncing to git via JSONL.
br ready --json # Actionable work (no blockers)
br list --json # All issues
br list --status open --sort priority --json # Filter and sort
br list --priority 0-1 --json # Filter by priority range
br list --assignee alice --json # Filter by assignee
br blocked --json # Show blocked issues
br search "keyword" --json # Full-text search
br show <id> --json # Issue details with dependencies
br stale --days 30 --json # Stale issues
br count --by status --json # Count with grouping
Dependencies
br dep add <child> <parent> # child depends on parent
br dep add <id> <depends-on> --type blocks # Explicit block type
br dep remove <child> <parent> # Remove dependency
br dep list <id> --json # List dependencies for issue
br dep tree <id> --json # Show dependency tree
br dep cycles --json # Find circular deps (MUST be empty!)
Critical:br dep cycles must return empty. Circular dependencies break the dependency graph and make br ready unreliable.
Labels
br label add <id> backend auth # Add multiple labels
br label remove <id> urgent # Remove label
br label list <id> # List issue's labels
br label list-all # All labels in project
br doctor # Full diagnostics
br stats --json # Project statistics
br config list # Show all configuration
br config get id.prefix # Get specific value
br config set defaults.priority=1 # Set value
br where# Show workspace location
br version # Show version
br upgrade # Self-update (if enabled)
br lint --json # Lint issues for problems
Priority Scale
Priority
Meaning
Use numbers, not words
0
Critical
Immediate action required
1
High
Important, do soon
2
Medium (default)
Normal priority
3
Low
When time permits
4
Backlog
Future consideration
Issue Types
task, bug, feature, epic, question, docs
Output Formats
Flag
Use case
--json
Default for agents -- full structured data
--format toon
Token-optimized alternative for context-window-sensitive agents
(no flag)
Human-readable terminal output with colors
bv Integration
CRITICAL: Never run bare bv -- it launches interactive TUI and blocks.
# Always use --robot-* flags:
bv --robot-next # Single top pick + claim command
bv --robot-triage # Full triage with recommendations
bv --robot-plan # Parallel execution tracks
bv --robot-insights | jq '.Cycles'# Check graph health (must be empty)
bv --robot-priority # Priority misalignment detection
bv --robot-alerts # Stale issues, blocking cascades
Agent Mail Coordination
Use bead ID as thread_id for multi-agent coordination:
Concept
Value
Mail thread_id
bd-### (the issue ID)
Mail subject
[bd-###] ...
File reservation reason
bd-###
Commit messages
Include bd-### for traceability
# 1. Reserve files for bead
file_reservation_paths(..., reason="bd-123")
# 2. Announce work in thread
send_message(..., thread_id="bd-123", subject="[bd-123] Starting...")
# 3. Do work...# 4. Close bead and release
br close bd-123 --reason "Completed"
release_file_reservations(...)
Session Ending Pattern
Before ending any work session:
git pull --rebase
br sync --flush-only
git add .beads/ && git commit -m "Update issues"
git push
git status # MUST show "up to date with origin"
Standard Agent Workflow (Full)
ACTOR="${BR_ACTOR:-assistant}"# 1. Verify workspace
br where
br ready --json
br blocked --json
br list --status open --sort priority --json
# 2. Pick highest-priority ready work
br show <id> --json
# 3. Claim it
br update --actor "$ACTOR" <id> --status in_progress --claim
# 4. Do work...# 5. Close with evidence
br close --actor "$ACTOR" <id> --reason "Implemented X in commit abc123"# 6. Check queue impact
br ready --json
br blocked --json
# 7. Sync to git
br sync --flush-only
git add .beads/ && git commit -m "feat: X (<id>)"
git push
Triage Decision Matrix
Classify each issue into exactly one category:
Classification
Action
implemented
Close with evidence (commit/PR/file/behavior)
out-of-scope
Close with explicit boundary reason
needs-clarification
Comment with specific unanswered questions
actionable
Keep open, correct status/priority/labels/deps
During large triage efforts, checkpoint every few updates:
br ready --json
br blocked --json
Anti-Patterns
Running br sync without --flush-only or --import-only
Forgetting sync before git commit
Creating circular dependencies
Running bare bv (blocks session)
Assuming auto-commit behavior (br NEVER auto-commits)
Inventing evidence for closure -- if unsure, comment instead