| name | beads-workflow |
| description | Convert markdown plans into beads with dependencies using br CLI. Use when creating task graphs, polishing beads before implementation, or bridging planning to agent swarm execution. |
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.
Quick Start
br init
br dep cycles
bv --robot-insights
bv --robot-next
THE EXACT PROMPT — Plan to Beads Conversion
OK so now read ALL of [YOUR_PLAN_FILE].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.
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 blocks what)
- Detailed descriptions with background, reasoning, considerations
- Self-contained (never need to consult original plan)
Polishing Beads
THE EXACT PROMPT — Polish (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.
Polishing Protocol
- Run polish prompt
- Review changes
- Repeat until steady-state (typically 6-9 rounds)
- If it flatlines, start a fresh CC session
- Optionally have Codex/GPT 5.2 do a final round
Fresh Session Technique
If polishing flatlines, start a 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.
br Commands
Issue Lifecycle
br init
br create "Title" -t feature -p 1
br update <id> --status in_progress
br close <id> --reason "Done"
br reopen <id>
Dependencies
br dep add br-child br-parent
br dep remove br-child br-parent
br dep list <id>
br dep tree <id>
br dep cycles
Querying
br list
br ready
br blocked
br search "authentication"
br list --json
Sync to Git
br sync --flush-only
git add .beads/ && git commit -m "Update beads"
bd → br Migration (Docs)
Use this when you see legacy bd references in AGENTS.md or docs.
Behavioral difference (only one):
br sync never runs git commands. After br sync --flush-only, you must git add .beads/ and git commit (and git push) yourself.
Transform checklist (order matters):
bd commands → br commands
bd sync → br sync --flush-only + git add .beads/ + git commit
- Do NOT assume issue IDs must change
bd-* → br-* — the prefix is configurable (often remains bd-*).
- Remove daemon/auto-commit references
Verify:
grep -c '`bd ' file.md
grep -c 'bd sync' file.md
grep -c 'br sync --flush-only' file.md
BV Robot Mode
CRITICAL: Never run bare bv — it launches interactive TUI.
bv --robot-triage
bv --robot-next
bv --robot-plan
bv --robot-insights | jq '.Cycles'
bv --robot-insights | jq '.bottlenecks'
Quality Checklist
Before implementation, verify each bead:
Integration with Agent Mail
Use bead ID as the coordination thread:
file_reservation_paths(..., reason="br-123")
send_message(..., thread_id="br-123", subject="[br-123] Starting...")
br close br-123 --reason "Completed"
release_file_reservations(...)
When Beads Are Ready
Your beads are ready for implementation when:
- Steady-state reached — Multiple polish rounds yield minimal changes
- Cross-model reviewed — At least one alternative model reviewed
- No cycles —
br dep cycles returns empty
- Tests included — Each feature has associated test beads
- Dependencies clean — Graph makes logical sense
References
Troubleshooting
Worktree Error Fix
If you get failed to create worktree: 'main' is already checked out:
git branch beads-sync main
git push -u origin beads-sync
br config set sync-branch beads-sync
Always use a dedicated sync branch that you never check out directly.
Quick Health Check
br config list
br dep cycles
which br
See TROUBLESHOOTING.md for full diagnostics.
Validation
br dep cycles
bv --robot-insights | jq '.Cycles'
br list --json | jq '.[] | select(.description == "")'