| name | beads |
| description | 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. |
| author | goose |
| version | 1.0 |
| tags | ["development","productivity","task-management","workflow"] |
This skill teaches effective use of beads (bd), a distributed git-backed issue tracker designed for AI agents. Use beads to track tasks, manage dependencies, and coordinate work across sessions.
Getting Started
First, check if beads is available and initialized:
bd version
bd status
If bd is not installed, ask the user which installation method they prefer:
- npm:
npm install -g @beads/bd
- Homebrew:
brew install beads (macOS)
- 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:
bd init
For personal use on shared projects (won't commit to repo):
bd init --stealth
For contributors on forked repos (routes to separate planning repo):
bd init --contributor
Essential Commands
| Command | Purpose |
|---|
bd ready | List tasks with no open blockers (what to work on next) |
bd create "Title" -p 1 | Create a task (priority 0-3, lower = higher priority) |
bd show <id> | View task details and dependencies |
bd list | List all open issues |
bd close <id> | Mark task as complete |
bd update <id> --status in_progress | Update task status |
bd dep add <child> <parent> | Create dependency (child blocked by parent) |
bd sync | Force immediate sync to git |
Always use --json flag for machine-readable output when parsing results.
Task Hierarchy
Beads supports hierarchical IDs for organizing work:
bd-a3f8 — Epic (large feature)
bd-a3f8.1 — Task under epic
bd-a3f8.1.1 — Sub-task
Create hierarchical tasks:
bd create "Epic: User Authentication" -t epic -p 1
bd create "Implement login flow" -p 1 --parent bd-a3f8
Session Workflow
Starting a Session
bd ready --json
bd update <id> --status in_progress
bd show <id> --json
During Work
bd create "Fix edge case in validation" -p 2
bd dep add <new-task> <blocking-task>
bd update <id> --notes "Found issue with timezone handling"
Ending a Session ("Land the Plane")
When finishing work, complete ALL these steps:
bd create "TODO: Add integration tests" -p 2
bd close <id> --reason "Completed"
git pull --rebase
bd sync
git push
git status
bd ready --json
CRITICAL: Always push before ending a session. Unpushed work causes coordination problems in multi-agent workflows.
Important Rules
DO use bd update with flags
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_progress
DO NOT use bd edit
The edit command opens an interactive editor ($EDITOR) which AI agents cannot use. Always use bd update with flags instead.
DO sync before ending sessions
bd sync
Without bd sync, changes sit in a 30-second debounce window and may not be committed.
DO include issue IDs in commit messages
git commit -m "Fix auth validation bug (bd-abc)"
This enables bd doctor to detect orphaned issues.
Dependency Types
bd dep add <child> <parent> --type blocks
bd dep add <issue1> <issue2> --type related
bd dep add <child> <parent> --type parent-child
Handling Merge Conflicts
If conflicts occur in .beads/issues.jsonl:
git checkout --theirs .beads/issues.jsonl
bd import -i .beads/issues.jsonl
Git Hooks (Recommended)
Install hooks for automatic sync:
bd hooks install
This 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 (beads-mcp) that provides tools directly to your agent. Install via:
pip install beads-mcp
The CLI (bd) and MCP server work with the same underlying database.
Quick Reference
bd ready
bd create "Fix bug in login" -p 1
bd update bd-xyz --status in_progress
bd close bd-xyz --reason "Completed"
bd sync
git push