beads
Manages git-based issue tracking using the bd CLI: creates issues, tracks blockers, routes work across rigs (independent workstreams with their own issue prefixes), and organizes beads (issues) hierarchically with parent-child dependencies. Beads marked "slingable" are ready to hand off between agents or sessions. Use when: "track issues", "create beads issue", "show blockers", "what''s ready to work on", "beads routing", "prefix routing", "cross-rig beads", "slingable beads", or git-based issue tracking with bd.
Best use case
beads is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Manages git-based issue tracking using the bd CLI: creates issues, tracks blockers, routes work across rigs (independent workstreams with their own issue prefixes), and organizes beads (issues) hierarchically with parent-child dependencies. Beads marked "slingable" are ready to hand off between agents or sessions. Use when: "track issues", "create beads issue", "show blockers", "what''s ready to work on", "beads routing", "prefix routing", "cross-rig beads", "slingable beads", or git-based issue tracking with bd.
Teams using beads should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/beads/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How beads Compares
| Feature / Agent | beads | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Manages git-based issue tracking using the bd CLI: creates issues, tracks blockers, routes work across rigs (independent workstreams with their own issue prefixes), and organizes beads (issues) hierarchically with parent-child dependencies. Beads marked "slingable" are ready to hand off between agents or sessions. Use when: "track issues", "create beads issue", "show blockers", "what''s ready to work on", "beads routing", "prefix routing", "cross-rig beads", "slingable beads", or git-based issue tracking with bd.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Beads - Persistent Task Memory for AI Agents Graph-based issue tracker that survives conversation compaction. ## Overview **bd (beads)** replaces markdown task lists with a dependency-aware graph stored in git. **Key Distinction**: - **bd**: Multi-session work, dependencies, survives compaction, git-backed **Decision Rule**: If resuming in 2 weeks would be hard without bd, use bd. ## Operating Rules - Treat live `bd` reads as authoritative. Use `bd show`, `bd ready`, `bd list`, and `bd export` to inspect current tracker state. Do not treat `.beads/issues.jsonl` as the primary decision source when live `bd` data is available. - Treat `.beads/issues.jsonl` as a git-friendly export artifact. If the repo tracks `.beads/issues.jsonl` and you mutate tracker state, refresh it explicitly with `bd 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 --reason` text. 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 ready` returns 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: ```bash 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 ``` ## Prerequisites - **bd CLI**: Version 0.34.0+ installed and in PATH - **Git Repository**: Current directory must be a git repo - **Initialization**: `bd init` run once (humans do this, not agents) ## Examples ### Skill Loading from $vibe **User says:** `$vibe` **What happens:** 1. Agent loads beads skill automatically via dependency 2. Agent calls `bd show <id>` to read issue metadata 3. Agent links validation findings to the issue being checked 4. Output references issue ID in validation report **Result:** Validation report includes issue context, no manual bd lookups needed. ### Skill Loading from $implement **User says:** `$implement ag-xyz-123` **What happens:** 1. Agent loads beads skill to understand issue structure 2. Agent calls `bd show ag-xyz-123` to read issue body 3. Agent checks dependencies with bd output 4. Agent closes issue with `bd close ag-xyz-123` after completion **Result:** Issue lifecycle managed automatically during implementation. ## Troubleshooting | Problem | Cause | Solution | |---------|-------|----------| | bd command not found | bd CLI not installed or not in PATH | Install bd: `brew install bd` or check PATH | | "not a git repository" error | bd requires git repo, current dir not initialized | Run `git init` or navigate to git repo root | | "beads not initialized" error | .beads/ directory missing | Human runs `bd init --prefix <prefix>` once | | Issue ID format errors | Wrong prefix or malformed ID | Check rigs.json for correct prefix, follow `<prefix>-<tag>-<num>` format | ## Reference Documents - [references/ANTI_PATTERNS.md](references/ANTI_PATTERNS.md) - [references/BOUNDARIES.md](references/BOUNDARIES.md) - [references/CLI_REFERENCE.md](references/CLI_REFERENCE.md) - [references/DEPENDENCIES.md](references/DEPENDENCIES.md) - [references/INTEGRATION_PATTERNS.md](references/INTEGRATION_PATTERNS.md) - [references/ISSUE_CREATION.md](references/ISSUE_CREATION.md) - [references/MOLECULES.md](references/MOLECULES.md) - [references/PATTERNS.md](references/PATTERNS.md) - [references/RESUMABILITY.md](references/RESUMABILITY.md) - [references/ROUTING.md](references/ROUTING.md) - [references/STATIC_DATA.md](references/STATIC_DATA.md) - [references/TROUBLESHOOTING.md](references/TROUBLESHOOTING.md) - [references/WORKFLOWS.md](references/WORKFLOWS.md) ## Local Resources ### references/ - [references/ANTI_PATTERNS.md](references/ANTI_PATTERNS.md) - [references/BOUNDARIES.md](references/BOUNDARIES.md) - [references/CLI_REFERENCE.md](references/CLI_REFERENCE.md) - [references/DEPENDENCIES.md](references/DEPENDENCIES.md) - [references/INTEGRATION_PATTERNS.md](references/INTEGRATION_PATTERNS.md) - [references/ISSUE_CREATION.md](references/ISSUE_CREATION.md) - [references/MOLECULES.md](references/MOLECULES.md) - [references/PATTERNS.md](references/PATTERNS.md) - [references/RESUMABILITY.md](references/RESUMABILITY.md) - [references/ROUTING.md](references/ROUTING.md) - [references/STATIC_DATA.md](references/STATIC_DATA.md) - [references/TROUBLESHOOTING.md](references/TROUBLESHOOTING.md) - [references/WORKFLOWS.md](references/WORKFLOWS.md) ### scripts/ - `scripts/validate.sh`
Related Skills
vibe
Comprehensive code validation. Runs complexity analysis then multi-model council. Answer: Is this code ready to ship? Triggers: "vibe", "validate code", "check code", "review code", "code quality", "is this ready".
validation
Full validation phase orchestrator. Vibe + post-mortem + retro + forge. Reviews implementation quality, extracts learnings, feeds the knowledge flywheel. Triggers: "validation", "validate", "validate work", "review and learn", "validation phase", "post-implementation review".
update
Reinstall all AgentOps skills globally from the latest source. Triggers: "update skills", "reinstall skills", "sync skills".
trace
Trace design decisions and concepts through session history, handoffs, and git. Triggers: "trace decision", "how did we decide", "where did this come from", "design provenance", "decision history".
test
Test generation, coverage analysis, and TDD workflow. Triggers: "test", "generate tests", "test coverage", "write tests", "tdd", "add tests", "test strategy", "missing tests", "coverage gaps".
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".
standards
Language-specific coding standards and validation rules. Provides Python, Go, Rust, TypeScript, Shell, YAML, JSON, and Markdown standards. Auto-loaded by $vibe, $implement, $doc, $bug-hunt, $complexity based on file types.
shared
Shared reference documents for multi-agent skills (not directly invocable)
security
Continuous repository security scanning and release gating. Triggers: "security scan", "security audit", "pre-release security", "run scanners", "check vulnerabilities".
security-suite
Composable security suite for binary and prompt-surface assurance, static analysis, dynamic tracing, repo-native redteam scans, contract capture, baseline drift, and policy gating. Triggers: "binary security", "reverse engineer binary", "black-box binary test", "behavioral trace", "baseline diff", "prompt redteam", "security suite".
scenario
Author and manage holdout scenarios for behavioral validation. Scenarios are stored in .agents/holdout/ where implementing agents cannot see them. Triggers: "$scenario", "holdout", "behavioral scenario", "create scenario", "list scenarios".
scaffold
Project scaffolding, component generation, and boilerplate setup. Triggers: "scaffold", "new project", "init project", "create project", "generate component", "setup project", "starter", "boilerplate".