Skip to content
beads-issue-management logo

Beads Issue Management

beads-issue-management

Creating, updating, and closing Beads issues with proper types, priorities, and metadata

SKILL.md

Full skill instructions

Beads Issue Management

Comprehensive workflow for creating, updating, and closing issues in the Beads issue tracker.

Overview

Beads is a dependency-first issue tracker optimized for AI-assisted development. Issues are stored in .beads/​issues.jsonl and synchronized via git. The system supports:

  • 5 issue types: task, bug, feature, epic, chore
  • 5 priority levels: P0 (highest) through P4 (lowest)
  • 4 status states: open, in_progress, blocked, closed
  • Rich metadata: assignees, labels, estimates, external refs
  • First-class dependencies: blocks, related, parent-child, discovered-from

Canonical Sources

Command Reference:

bd create --help   # Creating issues
bd update --help   # Updating issues
bd close --help    # Closing issues
bd list --help     # Listing/​filtering issues
bd show [id]       # Viewing issue details

File Locations:

  • Issue database: .beads/​beads.db
  • JSONL export: .beads/​issues.jsonl
  • Config: .beads/​config.yaml

Patterns

Creating a Single Issue

# Basic task (default type)
bd create "Implement feature X"

# With full metadata
bd create "Fix authentication bug" \
  --type bug \
  --priority P0 \
  --assignee getbygenius \
  --labels auth,security \
  --estimate 120 \
  --description "Users cannot log in after password reset"

# With dependencies (inline)
bd create "Wire up UI component" \
  --type task \
  --deps "blocks:tmnl-abc,related:tmnl-xyz"

# From template
bd create "Epic: Search System" \
  --from-template epic \
  --priority P0

Creating Multiple Issues (Batch)

# From markdown file with multiple issues
bd create --file issues.md

# Example issues.md format:
# ## [P0] Implement search indexing
# type: task
# labels: search, backend
# ---
# ## [P1] Add search UI
# type: feature
# labels: search, ui

Parallel Issue Creation Pattern

When decomposing a large task, create independent issues in parallel:

# Create infrastructure issues
bd create "Setup PostgreSQL schema" --type task --priority P1 &
bd create "Setup Redis cache" --type task --priority P1 &
bd create "Configure NATS JetStream" --type task --priority P1 &
wait

# Then create dependent integration task
bd create "Wire services together" \
  --type task \
  --priority P2 \
  --deps "blocks:tmnl-[id1],blocks:tmnl-[id2],blocks:tmnl-[id3]"

Updating Issues

# Change status
bd update tmnl-abc --status in_progress
bd update tmnl-abc --status blocked

# Update metadata
bd update tmnl-abc \
  --priority P0 \
  --assignee val \
  --add-label urgent \
  --estimate 240

# Bulk update (multiple IDs)
bd update tmnl-abc tmnl-xyz tmnl-def --status closed

# Update description or notes
bd update tmnl-abc --description "New description here"
bd update tmnl-abc --notes "Additional context or findings"

Closing Issues

# Simple close
bd close tmnl-abc

# With reason
bd close tmnl-abc --reason "Completed implementation and tests"

# Bulk close
bd close tmnl-abc tmnl-xyz tmnl-def --reason "Obsoleted by new architecture"

Listing and Filtering

# Show all open issues
bd list --status open

# Filter by type and priority
bd list --type bug --priority P0

# Filter by labels (AND logic)
bd list --label search --label backend

# Filter by assignee
bd list --assignee val --status in_progress

# Date-based filtering
bd list --created-after 2025-12-01 --status open

# Limit results
bd list --limit 10 --sort priority

# Detailed output
bd list --status open --long

Viewing Issue Details

# Show full issue details
bd show tmnl-abc

# Output includes:
# - Title, status, priority, type
# - Created/​updated timestamps
# - Description, notes, design
# - Dependencies (what blocks this, what this blocks)
# - Comments history

Examples

Example 1: Feature Development Workflow

# 1. Create feature issue
FEATURE_ID=$(bd create "Add user profile page" \
  --type feature \
  --priority P1 \
  --labels ui,profile \
  --description "User-facing profile with avatar, bio, settings" \
  --json | jq -r '.id')

# 2. Create subtasks with dependency
bd create "Design profile schema" \
  --type task \
  --priority P1 \
  --deps "blocks:$FEATURE_ID"

bd create "Build profile UI component" \
  --type task \
  --priority P1 \
  --deps "blocks:$FEATURE_ID"

bd create "Add profile API endpoint" \
  --type task \
  --priority P1 \
  --deps "blocks:$FEATURE_ID"

# 3. Start work
bd update $FEATURE_ID --status in_progress

# 4. Close when complete
bd close $FEATURE_ID --reason "Feature shipped to production"

Example 2: Bug Triage Workflow

# 1. Create bug from user report
bd create "Login fails with 2FA enabled" \
  --type bug \
  --priority P0 \
  --labels auth,2fa,production \
  --description "Users with 2FA cannot complete login flow" \
  --external-ref "gh-1234"

# 2. Investigate and update with findings
bd update tmnl-abc --notes "Root cause: token expiry not handled in 2FA flow"

# 3. Create fix task
bd create "Fix 2FA token expiry handling" \
  --type task \
  --priority P0 \
  --deps "discovered-from:tmnl-abc"

# 4. Close bug when fixed
bd close tmnl-abc --reason "Fixed in tmnl-xyz"

Example 3: Epic Decomposition

# 1. Create epic
EPIC_ID=$(bd create "Search System v2" \
  --from-template epic \
  --priority P0 \
  --description "Replace legacy search with Effect-based indexed search" \
  --json | jq -r '.id')

# 2. Create phases as child issues
bd create "Phase 1: Index infrastructure" \
  --type task \
  --priority P0 \
  --parent $EPIC_ID

bd create "Phase 2: Query engine" \
  --type task \
  --priority P0 \
  --parent $EPIC_ID

bd create "Phase 3: UI integration" \
  --type task \
  --priority P1 \
  --parent $EPIC_ID

# 3. Track epic progress
bd show $EPIC_ID  # Shows child issue status

Anti-Patterns

DON'T: Create issues without type/​priority

# WRONG - defaults to task/​P2, loses intent
bd create "Do something important"

# CORRECT - explicit metadata
bd create "Implement critical auth fix" \
  --type bug \
  --priority P0 \
  --labels security,auth

DON'T: Use vague titles

# WRONG - what needs fixing?
bd create "Fix bug"
bd create "Update code"

# CORRECT - specific, actionable
bd create "Fix null pointer in authentication handler"
bd create "Update user schema to include email verification field"

DON'T: Skip descriptions for complex issues

# WRONG - no context for future reference
bd create "Refactor search system" --type task --priority P1

# CORRECT - provides context
bd create "Refactor search system" \
  --type task \
  --priority P1 \
  --description "Replace FlexSearch with Effect-based index. Preserve API compatibility."

DON'T: Forget to close completed issues

# WRONG - leaves stale issues open
git commit -m "Implemented feature X"
# (issue still shows as in_progress)

# CORRECT - close when done
git commit -m "Implemented feature X"
bd close tmnl-abc --reason "Feature complete, tests passing"

DON'T: Update status without checking dependencies

# WRONG - marking as in_progress when blocked
bd update tmnl-abc --status in_progress
# (tmnl-abc has open blocking dependencies)

# CORRECT - check blockers first
bd show tmnl-abc  # Review dependencies
bd blocked        # See what's blocked
bd ready          # Find unblocked work
bd update tmnl-xyz --status in_progress  # Start unblocked work

DON'T: Use sequential IDs manually

# WRONG - bd generates hash-based IDs automatically
bd create "Task" --id bd-123

# CORRECT - let bd assign IDs
bd create "Task"  # Gets ID like tmnl-a3f8

DON'T: Batch operations without verification

# WRONG - close without checking
bd close tmnl-* --reason "Cleanup"

# CORRECT - list first, then close explicitly
bd list --status open --assignee nobody
bd close tmnl-abc tmnl-xyz --reason "Obsolete, removing from backlog"

Quick Reference Card

TaskCommand
Create taskbd create "Title" --type task --priority P1
Create bugbd create "Title" --type bug --priority P0 --labels bug
Create epicbd create "Title" --from-template epic --priority P0
Start workbd update [id] --status in_progress
Mark blockedbd update [id] --status blocked
Close issuebd close [id] --reason "Done"
View detailsbd show [id]
List openbd list --status open
Filter by typebd list --type bug --status open
Batch updatebd update [id1] [id2] [id3] --status closed

Integration Points

  • Git workflow: Issues synced via bd sync (see beads-session-workflow skill)
  • Dependencies: Use bd dep commands (see beads-dependency-tracking skill)
  • AI context: Use bd prime for workflow reminders in AI sessions
  • Templates: Use bd template list to see available templates

More Productivity & Planning skills

brainstorming logo
Productivity & Planning

brainstorming

Structured design dialogue that validates ideas before implementation begins.

295.4K 385.7K
View
ui-ux-pro-max logo
Productivity & Planning

ui-ux-pro-max

Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.

133.1K 383.9K
View
writing-plans logo
Productivity & Planning

writing-plans

Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.

295.4K 268K
View
using-superpowers logo
Productivity & Planning

using-superpowers

Introduction to the obra skills system with mandatory skill invocation rules and best practices.

295.4K 259.8K
View
executing-plans logo
Productivity & Planning

executing-plans

Execute a written implementation plan with critical review and task checkpoints.

295.4K 229.1K
View
dispatching-parallel-agents logo
Productivity & Planning

dispatching-parallel-agents

Delegate independent tasks to specialized agents working concurrently with isolated context.

295.4K 206.3K
View
using-git-worktrees logo
Productivity & Planning

using-git-worktrees

Isolated git worktrees with smart directory selection and safety verification.

295.4K 205.2K
View
webapp-testing logo
Productivity & Planning

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

179.7K 170.6K
View
content-strategy logo
Productivity & Planning

content-strategy

Plan searchable and shareable content that drives traffic, builds authority, and generates leads.

53.3K 150.9K
View
repo-intake-and-plan logo
Productivity & Planning

repo-intake-and-plan

README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.

497 139.6K
View
marketing-ideas logo
Productivity & Planning

marketing-ideas

Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.

53.3K 137.2K
View
site-architecture logo
Productivity & Planning

site-architecture

Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.

53.3K 112.8K
View

Productivity AI tools

Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View
SaveDay logo
Productivity

SaveDay

Capture, organize, and utilize your knowledge effortlessly.

Free
View
Any Summary logo
Productivity

Any Summary

Instant Summaries of Audio & Video Interviews with AnySummary

Freemium
View
M
Productivity

Map This

Transform PDFs into engaging mind maps.

Freemium
View
ChatPDF logo
Productivity

ChatPDF

Chat with any PDF instantly

Free
View
I
Productivity

intellisay

Create an optimal daily plan using your voice

Paid
View
A
Productivity

Aurora AI

A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.

Paid
View
AskYourPDF logo
Productivity

AskYourPDF

AskYourPDF Pricing Plans: Tailored to Your Needs

Free
View