beads
Tracks complex, multi-session work using the Beads issue tracker and dependency graphs, and provides persistent memory that survives conversation compaction. Use when work spans multiple sessions, has complex dependencies, or needs persistent context across compaction cycles. Trigger with phrases like "create task for", "what's ready to work on", "show task", "track this work", "what's blocking", or "update status".
What this skill does
# Beads - Persistent Task Memory for AI Agents Graph-based issue tracker that survives conversation compaction. Provides persistent memory for multi-session work with complex dependencies. ## Overview **bd (beads)** replaces markdown task lists with a dependency-aware graph stored in git. Unlike TodoWrite (session-scoped), bd persists across compactions and tracks complex dependencies. **Key Distinction**: - **bd**: Multi-session work, dependencies, survives compaction, git-backed - **TodoWrite**: Single-session tasks, linear execution, conversation-scoped **Core Capabilities**: - ๐ **Dependency Graphs**: Track what blocks what (blocks, parent-child, discovered-from, related) - ๐พ **Compaction Survival**: Tasks persist when conversation history is compacted - ๐ **Git Integration**: Issues versioned in `.beads/issues.jsonl`, sync with `bd sync` - ๐ **Smart Discovery**: Auto-finds ready work (`bd ready`), blocked work (`bd blocked`) - ๐ **Audit Trails**: Complete history of status changes, notes, and decisions - ๐ท๏ธ **Rich Metadata**: Priority (P0-P4), types (bug/feature/task/epic), labels, assignees **When to Use bd vs TodoWrite**: - โ "Will I need this context in 2 weeks?" โ **YES** = bd - โ "Could conversation history get compacted?" โ **YES** = bd - โ "Does this have blockers/dependencies?" โ **YES** = bd - โ "Is this fuzzy/exploratory work?" โ **YES** = bd - โ "Will this be done in this session?" โ **YES** = TodoWrite - โ "Is this just a task list for me right now?" โ **YES** = TodoWrite **Decision Rule**: If resuming in 2 weeks would be hard without bd, use bd. ## Prerequisites **Required**: - **bd CLI**: Version 0.34.0 or later installed and in PATH - **Git Repository**: Current directory must be a git repo - **Initialization**: `bd init` must be run once (humans do this, not agents) **Verify Installation**: ```bash bd --version # Should return 0.34.0 or later ``` **First-Time Setup** (humans run once): ```bash cd /path/to/your/repo bd init # Creates .beads/ directory with database ``` **Optional**: - **BEADS_DIR** environment variable for alternate database location - **Daemon** for background sync: `bd daemon --start` ## Instructions ### Session Start Protocol **Every session, start here:** #### Step 1: Check for Ready Work ```bash bd ready ``` Shows tasks with no open blockers, sorted by priority (P0 โ P4). **What this shows**: - Task ID (e.g., `myproject-abc`) - Title - Priority level - Issue type (bug, feature, task, epic) **Example output**: ``` claude-code-plugins-abc [P1] [task] open Implement user authentication claude-code-plugins-xyz [P0] [epic] in_progress Refactor database layer ``` #### Step 2: Pick Highest Priority Task Choose the highest priority (P0 > P1 > P2 > P3 > P4) task that's ready. #### Step 3: Get Full Context ```bash bd show <task-id> ``` Displays: - Full task description - Dependency graph (what blocks this, what this blocks) - Audit trail (all status changes, notes) - Metadata (created, updated, assignee, labels) #### Step 4: Start Working ```bash bd update <task-id> --status in_progress ``` Marks task as actively being worked on. #### Step 5: Add Notes as You Work ```bash bd update <task-id> --notes "Completed: X. In progress: Y. Blocked by: Z" ``` **Critical for compaction survival**: Write notes as if explaining to a future agent with zero conversation context. **Note Format** (best practice): ``` COMPLETED: Specific deliverables (e.g., "implemented JWT refresh endpoint + rate limiting") IN PROGRESS: Current state + next immediate step BLOCKERS: What's preventing progress KEY DECISIONS: Important context or user guidance ``` --- ### Task Creation Workflow #### When to Create Tasks Create bd tasks when: - User mentions tracking work across sessions - User says "we should fix/build/add X" - Work has dependencies or blockers - Exploratory/research work with fuzzy boundaries #### Basic Task Creation ```bash bd create "Task title" -p 1 --type task ``` **Arguments**: - **Title**: Brief description (required) - **Priority**: 0-4 where 0=critical, 1=high, 2=medium, 3=low, 4=backlog (default: 2) - **Type**: bug, feature, task, epic, chore (default: task) **Example**: ```bash bd create "Fix authentication bug" -p 0 --type bug ``` #### Create with Description ```bash bd create "Implement OAuth" -p 1 --description "Add OAuth2 support for Google, GitHub, Microsoft. Use passport.js library." ``` #### Epic with Children ```bash # Create parent epic bd create "Epic: OAuth Implementation" -p 0 --type epic # Returns: myproject-abc # Create child tasks bd create "Research OAuth providers" -p 1 --parent myproject-abc bd create "Implement auth endpoints" -p 1 --parent myproject-abc bd create "Add frontend login UI" -p 2 --parent myproject-abc ``` --- ### Update & Progress Workflow #### Change Status ```bash bd update <task-id> --status <new-status> ``` **Status Values**: - `open` - Not started - `in_progress` - Actively working - `blocked` - Stuck, waiting on something - `closed` - Completed **Example**: ```bash bd update myproject-abc --status blocked ``` #### Add Progress Notes ```bash bd update <task-id> --notes "Progress update here" ``` **Appends** to existing notes field (doesn't replace). #### Change Priority ```bash bd update <task-id> -p 0 # Escalate to critical ``` #### Add Labels ```bash bd label add <task-id> backend bd label add <task-id> security ``` Labels provide cross-cutting categorization beyond status/type. --- ### Dependency Management #### Add Dependencies ```bash bd dep add <child-id> <parent-id> ``` **Meaning**: `<parent-id>` blocks `<child-id>` (parent must be completed first). **Dependency Types**: - **blocks**: Parent must close before child becomes ready - **parent-child**: Hierarchical relationship (epics and subtasks) - **discovered-from**: Task A led to discovering task B - **related**: Tasks are related but not blocking **Example**: ```bash # Deployment blocked by tests passing bd dep add deploy-task test-task # test-task blocks deploy-task ``` #### View Dependencies ```bash bd dep list <task-id> ``` Shows: - What this task blocks (dependents) - What blocks this task (blockers) #### Circular Dependency Prevention bd automatically prevents circular dependencies. If you try to create a cycle, the command fails. --- ### Completion Workflow #### Close a Task ```bash bd close <task-id> --reason "Completion summary" ``` **Best Practice**: Always include a reason describing what was accomplished. **Example**: ```bash bd close myproject-abc --reason "Completed: OAuth endpoints implemented with Google, GitHub providers. Tests passing." ``` #### Check Newly Unblocked Work After closing a task, run: ```bash bd ready ``` Closing a task may unblock dependent tasks, making them newly ready. #### Close Epics When Children Complete ```bash bd epic close-eligible ``` Automatically closes epics where all child tasks are closed. --- ### Git Sync Workflow #### All-in-One Sync ```bash bd sync ``` **Performs**: 1. Export database to `.beads/issues.jsonl` 2. Commit changes to git 3. Pull from remote (merge if needed) 4. Import updated JSONL back to database 5. Push local commits to remote **Use when**: End of session, before handing off to teammate, after major progress. #### Export Only ```bash bd export -o backup.jsonl ``` Creates JSONL backup without git operations. #### Import Only ```bash bd import -i backup.jsonl ``` Imports JSONL file into database. #### Background Daemon ```bash bd daemon --start # Auto-sync in background bd daemon --status # Check daemon health bd daemon --stop # Stop auto-sync ``` Daemon watches for database changes and auto-exports to JSONL. --- ### Find & Search Commands #### Find Ready Work ```bash bd ready ``` Shows tasks with no open blockers. #### List All Tasks ```bash bd list --status open # Only open tasks bd list --priority 0
Related in Productivity
gitea-workflow
IncludedOrchestrate agile development workflows for Gitea repositories using the tea CLI. Use when working with Gitea-hosted repos and asking to 'run the workflow', 'continue working', 'what's next', 'complete the task cycle', 'start my day', 'end the sprint', 'implement the next task', or wanting guided step-by-step development assistance. Keywords: workflow, orchestrate, agile, task cycle, sprint, daily, implement, review, PR, standup, retrospective, gitea, tea.
microsoft-graph-gateway
IncludedRoute Microsoft Graph work in this workspace. Use when users want to read or write Outlook mail, calendar events, contacts, OneDrive or SharePoint files, Teams, Planner, To Do, users, groups, directory data, or arbitrary Microsoft Graph endpoints from VS Code. Prefer WorkIQ for common read scenarios. Use Microsoft Graph for write actions and gap-read scenarios that need exact Graph properties, filters, permissions, or endpoints.
copilotkit
IncludedUse when building with CopilotKit โ setup, development, integrations, debugging, upgrading, or contributing. Routes to the appropriate specialized skill based on the task.
wordly-wisdom
IncludedProvides calibrated decision analysis using Charlie Munger-style multiple mental models, inversion, incentive mapping, circle-of-competence checks, misjudgment audits, second-order effects, and forecast updates. Use when the user asks for an oracle take, a hard call, a decision memo, a premortem, an outside view, a red-team, a sanity-check, what am I missing, think this through, or wants a strategy, hire, investment, plan, product, partnership, or major life choice analysed. Avoid for simple factual lookups or time-sensitive legal, medical, or market questions without fresh evidence.
swain-session
IncludedSession management and project status dashboard. Owns the full session lifecycle (start/work/close/resume), focus lane, bookmarks, worktree detection, and tab naming. Also serves as the project status dashboard โ shows active epics, progress, actionable next steps, blocked items, tasks, GitHub issues, and recommendations. Worktree creation is deferred to swain-do task dispatch (SPEC-195). Triggers on: 'session', 'status', 'what's next', 'dashboard', 'overview', 'where are we', 'what should I work on', 'show me priorities', 'bookmark', 'focus on', 'session info'.
gandi
IncludedComprehensive Gandi domain registrar integration for domain and DNS management. Register and manage domains, create/update/delete DNS records (A, AAAA, CNAME, MX, TXT, SRV, and more), configure email forwarding and aliases, check SSL certificate status, create DNS snapshots for safe rollback, bulk update zone files, and monitor domain expiration. Supports multi-domain management, zone file import/export, and automated DNS backups. Includes both read-only and destructive operations with safety controls.