diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index e244038..5ab5124 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -3,6 +3,7 @@ {"id":"skills-39g","title":"RFC: .skills manifest pattern for per-repo skill deployment","description":"Document the .skills file pattern where projects declare skills in a manifest, .envrc reads it, and agents can query/edit it.","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-11-30T12:37:50.106992381-08:00","updated_at":"2025-11-30T12:43:04.155161727-08:00","closed_at":"2025-11-30T12:43:04.155161727-08:00"} {"id":"skills-3o7","title":"Fix ai-skills.nix missing sha256 hash","description":"modules/ai-skills.nix:16 has empty sha256 placeholder for opencode-skills npm package. Either get actual hash or remove/comment out the incomplete fetchFromNpm approach.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-11-30T11:58:24.404929863-08:00","updated_at":"2025-11-30T12:12:39.372107348-08:00","closed_at":"2025-11-30T12:12:39.372107348-08:00"} {"id":"skills-4yn","title":"Decide on screenshot-latest skill deployment","description":"DEPLOYED.md shows screenshot-latest as 'Not yet deployed - Pending decision'. Low risk skill that finds existing files. Need to decide whether to deploy or archive.","status":"open","priority":2,"issue_type":"task","created_at":"2025-11-30T11:58:33.099790809-08:00","updated_at":"2025-11-30T11:58:33.099790809-08:00"} +{"id":"skills-7sh","title":"Set up bd-issue-tracking Claude Code skill from beads repo","description":"Install the beads Claude Code skill from https://github.com/steveyegge/beads/tree/main/examples/claude-code-skill\n\nThis skill teaches Claude how to effectively use beads for issue tracking across multi-session coding workflows. It provides strategic guidance on when/how to use beads, not just command syntax.\n\nFiles to install to ~/.claude/skills/bd-issue-tracking/:\n- SKILL.md - Core workflow patterns and decision criteria\n- BOUNDARIES.md - When to use beads vs markdown alternatives\n- CLI_REFERENCE.md - Complete command documentation\n- DEPENDENCIES.md - Relationship types and patterns\n- WORKFLOWS.md - Step-by-step procedures\n- ISSUE_CREATION.md - Quality guidelines\n- RESUMABILITY.md - Making work resumable across sessions\n- STATIC_DATA.md - Using beads as reference databases\n\nCan symlink or copy the files. Restart Claude Code after install.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-03T17:53:43.254007992-08:00","updated_at":"2025-12-03T20:04:53.416579381-08:00","closed_at":"2025-12-03T20:04:53.416579381-08:00"} {"id":"skills-a23","title":"Update main README to list all 9 skills","description":"Main README.md 'Skills Included' section only lists worklog and update-spec-kit. Repo actually has 9 skills: template, worklog, update-spec-kit, screenshot-latest, niri-window-capture, tufte-press, update-opencode, web-research, web-search.","status":"open","priority":2,"issue_type":"task","created_at":"2025-11-30T11:58:14.042397754-08:00","updated_at":"2025-11-30T12:00:18.916270858-08:00","dependencies":[{"issue_id":"skills-a23","depends_on_id":"skills-4yn","type":"blocks","created_at":"2025-11-30T12:01:30.306742184-08:00","created_by":"daemon"}]} {"id":"skills-cnc","title":"Add direnv helper for per-repo skill deployment","description":"Create sourceable helper script and documentation for the standard per-repo skill deployment pattern using direnv + nix build.","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-11-30T12:19:20.71056749-08:00","updated_at":"2025-11-30T12:37:47.22638278-08:00","closed_at":"2025-11-30T12:37:47.22638278-08:00"} {"id":"skills-czz","title":"Research OpenCode agents for skill integration","description":"DEPLOYMENT.md:218 has TODO to research OpenCode agents. Need to understand how Build/Plan/custom agents work and whether skills need agent-specific handling.","status":"open","priority":2,"issue_type":"task","created_at":"2025-11-30T11:58:24.855701141-08:00","updated_at":"2025-11-30T11:58:24.855701141-08:00"} diff --git a/flake.nix b/flake.nix index d929bcc..c3fc704 100644 --- a/flake.nix +++ b/flake.nix @@ -13,6 +13,7 @@ # List of available skills availableSkills = [ + "bd-issue-tracking" "niri-window-capture" "orch" "screenshot-latest" diff --git a/skills/bd-issue-tracking/README.md b/skills/bd-issue-tracking/README.md new file mode 100644 index 0000000..da66157 --- /dev/null +++ b/skills/bd-issue-tracking/README.md @@ -0,0 +1,41 @@ +# bd Issue Tracking Skill + +A Claude Code skill for effective beads (bd) issue tracking across multi-session coding workflows. + +## What This Skill Provides + +- Decision framework for when to use bd vs TodoWrite +- Session protocols for starting and ending work +- Compaction survival strategies +- Issue creation guidelines +- Dependency management patterns + +## Installation + +This skill is deployed via the ai-skills Home Manager module. Add `"bd-issue-tracking"` to your `claudeCodeSkills` list. + +## Source + +Based on the upstream beads Claude Code skill: +https://github.com/steveyegge/beads/tree/main/examples/claude-code-skill + +## Philosophy + +This skill teaches **temporal layering** - using both TodoWrite and bd for different time horizons: + +- **TodoWrite**: Single-session micro-tasks (visible progress, ephemeral) +- **bd**: Multi-session strategic work (persistent, survives compaction) + +The key insight: bd provides structured context that persists across long gaps, while TodoWrite excels at immediate session tracking. + +## Contents + +- `SKILL.md` - Main skill instructions for Claude +- `references/` - Detailed documentation: + - `BOUNDARIES.md` - When to use bd vs TodoWrite + - `CLI_REFERENCE.md` - Complete command reference + - `DEPENDENCIES.md` - Dependency types guide + - `WORKFLOWS.md` - Step-by-step procedures + - `ISSUE_CREATION.md` - Issue quality guidelines + - `RESUMABILITY.md` - Cross-session patterns + - `STATIC_DATA.md` - Reference database usage diff --git a/skills/bd-issue-tracking/SKILL.md b/skills/bd-issue-tracking/SKILL.md new file mode 100644 index 0000000..7e645f0 --- /dev/null +++ b/skills/bd-issue-tracking/SKILL.md @@ -0,0 +1,122 @@ +--- +name: bd-issue-tracking +description: Guide for effective beads (bd) issue tracking across multi-session coding workflows. Use when working on complex features, bug investigations, or any work spanning multiple sessions. Teaches temporal layering with TodoWrite for single-session tasks and bd for persistent strategic work. +--- + +# bd Issue Tracking Skill + +Guide for using bd (beads) for persistent issue tracking across coding sessions. + +## When to Use + +This skill activates when: +- Starting work on a project with `.beads/` directory +- Planning multi-session features or investigations +- Managing complex work with dependencies +- Deciding between bd and TodoWrite for task tracking + +## Core Philosophy: Temporal Layering + +Use both tools for different time horizons: + +| Tool | Use Case | Persistence | +|------|----------|-------------| +| **TodoWrite** | Single-session micro-tasks | Ephemeral (conversation only) | +| **bd** | Multi-session strategic work | Persistent (survives compaction) | + +**The 2-week test**: Would bd help you resume this work after 2 weeks away? If yes, use bd. + +## Session Start Protocol + +When starting work where bd is available: + +1. Run `bd ready --json` to see available work +2. Report status to user: "X items ready: [summary]" +3. If none ready, check `bd blocked --json` +4. Review in_progress issues with `bd show ` +5. Read notes field for context from previous sessions + +## During Work + +### Creating Issues + +**Create directly** (no user question needed): +- Clear bugs discovered during implementation +- Obvious follow-up work identified +- Technical debt with clear scope + +**Ask first** (get user input): +- Knowledge work with fuzzy boundaries +- Multiple valid approaches exist +- User's intent needs clarification + +### Status Maintenance + +- `open` → `in_progress` when starting work +- Update notes field with progress +- Add dependencies as blockers discovered +- Close with summary when complete + +### Discovery Pattern + +When finding new work during implementation: + +```bash +# Create and link in one command +bd create "Found issue" -t bug -p 1 --deps discovered-from: --json +``` + +## Session End Protocol + +Before ending a session: + +1. Update notes field with current state: + ``` + COMPLETED: What was finished + IN PROGRESS: Current state + NEXT: Concrete next step + KEY DECISION: Important choices made (with rationale) + ``` + +2. Run `bd sync` to ensure changes are committed + +## Compaction Survival + +After compaction events, conversation history is deleted but bd state persists. + +**Recovery checklist:** +1. `bd list --status in_progress` - see active work +2. `bd show ` for each - read notes field +3. Reconstruct context from COMPLETED/IN PROGRESS/NEXT + +## Reference Documentation + +For detailed guidance, see the references/ subdirectory: + +- **BOUNDARIES.md** - Decision criteria: bd vs TodoWrite +- **CLI_REFERENCE.md** - Complete command documentation +- **DEPENDENCIES.md** - Dependency types and patterns +- **WORKFLOWS.md** - Step-by-step procedures with checklists +- **ISSUE_CREATION.md** - Quality guidelines for creating issues +- **RESUMABILITY.md** - Making work resumable across sessions +- **STATIC_DATA.md** - Using bd as reference database + +## Quick Command Reference + +```bash +# Find work +bd ready --json # Unblocked issues +bd blocked --json # See what's stuck + +# Manage issues +bd create "Title" -t bug -p 1 --json +bd update --status in_progress --json +bd close --reason "Done" --json + +# Dependencies +bd dep add +bd dep tree + +# Session end +bd sync # Force sync to git +``` diff --git a/skills/bd-issue-tracking/references/BOUNDARIES.md b/skills/bd-issue-tracking/references/BOUNDARIES.md new file mode 100644 index 0000000..b5c4284 --- /dev/null +++ b/skills/bd-issue-tracking/references/BOUNDARIES.md @@ -0,0 +1,82 @@ +# Boundaries: When to Use bd vs TodoWrite + +Decision criteria for choosing between bd issue tracking and TodoWrite. + +## The Core Question + +**"Could I resume this work after 2 weeks away?"** + +- If bd would help you resume → **use bd** +- If markdown skim would suffice → **TodoWrite is fine** + +## Decision Matrix + +### Use bd for: + +| Scenario | Why | +|----------|-----| +| **Multi-session work** | Issues capture context that survives compaction | +| **Complex dependencies** | Dependency graph shows blockers, `bd ready` surfaces work | +| **Knowledge work** | Design notes capture evolving understanding | +| **Side quests** | `discovered-from` preserves context for both tracks | +| **Project memory** | Git-backed database persists indefinitely | + +### Use TodoWrite for: + +| Scenario | Why | +|----------|-----| +| **Single-session tasks** | Simple checklist for linear execution | +| **Linear execution** | Steps are predetermined and sequential | +| **Immediate context** | All information already in conversation | +| **Simple tracking** | Just need visible progress for user | + +## Detailed Comparison + +| Aspect | bd | TodoWrite | +|--------|-----|-----------| +| **Persistence** | Git-backed, survives compaction | Session-only | +| **Dependencies** | Graph-based, automatic ready detection | Manual | +| **Visibility** | Background structure | Visible in conversation | +| **Best for** | Complex, multi-session, explorative | Simple, single-session, linear | + +## Integration Patterns + +### Pattern 1: bd Strategic, TodoWrite Tactical + +- bd tracks high-level issues and dependencies +- TodoWrite tracks current session's execution steps + +### Pattern 2: TodoWrite as Working Copy + +1. Start with bd issue containing full context +2. Create TodoWrite from acceptance criteria +3. Update bd as TodoWrite items complete + +### Pattern 3: Transition Mid-Session + +**From TodoWrite to bd** when: +- Discovering blockers or dependencies +- Realizing work won't complete this session +- Finding side quests + +**How to transition:** +1. Create bd issue with current TodoWrite content +2. Note: "Discovered this is multi-session work" +3. Add dependencies as discovered +4. Update bd issue before session ends + +## Common Mistakes + +1. **TodoWrite for multi-session work** - Lose context after conversation +2. **bd for simple linear tasks** - Overhead not justified +3. **Not transitioning when complexity emerges** - Keep TodoWrite despite poor fit +4. **Creating too many bd issues** - Reserve bd for work needing persistence + +## Summary Heuristics + +| Factor | TodoWrite | bd | +|--------|-----------|-----| +| **Time horizon** | Same session | Multiple sessions | +| **Dependencies** | Linear steps | Blockers/prerequisites | +| **Scope** | Well-defined | Exploratory | +| **Resume difficulty** | Easy | Need structured history | diff --git a/skills/bd-issue-tracking/references/CLI_REFERENCE.md b/skills/bd-issue-tracking/references/CLI_REFERENCE.md new file mode 100644 index 0000000..222efa8 --- /dev/null +++ b/skills/bd-issue-tracking/references/CLI_REFERENCE.md @@ -0,0 +1,158 @@ +# CLI Command Reference + +Complete bd command-line interface documentation. + +## Basic Operations + +### Check Status + +```bash +bd info --json # Database path, daemon status +bd ready --json # Find ready work (no blockers) +bd stale --days 30 --json # Find stale issues +``` + +## Issue Management + +### Create Issues + +```bash +# Basic creation +bd create "Issue title" -t bug|feature|task -p 0-4 -d "Description" --json + +# With labels +bd create "Issue title" -t bug -p 1 -l bug,critical --json + +# Create and link discovered work +bd create "Found bug" -t bug -p 1 --deps discovered-from: --json + +# Create epic with hierarchical children +bd create "Auth System" -t epic -p 1 --json # Returns: bd-a3f8e9 +bd create "Login UI" -p 1 --json # Auto-assigned: bd-a3f8e9.1 +``` + +### Update Issues + +```bash +bd update --status in_progress --json +bd update --priority 1 --json +bd update --notes "COMPLETED: X. IN PROGRESS: Y. NEXT: Z" +bd update --design "Implementation approach notes" +``` + +### Close/Reopen Issues + +```bash +bd close [...] --reason "Done" --json +bd reopen --reason "Reopening" --json +``` + +### View Issues + +```bash +bd show --json # Issue details +bd dep tree # Dependency tree +``` + +## Dependencies & Labels + +### Dependencies + +```bash +bd dep add # blocker blocks blocked +bd dep add --type discovered-from # Provenance link +bd dep add --type parent-child # Hierarchy +bd dep add --type related # Soft link +``` + +### Labels + +```bash +bd label add