beads
Original:🇺🇸 English
Translated
Use beads (bd) for persistent task tracking in coding projects. A git-backed issue tracker designed for AI agents with dependency graphs, hierarchical tasks, and multi-agent coordination.
7installs
Sourceblock/agent-skills
Added on
NPX Install
npx skill4agent add block/agent-skills beadsTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →This skill teaches effective use of beads (), a distributed git-backed issue tracker designed for AI agents. Use beads to track tasks, manage dependencies, and coordinate work across sessions.
bdGetting Started
First, check if beads is available and initialized:
bash
# Check if bd is installed
bd version
# Check if current project has beads initialized
bd statusIf is not installed, ask the user which installation method they prefer:
bd- npm:
npm install -g @beads/bd - Homebrew: (macOS)
brew install beads - Go:
go install github.com/steveyegge/beads/cmd/bd@latest
Do not install without user confirmation, as these are global system packages.
If not initialized in the project, run:
bash
bd initFor personal use on shared projects (won't commit to repo):
bash
bd init --stealthFor contributors on forked repos (routes to separate planning repo):
bash
bd init --contributorEssential Commands
| Command | Purpose |
|---|---|
| List tasks with no open blockers (what to work on next) |
| Create a task (priority 0-3, lower = higher priority) |
| View task details and dependencies |
| List all open issues |
| Mark task as complete |
| Update task status |
| Create dependency (child blocked by parent) |
| Force immediate sync to git |
Always use flag for machine-readable output when parsing results.
--jsonTask Hierarchy
Beads supports hierarchical IDs for organizing work:
- — Epic (large feature)
bd-a3f8 - — Task under epic
bd-a3f8.1 - — Sub-task
bd-a3f8.1.1
Create hierarchical tasks:
bash
bd create "Epic: User Authentication" -t epic -p 1
bd create "Implement login flow" -p 1 --parent bd-a3f8Session Workflow
Starting a Session
bash
# See what's ready to work on
bd ready --json
# Pick a task and mark it in progress
bd update <id> --status in_progress
# View full details
bd show <id> --jsonDuring Work
bash
# Create new tasks as you discover them
bd create "Fix edge case in validation" -p 2
# Add dependencies
bd dep add <new-task> <blocking-task>
# Update task with notes
bd update <id> --notes "Found issue with timezone handling"Ending a Session ("Land the Plane")
When finishing work, complete ALL these steps:
bash
# 1. File issues for remaining work
bd create "TODO: Add integration tests" -p 2
# 2. Close completed tasks
bd close <id> --reason "Completed"
# 3. Sync and push (MANDATORY)
git pull --rebase
bd sync
git push
# 4. Verify push succeeded
git status # Must show "up to date with origin"
# 5. Identify next task for follow-up
bd ready --jsonCRITICAL: Always push before ending a session. Unpushed work causes coordination problems in multi-agent workflows.
Important Rules
DO use bd update
with flags
bd updatebash
bd update <id> --description "new description"
bd update <id> --title "new title"
bd update <id> --design "design notes"
bd update <id> --notes "additional notes"
bd update <id> --acceptance "acceptance criteria"
bd update <id> --status in_progressDO NOT use bd edit
bd editThe command opens an interactive editor () which AI agents cannot use. Always use with flags instead.
edit$EDITORbd updateDO sync before ending sessions
bash
bd sync # Forces immediate export, commit, and pushWithout , changes sit in a 30-second debounce window and may not be committed.
bd syncDO include issue IDs in commit messages
bash
git commit -m "Fix auth validation bug (bd-abc)"This enables to detect orphaned issues.
bd doctorDependency Types
bash
# Hard blocker - child cannot start until parent is done
bd dep add <child> <parent> --type blocks
# Soft link - related but not blocking
bd dep add <issue1> <issue2> --type related
# Parent-child - hierarchical relationship
bd dep add <child> <parent> --type parent-childHandling Merge Conflicts
If conflicts occur in :
.beads/issues.jsonlbash
# Accept remote version
git checkout --theirs .beads/issues.jsonl
# Re-import to database
bd import -i .beads/issues.jsonl
# Continue with your workGit Hooks (Recommended)
Install hooks for automatic sync:
bash
bd hooks installThis prevents stale JSONL problems by auto-syncing on commit, merge, push, and checkout.
MCP Server Alternative
For tighter integration, beads also offers an MCP server () that provides tools directly to your agent. Install via:
beads-mcpbash
pip install beads-mcpThe CLI () and MCP server work with the same underlying database.
bdQuick Reference
bash
# What should I work on?
bd ready
# Create a task
bd create "Fix bug in login" -p 1
# Start working
bd update bd-xyz --status in_progress
# Done working
bd close bd-xyz --reason "Completed"
bd sync
git push