| name | beads-task-management |
| description | Use beads for structured task tracking with dependencies, recovery cards, and cross-session context management |
Beads Task Management
Overview
Beads is a git-backed issue tracker designed for AI agents and distributed workflows. This skill teaches Claude how to use beads effectively for task management, context recovery, and cross-session collaboration.
Core principle: Persistent task tracking prevents context loss and enables multi-session workflows.
Prerequisites
Required:
bd (beads CLI) - Install: brew install steveyegge/beads/bd
- Git repository
- Project initialized with
bd init
Optional but Recommended:
~/.claude/hooks/beads-auto-sync.sh - Auto-sync hook (see HOOK_SETUP.md)
First-time setup in a project:
cd <project-directory>
bd init
When to Use This Skill
Use beads when:
- Working on multi-session tasks (spans multiple days/weeks)
- Tasks have dependencies or blockers
- Discovering new work during implementation
- Need to preserve context across Claude Code compacts/restarts
- Multiple people/agents working on same project
Don't use beads for:
- Single-session, simple tasks (use TodoWrite instead)
- Throwaway experiments
- Projects without
.beads/ directory
The Recovery Card Pattern
CRITICAL: Every beads project must have a standardized recovery card.
Recovery Card Convention
- Title:
RECOVERY: Current Session Context (always this exact title)
- Status:
in_progress (appears in bd ready)
- Priority: P0
- Content: Detailed context for restoring work after time away
Starting a Session
bd ready
The recovery card appears first. Read it, follow instructions, then close it.
Ending a Session
Before compact or stopping work:
bd list --status in_progress | grep -i recovery
bd update <id> --description "$(cat <<'EOF'
Context from [DATE]:
COMPLETED THIS SESSION:
- [item 1]
- [item 2]
IN PROGRESS:
- [current work] - Run: bd show <id>
GIT STATUS:
- Branch: [name]
- Commits ahead: [number]
- Uncommitted changes: [list key files]
NEXT STEPS:
1. [next task]
2. [following task]
BLOCKERS/NOTES:
- [critical context]
EOF
)"
bd create "RECOVERY: Current Session Context" -p 0 --description "..."
bd update <new-id> --status in_progress
bd sync
Essential Commands
Finding Work
bd ready
bd list --status=open
bd list --status=in_progress
bd show <id>
Creating Issues
bd create --title="Task name" --type=task --priority=2
bd create --title="Feature X" --type=feature --priority=1 --description "Details..."
Managing Work
bd update <id> --status=in_progress
bd update <id> --assignee=username
bd close <id>
bd close <id1> <id2> <id3>
bd close <id> --reason="explanation"
Dependencies
bd dep add <child> <parent>
bd blocked
bd show <id>
Sync & Collaboration
bd sync
bd sync --status
bd stats
Common Workflows
Workflow 1: Starting Work
bd ready
bd show vulcan-clean-4rp
bd close vulcan-clean-4rp --reason "Context restored"
bd ready
bd show <next-task-id>
bd update <id> --status=in_progress
TodoWrite: Add tasks for current work
Workflow 2: Discovering New Work
bd create --title="Fix bug in X" --type=bug --priority=1
bd dep add <current-task-id> <new-bug-id>
bd update <current-task-id> --status=open
bd update <new-bug-id> --status=in_progress
Workflow 3: Completing Work
bd close <id1> <id2> <id3> --reason "Implemented and tested"
bd sync
bd ready
Workflow 4: Creating Epic with Subtasks
bd create --title="Backend Refactor" --type=epic --priority=1
bd create --title="Phase 1: Models" --parent bd-abc --priority=1
bd create --title="Phase 2: Controllers" --parent bd-abc --priority=1
bd create --title="Phase 3: Tests" --parent bd-abc --priority=1
bd dep add bd-abc.2 bd-abc.1
bd dep add bd-abc.3 bd-abc.2
Integration with TodoWrite
Use both tools together:
| Tool | When | Why |
|---|
| Beads | Multi-session, has dependencies, discovered work | Persistent, survives compacts |
| TodoWrite | Single-session execution tracking | Real-time progress visibility |
Pattern:
bd show <task-id>
TodoWrite: Break down into steps
TodoWrite: Update progress
bd create: Discovered issues
TodoWrite: Mark complete
bd close <task-id>
bd update recovery card
bd sync
Session Close Checklist
Before ending ANY session with beads:
git status
git add <specific-files>
bd sync
git commit -m "..."
bd sync
git push
git status
Work is NOT done until pushed.
Red Flags - STOP
- Saying "done" without running
bd sync
- Ending session without updating recovery card
- Closing beads without
bd sync
- Forgetting to
git push beads changes
- Marking task complete without updating beads status
Best Practices
Priority Guidelines
P0 (0): Critical blockers, production issues
P1 (1): High priority features, important bugs
P2 (2): Medium priority, normal development
P3 (3): Nice-to-have features
P4 (4): Backlog, future work
When to Create vs Update
Create new issue when:
- Discovered during implementation
- Requires separate tracking
- Has unique dependencies
- Multi-session scope
Update existing issue when:
- Adding details
- Changing status/priority
- Adding comments
- Quick notes
Batch Operations for Efficiency
bd close <id1> <id2> <id3> <id4>
bd close <id1>
bd close <id2>
bd close <id3>
Epic Organization
epic (type=epic)
├── epic.1 (type=task) → Phase 1
├── epic.2 (type=task) → Phase 2
└── epic.3 (type=task) → Phase 3
bd dep add epic.2 epic.1
bd dep add epic.3 epic.2
Anti-Patterns
Don't:
- Use beads for trivial single-line changes
- Forget to sync before pushing code
- Skip recovery card updates
- Use
git add . (always add specific files)
- Create issues without descriptions
- Use string priorities ("high", "medium") instead of numbers (0-4)
Troubleshooting
"Sync conflicts"
bd sync --status
bd sync --from-main
"Can't find recovery card"
bd list --status in_progress | grep -i recovery
bd list | grep -i "RECOVERY:"
"Beads changes not committed"
cd <project-root>
git status
bd sync
References
- Beads GitHub: https://github.com/steveyegge/beads
- Installation:
brew install steveyegge/beads/bd
- Beads is designed for AI agents and distributed teams
- Hash-based IDs prevent merge conflicts
Integration Points
This skill works with:
- prepare-compact - Updates recovery card before compact
- restore-context - Reads recovery card after compact
- TodoWrite - Single-session execution tracking
- verification-before-completion - Ensures beads synced before claims
- finishing-a-development-branch - Closes beads before merge/PR
The Bottom Line
Beads preserves context across sessions.
When you compact, restart, or return days later:
- TodoWrite is gone
- Beads persists
- Recovery card restores full context
- No work is lost
This is non-negotiable for multi-session work.