beads
Track issues with bd/br, triage with bv, and convert plans to beads.
How do I install this agent skill?
npx skills add https://github.com/boshu2/agentops --skill beadsIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The beads skill is a comprehensive issue-tracking tool for AI agents that integrates with the bd, br, and bv CLI tools. It is well-documented and follows security best practices, with no significant vulnerabilities detected.
- Socketpass
No alerts
- Snykfail
Risk: CRITICAL · 1 issue
- Runlayerwarn
6/15 files flagged
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
Beads - Persistent Task Memory for AI Agents
Graph-based issue tracker that survives conversation compaction.
Overview
bd and br (beads_rust) replace markdown task lists with a dependency-aware graph stored in git. bv adds graph-aware triage using PageRank and betweenness centrality.
Key Distinction:
- bd/br: Multi-session work, dependencies, survives compaction, git-backed
- bv: Graph analysis, priority triage, bottleneck detection, parallel execution planning
- Task tools (TaskCreate/TaskUpdate/TaskList): Single-session tasks, status tracking, conversation-scoped
Decision Rule: If resuming in 2 weeks would be hard without bd, use bd.
br vs bd: br is the Rust rewrite. Commands are the same except: br never auto-commits (git is your job), and bd sync becomes br sync --flush-only. Use whichever is installed.
bv safety: NEVER run bare bv — it launches interactive TUI and blocks the terminal. Always use --robot-* flags.
Don't re-learn the command surface here. bd --help / br --help (and per-subcommand --help) self-describe every command and flag — run them before specifying enforcement commands; compose primitives, don't invent (composition-over-invention.md). Full catalogs ship in CLI_REFERENCE.md (bd), BR_REFERENCE.md (br), and BV_TRIAGE.md (bv robot flags). This skill carries the operating doctrine.
Operating Rules
- Treat live
bdreads as authoritative. Usebd show,bd ready,bd list, andbd exportto inspect current tracker state. Do not treat.beads/issues.jsonlas the primary decision source when livebddata is available. - Before selecting new ready work after CI, release, or rollout activity, prefer
ao reconcile --jsonwhen available. Treatbd readyas planning input only after high-severity main/release/bead evidence findings are resolved or explicitly superseded. - Treat
.beads/issues.jsonlas a git-friendly export artifact. If the repo tracks.beads/issues.jsonland you mutate tracker state, refresh it explicitly withbd export -o .beads/issues.jsonl. - After closing or materially updating a child issue, reconcile the open parent in the same session. Update stale "remaining gap" notes immediately, and close the parent when the child resolved the parent's last real gap.
- Before closing a child issue, include scoped closure proof in the
bd close --reasontext. Name the touched files or explicit no-file evidence artifact, validation command(s), and parent reconciliation outcome. Do not use generic closure reasons such as "done" or "implemented" for child beads. - If
bd readyreturns a broad umbrella issue, do not implement directly against vague parent wording. First narrow the remaining gap into an execution-ready child issue, then land the child and reconcile the parent. - Normalize stale queue items instead of silently skipping them. Rewrite broad or partially absorbed beads to the actual remaining gap.
- Use this post-mutation sequence when tracker state changed:
bd ... # mutate tracker state
bd export -o .beads/issues.jsonl # if tracked in git
bd vc status
bd dolt commit -m "..." # if tracker changes are pending
bd dolt push # only if a Dolt remote is configured
Session ending pattern (br — sync is EXPLICIT, never automatic):
git pull --rebase
br sync --flush-only # DB → JSONL (reverse: --import-only after pull)
git add .beads/ && git commit -m "Update issues"
git push
Prerequisites
- bd CLI: Version 0.34.0+ installed and in PATH
- Git Repository: Current directory must be a git repo
- Initialization:
bd initrun once (humans do this, not agents)
Examples
User says: /validate
This skill loads via dependency: the agent reads issue metadata with bd show <id>, links validation findings to the issue under check, and cites the issue ID in the validation report — no manual bd lookups.
User says: /implement ag-xyz-123
This skill loads to manage the issue lifecycle: bd show ag-xyz-123 for the body, check dependencies, and bd close ag-xyz-123 (with scoped closure proof) after completion.
bv Graph Triage
NEVER run bare bv. Always use --robot-* flags (--robot-triage, --robot-next, --robot-plan, --robot-insights, --robot-priority, --robot-alerts — selection guide in BV_TRIAGE.md).
Key metrics: PageRank = everything depends on this (fix first). Betweenness = bottleneck (blocks multiple paths). High both = critical bottleneck, drop everything.
Plan-to-Beads Workflow
Convert a markdown plan into fully dependency-wired beads:
- Read the full plan, AGENTS.md, README, linked intent issue, and acceptance criteria.
- Create beads with
br createfor each issue, including full context in the description. - For every feature, bug, or product-facing behavior, include a fenced
gherkinblock or link to a filled intent issue. Mechanical chores may omit Gherkin only when their acceptance criteria are fully command/file based. - Include the
hexagon:boundary block fromdocs/architecture/intent-to-loop-hexagon.mdfor substantial beads: inbound port, bounded context, adapters, context packet, and done state. - Wire dependencies with
br dep add/bd dep add. Do not hand-edit JSONL or database files. - Polish iteratively (usually 6-9 passes) until steady-state. Check for lost features, oversimplification, missing tests, unclear boundaries, missing e2e coverage, and weak logging.
- Validate:
br dep cyclesmust be empty; runbv --robot-insightsfor graph health; usebv --robot-nextfor the first bead. Never run barebv. - Sync explicitly before commit:
br sync --flush-only, thengit add .beads/and commit tracker changes when appropriate.
Beads should be so detailed that a fresh agent can implement without consulting the original plan. Ready-to-implement beads have clear scope, explicit dependencies, BDD or mechanical acceptance, unit/e2e test expectations, detailed logging expectations, a named done state, and no dependency cycles.
Troubleshooting
Symptom → fix table (command not found, not-a-git-repo, init missing, ID prefix errors, bv hangs, dependency cycles, sync direction confusion): TROUBLESHOOTING.md. The two most common: a hung bv means a robot flag was omitted; br sync confusion means the direction (--flush-only vs --import-only) wasn't specified.
Reference Documents
-
references/beads.feature — Executable spec: bd-mandatory tracker, create-before-code, ready-detection, discovered-from links, live-reads-authoritative (soc-qk4b)
-
references/composition-over-invention.md — Run
bd <subcmd> --helpbefore specifying enforcement commands; compose primitives, don't invent
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/boshu2/agentops/beads">View beads on skillZs</a>