Git-backed issue tracker for AI agents. Use when managing tasks, dependencies, or multi-step work. Triggers on task tracking, issue management, dependency graphs, ready work queues, or mentions of "beads" / "bd" CLI.
Scanned 9/7/2026
Install to Claude Code
npx -y skills add modbender/skill-library-mcp --skill beads --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Beads?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/modbender-beads)More formats (shields.io, HTML) on the badges page.
---
name: beads
description: Git-backed issue tracker for AI agents. Use when managing tasks, dependencies, or multi-step work. Triggers on task tracking, issue management, dependency graphs, ready work queues, or mentions of "beads" / "bd" CLI.
metadata:
openclaw:
emoji: 📿
requires:
bins: [bd]
install:
- id: brew
kind: brew
formula: beads
bins: [bd]
label: Install beads (brew)
- id: npm
kind: npm
package: "@beads/bd"
bins: [bd]
label: Install beads (npm)
---
# Beads
Distributed, git-backed graph issue tracker for AI agents. Replaces markdown plans with a dependency-aware task graph stored as JSONL in `.beads/`.
## Quick Start
```bash
# Initialize (non-interactive for agents)
bd init --quiet
# Check ready work
bd ready --json
# Create a task
bd create "Complete task X" -p 1 --json
# View task
bd show bd-a1b2 --json
```
## Core Workflow
1. `bd ready --json` — Find unblocked work
2. `bd update <id> --status in_progress` — Claim task
3. Do the work
4. `bd close <id> --reason "Done"` — Complete task
5. `bd sync` — Force sync before ending session
## Agent-Critical Rules
- **Always use `--json`** for machine-readable output
- **Never use `bd edit`** — opens $EDITOR, unusable by agents
- **Use `bd update`** instead: `bd update <id> --title "New title" --description "New desc"`
- **Run `bd sync`** at end of session to flush changes to git
## Commands
### Initialize
```bash
bd init --quiet # Non-interactive, auto-installs hooks
bd init --prefix myproj # Custom ID prefix
bd init --stealth # Local only, don't commit .beads/
bd init --contributor # Fork workflow (separate planning repo)
```
### Create Issues
```bash
bd create "Title" -p 1 --json # Priority 1 (0=critical, 3=low)
bd create "Title" -t epic -p 0 --json # Create epic
bd create "Subtask" -p 1 --json # Under epic: bd-a3f8.1, .2, .3
bd create "Found issue" --deps discovered-from:bd-a1b2 --json
```
Types: `task`, `bug`, `feature`, `epic`
Priorities: `0` (P0/critical) to `3` (P3/low)
### Query Issues
```bash
bd ready --json # Unblocked tasks (the work queue)
bd ready --priority 0 --json # Only P0s
bd ready --assignee agent-1 --json # Assigned to specific agent
bd list --json # All issues
bd list --status open --json # Open issues
bd list --priority 1 --json # P1 issues
bd show bd-a1b2 --json # Issue details + audit trail
bd blocked --json # Issues waiting on dependencies
bd stats --json # Statistics
```
### Update Issues
```bash
bd update bd-a1b2 --status in_progress --json
bd update bd-a1b2 --title "New title" --json
bd update bd-a1b2 --description "Details" --json
bd update bd-a1b2 --priority 0 --json
bd update bd-a1b2 --assignee agent-1 --json
bd update bd-a1b2 --design "Design notes" --json
bd update bd-a1b2 --notes "Additional notes" --json
```
Status values: `open`, `in_progress`, `blocked`, `closed`
### Close Issues
```bash
bd close bd-a1b2 --reason "Completed" --json
bd close bd-a1b2 bd-b2c3 --reason "Batch close" --json
```
### Dependencies
```bash
bd dep add bd-child bd-parent # child blocked by parent
bd dep add bd-a1b2 bd-b2c3 --type related # Related link
bd dep add bd-a1b2 bd-epic --type parent # Parent-child
bd dep tree bd-a1b2 # Visualize dependency tree
bd dep remove bd-child bd-parent # Remove dependency
bd dep cycles # Detect circular deps
```
Dependency types: `blocks` (default), `related`, `parent`, `discovered-from`
### Git Sync
```bash
bd sync # Export → commit → pull → import → push
bd hooks install # Install git hooks for auto-sync
```
The daemon auto-syncs with 30s debounce. Use `bd sync` to force immediate sync.
### Maintenance
```bash
bd admin compact --dry-run --json # Preview compaction
bd admin compact --days 90 # Compact issues closed >90 days
bd doctor # Check database health
```
## Hierarchical IDs (Epics)
```bash
bd create "Project Alpha" -t epic -p 1 --json # Returns: bd-a3f8
bd create "Phase 1" -p 1 --json # Returns: bd-a3f8.1
bd create "Research" -p 1 --json # Returns: bd-a3f8.2
bd create "Review" -p 1 --json # Returns: bd-a3f8.3
```
Up to 3 levels: `bd-a3f8` → `bd-a3f8.1` → `bd-a3f8.1.1`
## Multi-Agent Coordination
```bash
# Agent claims work
bd update bd-a1b2 --status in_progress --assignee agent-1 --json
# Query assigned work
bd ready --assignee agent-1 --json
# Track discovered work
bd create "Found issue" --deps discovered-from:bd-a1b2 --json
```
## Commit Convention (Optional)
For git-tracked projects, include issue ID in commit messages for traceability:
```bash
git commit -m "Complete research phase (bd-a1b2)"
```
## Session End Checklist
Before ending a session:
```bash
bd sync # Flush all changes
bd ready --json # Show next work for handoff
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!