codex/skills/beads-workflow/SKILL.md
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.
npx skillsauth add tkersey/dotfiles beads-workflowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
# 1. Initialize beads in project
br init
# 2. Convert plan to beads (see THE EXACT PROMPT below)
# 3. Polish iteratively
# Run polish prompt 6-9 times until steady-state
# 4. Validate
br dep cycles # Must be empty
bv --robot-insights # Check graph health
# 5. Begin implementation
bv --robot-next # Get first bead
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.
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.
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.
If polishing flatlines, start a new Claude Code session:
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.
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 init # Initialize workspace
br create "Title" -t feature -p 1 # Create bead
br update <id> --status in_progress
br close <id> --reason "Done"
br reopen <id> # If needed
br dep add br-child br-parent # child depends on parent
br dep remove br-child br-parent
br dep list <id>
br dep tree <id>
br dep cycles # MUST be empty!
br list # All beads
br ready # Actionable (not blocked)
br blocked # Blocked beads
br search "authentication"
br list --json # Machine-readable
br sync --flush-only # Export DB → JSONL
git add .beads/ && git commit -m "Update beads"
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 commandsbd sync → br sync --flush-only + git add .beads/ + git commitbd-* → br-* — the prefix is configurable (often remains bd-*).Verify:
grep -c '`bd ' file.md # must be 0
grep -c 'bd sync' file.md # must be 0
grep -c 'br sync --flush-only' file.md # must be > 0
CRITICAL: Never run bare bv — it launches interactive TUI.
bv --robot-triage # Full triage
bv --robot-next # Single top pick
bv --robot-plan # Parallel execution tracks
bv --robot-insights | jq '.Cycles' # Check for cycles
bv --robot-insights | jq '.bottlenecks'
Before implementation, verify each bead:
br dep cycles returns emptyUse bead ID as the coordination thread:
# Reserve files for bead
file_reservation_paths(..., reason="br-123")
# Announce work in thread
send_message(..., thread_id="br-123", subject="[br-123] Starting...")
# Close bead when done
br close br-123 --reason "Completed"
release_file_reservations(...)
Your beads are ready for implementation when:
br dep cycles returns empty| Topic | Reference | |-------|-----------| | All prompts | PROMPTS.md | | Bead structure | BEAD-ANATOMY.md | | Troubleshooting | TROUBLESHOOTING.md | | br command reference | See br --help or beads_rust README | | BV integration | See bv-graph-triage skill |
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.
br config list # All settings
br dep cycles # Must be empty
which br # Verify br is installed
See TROUBLESHOOTING.md for full diagnostics.
# Check for cycles (must be empty)
br dep cycles
# Check graph health
bv --robot-insights | jq '.Cycles'
# Verify all beads have descriptions
br list --json | jq '.issues[]? | select(.description == "")'
development
Orchestrate Codex skill optimization during active sessions through $cas goal control, $shadow single-session evidence, $tune diagnosis/refinement briefs, and the skill-optimizer custom subagent. Trigger for $opt, skill optimization loops, session-driven skill tuning, meta-skill audits, or explicit validated skill edits. Do not use for general code optimization, product optimization, or performance tuning.
development
Run a targeted fresh-eyes blunder pass over code, specs, plans, adjudications, closure gates, skill edits, or negative-evidence ledgers. Trigger when asked to reread with fresh eyes, find obvious bugs, catch mistakes/oversights/omissions, check for embarrassing misses, or perform a second independent blunder pass before closure. Do not use as a substitute for implementation, adjudication, or verification; use it as the final falsification/check pass for those workflows.
development
Explicitly shadow, tail, watch, follow, monitor, supervise, or companion exactly one Codex session id/path through `$seq`, then apply a named target skill as an interpretation/reporting/proposal/action lens until the watched session stops.
testing
Land GitHub PRs end-to-end: update branch/PR, confirm reviews resolved, monitor CI until green, squash-merge, and clean local/remote state. Use for `$land`, finish/land/merge/close a PR, watch checks/runs, squash-merge, delete branch, or sync local state.