beads

📁 martinffx/claude-code-atelier 📅 Jan 26, 2026
1
总安装量
1
周安装量
#49237
全站排名
安装命令
npx skills add https://github.com/martinffx/claude-code-atelier --skill beads

Agent 安装分布

mcpjam 1
claude-code 1
windsurf 1
zencoder 1
crush 1
cline 1

Skill 文档

Beads Task Tracker

Dependency-aware task management integrated with spec workflows. Tasks are stored in .beads/beads.jsonl and persist across sessions via git.

Overview

Beads enforces implementation order through dependency tracking:

  • Dependency-driven executionbd ready surfaces only unblocked tasks
  • Bottom-up enforcement – Dependencies ensure Entity → Repository → Service → Router
  • Git-backed persistence.beads/beads.jsonl tracks all tasks and status
  • Spec integration – Commands like /spec:plan auto-create epics with ordered tasks

Core Workflow Commands

Command Purpose Example
bd init Initialize Beads in project bd init
bd create <name> Create task or epic bd create "Implement UserEntity" -t task -p 2 -l entity,user
bd ready Find next unblocked task bd ready --label user --json
bd update <id> Update task status/fields bd update task-123 --status in_progress
bd close <id> Mark task complete bd close task-123 --reason "Implemented with tests"
bd list Show all tasks bd list --json or bd list --label feature

Task Types and Priority

Types (-t flag):

  • epic – Feature or change container
  • task – Implementation work (default)

Priority (-p flag):

  • 1 – High (epics)
  • 2 – Normal (implementation tasks)
  • 3 – Low (nice-to-have)

Labels (-l flag):

  • Feature name: user, auth, billing
  • Layer: entity, repository, service, router
  • Type: feature, change, bug

Dependency Management

Dependencies enforce execution order and identify blocking relationships.

Dependency Commands

Command Purpose Example
bd dep add <task> <blocks> Task blocks another bd dep add task-1 task-2 --type blocks
bd dep list Show all dependencies bd dep list --json
bd dep list <id> Show task dependencies bd dep list task-123
bd dep tree Visualize dependency tree bd dep tree

Dependency Types

  • blocks – Task must complete before dependent can start
  • discovered-from – Task identified during another task
  • related-to – Informational relationship

Finding Blocked Tasks

# Show only blocked tasks
bd list --json | jq '.[] | select(.blocked == true)'

# Find tasks blocking a specific task
bd dep list task-123

Task Organization

Epic Structure

Epics contain related tasks for a feature or change:

# Create epic
bd create "Feature: User Management" -t epic -p 1 -l feature,user

# Create tasks in epic
bd create "Implement UserEntity" -t task -p 2 -l entity,user -e epic-1
bd create "Implement UserRepository" -t task -p 2 -l repository,user -e epic-1

# Add dependencies (Repository depends on Entity)
bd dep add task-1 task-2 --type blocks

Status Transitions

Tasks flow through these states:

  1. pending – Created, not yet started
  2. in_progress – Actively being worked
  3. done – Completed successfully

Update status explicitly:

bd update task-123 --status in_progress
bd close task-123  # Transitions to done

Spec Command Integration

Spec commands automatically manage Beads for workflow enforcement.

/spec:plan [change]

Creates implementation plan with Beads epic and tasks:

Reads:

  • docs/spec/<feature>/spec.md – Technical design
  • docs/spec/<feature>/changes/<change>/design.md – Change design

Creates:

  • docs/spec/<feature>/changes/<change>/plan.json – Task list with dependencies
  • docs/spec/<feature>/changes/<change>/delta.md – ADDED/MODIFIED/REMOVED
  • Beads epic with label <feature>
  • Beads tasks ordered by layer dependencies

Dependencies:

  • Entity tasks have no dependencies (bottom layer)
  • Repository tasks depend on Entity tasks
  • Service tasks depend on Repository tasks
  • Router tasks depend on Service tasks

/spec:work [feature]

Implements next ready task:

Finds ready task:

bd ready --label <feature> --json  # If feature specified
bd ready --json                     # Any feature if not specified

Marks in progress:

bd update <task-id> --status in_progress

After implementation:

bd close <task-id> --reason "Implemented with layer boundary tests"

/spec:status [feature]

Reports progress using Beads data:

Queries tasks:

bd list --label <feature> --json  # Feature status
bd list --json                     # All features

Calculates metrics:

  • Completion percentage: completed / total * 100
  • Ready task count: bd ready --label <feature> | wc -l
  • Blocked task identification from dependencies

Reports:

  • Total/completed/in-progress/blocked/ready counts
  • Next ready tasks
  • Dependency blockers
  • Recommended next action

/spec:complete

Archives completed work:

Verifies all tasks done:

bd list --label <feature> --json
# All tasks must have status: done

After merging delta to spec:

  • Beads epic remains (git history)
  • Beads tracks completion metrics
  • Change folder deleted (git preserves history)

Common Patterns

Pattern: Create Epic and Tasks

# 1. Create epic
bd create "Feature: User Auth" -t epic -p 1 -l feature,auth

# 2. Create layer tasks in dependency order
bd create "Implement UserEntity" -t task -p 2 -l entity,auth -e epic-1
bd create "Implement UserRepository" -t task -p 2 -l repository,auth -e epic-1
bd create "Implement AuthService" -t task -p 2 -l service,auth -e epic-1
bd create "Implement auth routes" -t task -p 2 -l router,auth -e epic-1

# 3. Add bottom-up dependencies
bd dep add task-1 task-2 --type blocks  # Entity blocks Repository
bd dep add task-2 task-3 --type blocks  # Repository blocks Service
bd dep add task-3 task-4 --type blocks  # Service blocks Router

Pattern: Implementation Work Loop

# 1. Find next ready task
bd ready --label auth --json

# 2. Start work
bd update task-1 --status in_progress

# 3. Implement with tests (Stub→Test→Fix)
# ... code implementation ...

# 4. Complete task
bd close task-1 --reason "Entity implemented with validation tests"

# 5. Repeat
bd ready --label auth --json

Pattern: Check Progress

# Feature-specific progress
bd list --label auth --json | jq '{
  total: length,
  done: [.[] | select(.status == "done")] | length,
  in_progress: [.[] | select(.status == "in_progress")] | length,
  blocked: [.[] | select(.blocked == true)] | length
}'

# All features overview
bd list --json | jq 'group_by(.labels[] | select(. == "feature"))
  | map({feature: .[0].labels[1], tasks: length})'

Pattern: Handle Discovered Work

During implementation, create new tasks for edge cases:

# Create new task
bd create "Add email validation edge case" -t task -p 2 -l entity,auth

# Link to task where discovered
bd dep add task-5 task-1 --type discovered-from

JSON Output

All commands support --json for programmatic access:

# Task structure
{
  "id": "task-123",
  "name": "Implement UserEntity",
  "type": "task",
  "status": "pending",
  "priority": 2,
  "labels": ["entity", "user"],
  "epic": "epic-1",
  "created": "2024-01-15T10:30:00Z",
  "updated": "2024-01-15T10:30:00Z",
  "blocked": false,
  "dependencies": []
}

Parse with jq for filtering:

# Ready tasks
bd ready --json | jq '.[0].id'

# Completed tasks
bd list --json | jq '[.[] | select(.status == "done")] | length'

# Tasks by layer
bd list --json | jq 'group_by(.labels[] | select(. == "entity" or . == "repository"))'

Quick Reference

# Setup
bd init                                    # Initialize Beads

# Task Creation
bd create "Task name" -t task -p 2 -l feature  # Create task
bd create "Epic name" -t epic -p 1 -l feature  # Create epic

# Task Management
bd ready                                   # Find next task
bd ready --label feature                   # Feature-specific
bd update task-123 --status in_progress    # Start work
bd close task-123                          # Complete work

# Progress Tracking
bd list                                    # All tasks
bd list --label feature                    # Feature tasks
bd list --json                             # JSON output

# Dependencies
bd dep add task-1 task-2 --type blocks     # Add dependency
bd dep list task-123                       # Show dependencies
bd dep tree                                # Visualize tree

# Spec Integration
/spec:plan feature                         # Create Beads epic
/spec:work feature                         # Start next ready task
/spec:status feature                       # Check progress
/spec:complete feature change              # Archive work