| name | beads |
| description | Use when: tracking work, adding todos, filing bugs, managing tasks/issues, checking what to work on, planning epics, deferring work, pre-PR checks, or any mention of bd/beads. Covers the full bd CLI. |
Beads (bd) — Skill Reference
What it is: Git-native issue tracker (Dolt SQL DB at .beads/dolt/). Config committed to git; Dolt data is gitignored. Issue IDs: <prefix>-<slug> (e.g. ko2-tools-abc).
bd is the default task tracker. Any work item that should persist — bugs, features, follow-ups, test gaps — goes into bd, unless the project uses GitHub issues as its primary tracker (in which case bd handles personal/session/cross-project items only). TaskCreate/TaskUpdate is only for managing steps within a single task execution (ephemeral, not persisted).
Always use --json flag when parsing output programmatically.
Session Startup
bd prime
bd ready
bd ready is blocker-aware. bd list --ready is NOT equivalent.
Quick Capture
bd q "Fix the thing"
bd todo add "Small task"
bd create "Title" -d "details" -t bug -p 0 -l critical
bd q is for scripting/speed. bd todo add for lightweight tasks. bd create for full control.
Types: task bug feature epic chore decision
Priority: 0=critical 1=high 2=medium(default) 3=low 4=backlog — numeric only, never "high"/"low"
Read
bd list
bd list --all
bd list -p 1
bd list -l <label>
bd list --status in_progress
bd show <id>
bd blocked
bd search <query>
bd stale
bd query "priority<2 AND status=open"
bd stats
Update
bd update <id> --claim
bd update <id> --status in_progress
bd update <id> --title "..." --priority 1
bd update <id> --append-notes "context"
bd update <id> --add-label foo --remove-label bar
bd comments add <id> "Progress note"
NEVER use bd edit — opens $EDITOR, blocks agents.
Close & Lifecycle
bd close <id>
bd close <id1> <id2> <id3>
bd close <id> --reason "text"
bd reopen <id>
bd defer <id>
bd undefer <id>
bd duplicate <id> --of <canonical-id>
bd supersede <old-id> --by <new-id>
bd todo done <id>
Dependencies
bd dep add <issue> <depends-on>
bd dep <blocker> --blocks <blocked>
bd dep tree <id>
bd dep list <id>
Direction: bd dep add A B → A depends on B → B must close before A unblocks.
Epics
bd create "Epic title" -t epic
bd create "Subtask" -t task --parent <epic-id>
bd epic status <epic-id>
bd children <epic-id>
Memory (persists across sessions via Dolt)
bd remember "insight"
bd memories
bd memories <keyword>
bd recall <key>
bd forget <key>
Pre-PR & Maintenance
bd preflight
bd stale
bd context
Common Mistakes
| Wrong | Right |
|---|
bd list --ready | bd ready (blocker-aware) |
bd edit <id> | bd update <id> --field value |
priority "high" | priority 1 or P1 |
bd dep add A B thinking A blocks B | A depends on B (B blocks A) |
Looking in .dolt/ | DB is at .beads/dolt/ |
| MEMORY.md for cross-session insights | bd remember "..." |
| TodoWrite for persistent work | bd create / bd q / bd todo add |
Session Close Protocol
bd close <id1> <id2> ...
bd preflight