mcpField
B
beads

beads

github.com/blockAgent workflows25138 installsUpdated 18w ago
Repository

About beads

A skill guide for using beads, a distributed, git-backed issue tracker for AI agents. It covers task tracking, dependency management, and coordination across work sessions through the `bd` CLI.

Key features

  1. 01Create and update issues
  2. 02Track task dependencies
  3. 03Organize hierarchical tasks
  4. 04Find unblocked work
  5. 05Sync issue data with Git
  6. 06Coordinate across sessions

Use cases

  1. 01Select ready tasks at session start
  2. 02Record newly discovered work
  3. 03Track blockers between tasks
  4. 04Sync shared issue changes before ending

MCP support

beads also offers the `beads-mcp` server, which exposes tools directly to an agent. The CLI and MCP server use the same underlying database.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/block/agent-skills --skill beads

After installing, type/beadsin Claude Code to confirm it loaded.

Details

From the project README

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:

# Check if bd is installed
bd version

# Check if current project has beads initialized
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

CommandPurpose
bd readyList tasks with no open blockers (what to work on next)
bd create "Title" -p 1Create a task (priority 0-3, lower = higher priority)
bd show <id>View task details and dependencies
bd listList all open issues
bd close <id>Mark task as complete
bd update <id> --status in_progressUpdate task status
bd dep add <child> <parent>Create dependency (child blocked by parent)
bd syncForce 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
# 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> --json
During Work
# 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:

# 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 --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  # Forces immediate export, commit, and push

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

# 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-child

Handling Merge Conflicts

If conflicts occur in .beads/issues.jsonl:

# Accept remote version
git checkout --theirs .beads/issues.jsonl

# Re-import to database
bd import -i .beads/issues.jsonl

# Continue with your work

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

# 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

Comments

Markdown supported