beads-workflow
Converting markdown plans into beads (tasks with dependencies) and polishing them until they're implementation-ready. The bridge between planning and agent swarm execution. Includes exact prompts used.
Best use case
beads-workflow is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Converting markdown plans into beads (tasks with dependencies) and polishing them until they're implementation-ready. The bridge between planning and agent swarm execution. Includes exact prompts used.
Teams using beads-workflow should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/beads-workflow/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How beads-workflow Compares
| Feature / Agent | beads-workflow | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Converting markdown plans into beads (tasks with dependencies) and polishing them until they're implementation-ready. The bridge between planning and agent swarm execution. Includes exact prompts used.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
SKILL.md Source
# Beads Workflow — From Plan to Actionable Tasks > **Core Principle:** "Check your beads N times, implement once" — where N is as many as you can stomach. > > Beads are so detailed and polished that you can mechanically unleash a big swarm of agents to implement them, and it will come out just about perfectly. --- ## What Are Beads? Beads are **epics/tasks/subtasks with dependency structure**, optimized for AI coding agents. Think of them as Jira or Linear, but designed for machines. Key properties: - **Self-contained** — Never need to refer back to the original markdown plan - **Self-documenting** — Include background, reasoning, justifications, considerations - **Dependency-aware** — Explicit structure of what blocks what - **Rich descriptions** — Long markdown comments, not short bullet points --- ## Why Beads Work ``` ┌─────────────────────────────────────────────────────────────┐ │ MARKDOWN PLAN (~3,500 lines) │ │ └─► Fits in context window │ │ └─► Models reason about entire system at once │ ├─────────────────────────────────────────────────────────────┤ │ ↓ CONVERT TO BEADS ↓ │ ├─────────────────────────────────────────────────────────────┤ │ BEADS (distributed tasks) │ │ └─► Each bead is self-contained │ │ └─► Any agent can pick up any bead │ │ └─► BV (Beads Viewer) handles prioritization │ │ └─► Agent Mail handles coordination │ └─────────────────────────────────────────────────────────────┘ ``` --- ## Converting Plans to Beads ### THE EXACT PROMPT — Plan to Beads Conversion (Claude Code + Opus 4.5) ``` OK so now read ALL of PLAN_TO_CREATE_GH_PAGES_WEB_EXPORT_APP.md; please take ALL of that and elaborate on it and use it to create a comprehensive and granular set of beads for all this with tasks, subtasks, and dependency structure overlaid, with detailed comments so that the whole thing is totally self-contained and self-documenting (including relevant background, reasoning/justification, considerations, etc.-- anything we'd want our "future self" to know about the goals and intentions and thought process and how it serves the over-arching goals of the project.). The beads should be so detailed that we never need to consult back to the original markdown plan document. Remember to ONLY use the `br` tool to create and modify the beads and add the dependencies. Use ultrathink. ``` **Note:** Replace `PLAN_TO_CREATE_GH_PAGES_WEB_EXPORT_APP.md` with your actual plan filename. ### Alternative Shorter Version ``` OK so please take ALL of that and elaborate on it more and then create a comprehensive and granular set of beads for all this with tasks, subtasks, and dependency structure overlaid, with detailed comments so that the whole thing is totally self-contained and self-documenting (including relevant background, reasoning/justification, considerations, etc.-- anything we'd want our "future self" to know about the goals and intentions and thought process and how it serves the over-arching goals of the project.) Use only the `br` tool to create and modify the beads and add the dependencies. Use ultrathink. ``` ### What This Creates - Tasks and subtasks with clear scope - Dependency links (what must complete before what) - Detailed descriptions with: - Background context - Reasoning and justification - Technical considerations - How it serves project goals --- ## Polishing Beads ### Why Polish? Even after initial conversion, beads continue to improve with review. You get incremental improvements even at round 6+. ### THE EXACT PROMPT — Polish Beads (Full Version) ``` Reread AGENTS dot md so it's still fresh in your mind. Then read ALL of PLAN_TO_CREATE_GH_PAGES_WEB_EXPORT_APP.md . Use ultrathink. Check over each bead super carefully-- are you sure it makes sense? Is it optimal? Could we change anything to make the system work better for users? If so, revise the beads. It's a lot easier and faster to operate in "plan space" before we start implementing these things! DO NOT OVERSIMPLIFY THINGS! DO NOT LOSE ANY FEATURES OR FUNCTIONALITY! Also make sure that as part of the beads we include comprehensive unit tests and e2e test scripts with great, detailed logging so we can be sure that everything is working perfectly after implementation. It's critical that EVERYTHING from the markdown plan be embedded into the beads so that we never need to refer back to the markdown plan and we don't lose any important context or ideas or insights into the new features planned and why we are making them. ``` ### THE EXACT PROMPT — Polish Beads (Standard Version) ``` Reread AGENTS dot md so it's still fresh in your mind. Check over each bead super carefully-- are you sure it makes sense? Is it optimal? Could we change anything to make the system work better for users? If so, revise the beads. It's a lot easier and faster to operate in "plan space" before we start implementing these things! DO NOT OVERSIMPLIFY THINGS! DO NOT LOSE ANY FEATURES OR FUNCTIONALITY! Also, make sure that as part of these beads, we include comprehensive unit tests and e2e test scripts with great, detailed logging so we can be sure that everything is working perfectly after implementation. Remember to ONLY use the `br` tool to create and modify the beads and to add the dependencies to beads. Use ultrathink. ``` ### Polishing Protocol 1. Run the polishing prompt 2. Review changes 3. Repeat until steady-state (typically 6-9 rounds) 4. If it flatlines, start a fresh CC session 5. Optionally have Codex with GPT 5.2 do a final round --- ## Fresh Session Technique If polishing starts to flatline, start a brand new Claude Code session: ### THE EXACT PROMPT — Re-establish Context ``` First read ALL of the AGENTS dot md file and README dot md file super carefully and understand ALL of both! Then use your code investigation agent mode to fully understand the code, and technical architecture and purpose of the project. Use ultrathink. ``` ### THE EXACT PROMPT — Then Review Beads ``` We recently transformed a markdown plan file into a bunch of new beads. I want you to very carefully review and analyze these using `br` and `bv`. ``` Then follow up with the standard polish prompt. --- ## Cross-Model Review For extra polish, have different models review the beads: | Model | Strength | |-------|----------| | **Claude Code + Opus 4.5** | Primary creation and refinement | | **Codex + GPT 5.2** | Final review pass | | **Gemini CLI** | Alternative perspective | --- ## Bead Quality Checklist Before implementation, verify each bead: - [ ] **Self-contained** — Can be understood without external context - [ ] **Clear scope** — One coherent piece of work - [ ] **Dependencies explicit** — Links to blocking/blocked beads - [ ] **Testable** — Clear success criteria - [ ] **Includes tests** — Unit tests and e2e tests in scope - [ ] **Preserves features** — Nothing from the plan was lost - [ ] **Not oversimplified** — Complexity preserved where needed --- ## Using br (Beads CLI) ### Basic Commands ```bash # Initialize beads in project br init # Create a new bead br create "Implement user authentication" -t feature -p 1 # Add dependencies br depend BR-123 BR-100 # BR-123 depends on BR-100 # Update status br update BR-123 --status in_progress # Close a bead br close BR-123 --reason "Completed and tested" # List ready beads (no blockers) br ready --json ``` ### Robot Mode for Agents ```bash # Get triage recommendations bv --robot-triage # Get the single top pick bv --robot-next # Get parallel execution tracks bv --robot-plan # Get graph insights (PageRank, bottlenecks, cycles) bv --robot-insights ``` **CRITICAL:** Never run bare `bv` — it launches interactive TUI. Always use `--robot-*` flags. --- ## Integration with Agent Mail ### Conventions - Use Beads issue ID as Mail `thread_id`: `send_message(..., thread_id="br-123")` - Prefix subjects: `[br-123] Starting auth refactor` - Include issue ID in file reservation `reason`: `file_reservation_paths(..., reason="br-123")` ### Typical Flow ```bash # 1. Pick ready work br ready --json # 2. Reserve files file_reservation_paths(project_key, agent_name, ["src/**"], reason="br-123") # 3. Announce start send_message(..., thread_id="br-123", subject="[br-123] Starting work") # 4. Work on the bead # ... # 5. Complete br close br-123 --reason "Completed" release_file_reservations(project_key, agent_name) ``` --- ## Test Coverage Beads ### THE EXACT PROMPT — Add Test Coverage ``` Do we have full unit test coverage without using mocks/fake stuff? What about complete e2e integration test scripts with great, detailed logging? If not, then create a comprehensive and granular set of beads for all this with tasks, subtasks, and dependency structure overlaid with detailed comments. ``` --- ## When Beads Are Ready Your beads are ready for implementation when: 1. **Steady-state reached** — Multiple polishing rounds yield minimal changes 2. **Cross-model reviewed** — At least one alternative model has reviewed 3. **No cycles** — `bv --robot-insights | jq '.Cycles'` returns empty 4. **Tests included** — Each feature bead has associated test beads 5. **Dependencies clean** — Graph makes logical sense --- ## Example Bead Structure A well-formed bead looks like: ``` ID: BR-123 Title: Implement OAuth2 login flow Type: feature Priority: P1 Status: open Dependencies: [BR-100 (User model), BR-101 (Session management)] Blocks: [BR-200 (Protected routes), BR-201 (User dashboard)] Description: Implement OAuth2 login flow supporting Google and GitHub providers. ## Background This is the primary authentication mechanism for the application. Users should be able to sign in with existing Google/GitHub accounts to reduce friction. ## Technical Approach - Use NextAuth.js for OAuth2 implementation - Store provider tokens encrypted in Supabase - Create unified user record on first login - Handle account linking for multiple providers ## Success Criteria - User can click "Sign in with Google/GitHub" - OAuth flow completes and redirects to dashboard - User record created/updated in database - Session cookie set correctly - Logout clears session properly ## Test Plan - Unit: Token encryption/decryption - Unit: User record creation - E2E: Full OAuth flow (mock provider) - E2E: Account linking scenario ## Considerations - Handle provider API rate limits - Graceful degradation if provider is down - GDPR compliance for EU users ``` --- ## Complete Prompt Reference ### Plan to Beads (Full) ``` OK so now read ALL of PLAN_TO_CREATE_GH_PAGES_WEB_EXPORT_APP.md; please take ALL of that and elaborate on it and use it to create a comprehensive and granular set of beads for all this with tasks, subtasks, and dependency structure overlaid, with detailed comments so that the whole thing is totally self-contained and self-documenting (including relevant background, reasoning/justification, considerations, etc.-- anything we'd want our "future self" to know about the goals and intentions and thought process and how it serves the over-arching goals of the project.). The beads should be so detailed that we never need to consult back to the original markdown plan document. Remember to ONLY use the `br` tool to create and modify the beads and add the dependencies. Use ultrathink. ``` ### Plan to Beads (Short) ``` OK so please take ALL of that and elaborate on it more and then create a comprehensive and granular set of beads for all this with tasks, subtasks, and dependency structure overlaid, with detailed comments so that the whole thing is totally self-contained and self-documenting (including relevant background, reasoning/justification, considerations, etc.-- anything we'd want our "future self" to know about the goals and intentions and thought process and how it serves the over-arching goals of the project.) Use only the `br` tool to create and modify the beads and add the dependencies. Use ultrathink. ``` ### Polish Beads (Full) ``` Reread AGENTS dot md so it's still fresh in your mind. Then read ALL of PLAN_TO_CREATE_GH_PAGES_WEB_EXPORT_APP.md . Use ultrathink. Check over each bead super carefully-- are you sure it makes sense? Is it optimal? Could we change anything to make the system work better for users? If so, revise the beads. It's a lot easier and faster to operate in "plan space" before we start implementing these things! DO NOT OVERSIMPLIFY THINGS! DO NOT LOSE ANY FEATURES OR FUNCTIONALITY! Also make sure that as part of the beads we include comprehensive unit tests and e2e test scripts with great, detailed logging so we can be sure that everything is working perfectly after implementation. It's critical that EVERYTHING from the markdown plan be embedded into the beads so that we never need to refer back to the markdown plan and we don't lose any important context or ideas or insights into the new features planned and why we are making them. ``` ### Polish Beads (Standard) ``` Reread AGENTS dot md so it's still fresh in your mind. Check over each bead super carefully-- are you sure it makes sense? Is it optimal? Could we change anything to make the system work better for users? If so, revise the beads. It's a lot easier and faster to operate in "plan space" before we start implementing these things! DO NOT OVERSIMPLIFY THINGS! DO NOT LOSE ANY FEATURES OR FUNCTIONALITY! Also, make sure that as part of these beads, we include comprehensive unit tests and e2e test scripts with great, detailed logging so we can be sure that everything is working perfectly after implementation. Remember to ONLY use the `br` tool to create and modify the beads and to add the dependencies to beads. Use ultrathink. ``` ### Fresh Session — Context ``` First read ALL of the AGENTS dot md file and README dot md file super carefully and understand ALL of both! Then use your code investigation agent mode to fully understand the code, and technical architecture and purpose of the project. Use ultrathink. ``` ### Fresh Session — Review ``` We recently transformed a markdown plan file into a bunch of new beads. I want you to very carefully review and analyze these using `br` and `bv`. ``` ### Add Test Coverage ``` Do we have full unit test coverage without using mocks/fake stuff? What about complete e2e integration test scripts with great, detailed logging? If not, then create a comprehensive and granular set of beads for all this with tasks, subtasks, and dependency structure overlaid with detailed comments. ``` --- ## Common Mistakes 1. **Oversimplifying** — Preserve complexity where it's needed 2. **Losing features** — Every plan feature should become beads 3. **Skipping tests** — Include unit and e2e test beads 4. **Single review** — Keep polishing until truly steady-state 5. **Missing dependencies** — Make all blocking relationships explicit 6. **Short descriptions** — Beads should be verbose and self-documenting
Related Skills
planning-workflow
Jeffrey Emanuel's comprehensive markdown planning methodology for software projects. The 85%+ time-on-planning approach that makes agentic coding work at scale. Includes exact prompts used.
agent-swarm-workflow
Jeffrey Emanuel's multi-agent implementation workflow using NTM, Agent Mail, Beads, and BV. The execution phase that follows planning and bead creation. Includes exact prompts used.
wrangler
Deploy and manage Cloudflare Workers, Pages, KV, R2, D1, and other Cloudflare services using the `wrangler` CLI.
wezterm
Control WezTerm terminal emulator via CLI. Manage panes, tabs, workspaces, and execute commands in running terminals.
vercel
Deploy and manage Vercel projects, domains, environment variables, and serverless functions using the `vercel` CLI.
ui-ux-polish
Iterative UI/UX polishing workflow for web applications. The exact prompt and methodology for achieving Stripe-level visual polish through multiple passes.
ubs
Ultimate Bug Scanner - Pre-commit static analysis for AI coding workflows. 18 detection categories, 8 languages, 4-layer analysis engine. The AI agent's quality gate.
tanstack-integration
Find opportunities to improve web application code using TanStack libraries (Query, Table, Form, Router, etc.). Avoid man-with-hammer syndrome by applying TanStack after vanilla implementation works.
supabase
Manage Supabase projects, databases, migrations, Edge Functions, and storage using the `supabase` CLI.
ssh
SSH remote access patterns and utilities. Connect to servers, manage keys, tunnels, and transfers.
slb
Simultaneous Launch Button - Two-person rule for destructive commands in multi-agent workflows. Risk-tiered classification, command hash binding, 5 execution gates, client-side execution with environment inheritance. Go CLI.
ru
Repo Updater - Multi-repo synchronization with AI-assisted review orchestration. Parallel sync, agent-sweep for dirty repos, ntm integration, git plumbing. 17K LOC Bash CLI.