beads-implement
Installation
SKILL.md
Beads Implement
Use this skill to execute work from a bead or epic id with minimal back-and-forth. This skill must work with either classic Beads (bd) or beads_rust (br).
Workflow
-
Resolve the tracker first
- If the user explicitly says
bd,br,beads, orbeads_rust, obey that. - Otherwise detect what is actually installed:
- If only
bris installed, usebr. - If only
bdis installed, usebd. - If both are installed, prefer the tracker that already owns the current workspace/history.
- If both are installed and the workspace is ambiguous, ask one targeted question instead of guessing.
- If only
- Do not mix commands from both trackers in the same run.
- If the user explicitly says
-
Prime the chosen tracker
- For
bd:- Run
bd primefirst. It is still the fastest way to get the current "how to start this bead" primer. - If
bd primeis unavailable or confusing, look for a loaded local skill for classic Beads and use that before anything else. - If no local
bdskill exists, use local CLI help likebd --help,bd show --help, andbd update --help.
- Run
- For
br:- Look for a loaded local
br,beads_rust, or equivalent tracker skill and use that first if it exists. - If no local
brskill exists, use local CLI help likebr --help,br show --help,br update --help, andbr epic --help. - Set
ACTOR="${BR_ACTOR:-assistant}". - Use
br show <id> --json,br ready --json, andbr blocked --jsonfor orientation instead of expecting aprimecommand. - Always use
--jsonon agent-facingbrcommands when available. - Never run bare
bv.
- Look for a loaded local
- Do not send the user to public web docs from this skill.
- For
-
Open the bead
- For
bd, usebd show <id> --jsonwhen possible and read the title, description, acceptance criteria, and dependencies. - For
br, usebr show <id> --jsonand read the title, description, acceptance criteria, design, notes, and dependencies. - If required info is missing or a dependency blocks progress, ask a single targeted question and wait.
- For
-
Start work in the tracker
- For
bd, mark the beadin_progressif your workflow supports it (checkbd prime/bd update --help). - For
br, claim it withbr update --actor "$ACTOR" <id> --claim --jsonor set--status in_progress. - Add a short note on your intended approach if the bead is ambiguous.
- For
-
Create a brief to-do list
- At the start of execution, create a short to-do list of the tasks/sub-tasks you plan to complete and update it as you go.
-
Decide scope
- If the bead is a single task, implement it directly.
- If the bead is an epic, identify all sub-tasks and implement them in dependency order.
- For an epic, treat exactly one child bead as the active implementation target at a time unless the user explicitly asks for parallel implementation.
- For
brepics, usebr epic status <id>or the dependency graph when it helps you understand child progress and closure readiness.
-
Delegate narrowly (use sub-agents surgically)
- Use sub-agents for bounded slices of the current bead only.
- Good sub-agent targets: repo exploration, API/library doc lookup, reproducer creation, test strategy, narrow refactors with a clear file list.
- Give each sub-agent explicit ownership (files + expected output), and keep the write scope as small as possible.
- If the target is an epic, the main agent owns sequencing. Sub-agents may work on the current child bead, but they must not start later child beads unless explicitly assigned.
- Sub-agents must not close beads, close the epic, update the overall plan, or advance the workflow on their own.
- Sub-agents must not assume their changes are integrated. They return results for the main agent to review, merge, and either accept or reject.
-
Review gate before advancing
- For each bead or child bead, run this loop in order:
- implement
- review
- fix review findings
- run relevant checks/tests
- commit
- update Beads
- Do not begin the next child bead until the current one has passed this gate.
- If a sub-agent goes beyond scope, stop and verify what changed before using any of its output.
- For each bead or child bead, run this loop in order:
-
Implement, commit, and write notes (repeat per task/sub-task)
- Implement, run relevant checks/tests, then commit once the review gate passes.
- One commit per task/sub-task.
- Commit message: include the bead id in the subject.
- Commit body: write real notes (what changed, why, tests run, follow-ups/risk).
- After the commit, add the same notes to the bead so the tracker survives compaction and future handoffs.
- For
bd, use the note/design workflow recommended bybd primeor the loaded local Beads skill. - For
br, write the summary back withbr update --actor "$ACTOR" <id> --notes "..." --jsonand usebr comments addwhen a separate progress note is cleaner. - For
br, remember sync is explicit. Runbr sync --flush-onlybefore committing tracker-state changes to git.
Minimal commit template:
<BEAD-ID>: <imperative summary> Why: - ... What: - ... Tests: - ... Notes/Risks: - ... -
Authority rules
- Only the main agent may mark a bead or epic complete.
- Only the main agent may decide the current child bead is done and move on to the next child bead.
- Only the main agent may integrate commits into the shared branch.
- Sub-agents are workers and reviewers, not project managers.
- Communicate only when needed
- Do not interrupt the user while work is progressing.
- Only pause to ask for help when blocked, when information is missing, or when a meaningful decision is required.
- Close out
- When complete, close the bead with a clear reason.
- For
bd, follow the session-end sync step recommended bybd primeor the loaded local Beads skill for the installed version. - For
br:- Close with
br close --actor "$ACTOR" <id> --reason "Implemented X in commit abc123" --json. - If you are closing an epic, check readiness first with
br epic status <id>orbr epic close-eligible <id>. - Run
br sync --flush-onlyafter the closing update so.beads/is current before git commit/push.
- Close with
- Report progress
- State which tracker you used:
bdorbr. - Provide a concise summary of completed tasks, commits made, and what remains (if anything).
Related skills