using-beads
Skill1 starsChanged 3 months agoMITView on GitHub
Use for durable task tracking when the current work is inside a Git repository — tasks, deferred TODOs, bugs, dependencies, "beads", "bd", "backlog", "file an issue", or "what's ready". Not for temporary or non-Git scratch work, even when writing code
In this repository23 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .cursor/rules/beads.mdcCursor rule
- beadsSkill
- builderSkill
- consulting-codexSkill
- dispatching-subagentsSkill
- evidence-before-claimsSkill
- finishingSkill
- hacking-workflowSkill
- naming-as-designSkill
- planningSkill
- reading-like-proseSkill
- reviewing-workSkill
- shapingSkill
- spike-and-stabilizeSkill
- subtraction-firstSkill
- test-firstSkill
- using-hackinatorSkill
- using-worktreesSkill
- walking-skeletonSkill
- whittlerSkill
- writing-skillsSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 2 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
The rule here is: always, and frequently: If you catch yourself holding a work item only in your head or buried in a // TODO comment, that …
- Very specific: line 31
If the repo has no beads yet: bd init (fresh repo) or bd bootstrap (fresh clone of a repo that already uses beads).
- Distinctive: line 36
Don't defer capture. The builder's "write it down, don't do it" and the whittler's "that's out of scope" are bead-creating moments:
- Distinctive: line 109
When sync is authorized, do it before handoff so shared memory is actually shared.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Using Beads
Overview
Core principle: In any git-hosted work, track it in beads — continuously, not as an
afterthought. bd is a git-native, dependency-aware issue tracker. Every task, deferred TODO,
discovered bug, and follow-up becomes a bead, so nothing is lost between sessions, ready-vs-blocked
work is always visible, and parallel agents (you, Codex, a future session) share one work-list.
The rule here is: always, and frequently. If you catch yourself holding a work item only in your
head or buried in a // TODO comment, that is the signal — make it a bead now.
Beads vs. the harness todo list: the in-session todo list is ephemeral scratch for this turn; beads is the durable, git-shared, cross-session record. Use beads for anything that outlives the current train of thought or that another agent might pick up.
The Habit
At the start of any git-hosted activity
bd ready # what's unblocked and claimable right now?
bd status # database overview, if you want the lay of the landIf the repo has no beads yet: bd init (fresh repo) or bd bootstrap (fresh clone of a repo that
already uses beads). Run bd prime any time you want the full, up-to-date agent workflow.
Capture the moment work appears
Don't defer capture. The builder's "write it down, don't do it" and the whittler's "that's out of scope" are bead-creating moments:
bd create "Handle the empty-input edge case" -t task -p 2
bd q "Flaky test in writer_test — investigate" # quick capture, prints only the ID
bd create "Refactor parser" --deps discovered-from:hackinator-12 # link where it came fromModel what blocks what
The whole payoff of beads is that ready work surfaces itself once dependencies are recorded:
bd dep add hackinator-5 hackinator-3 # 5 is blocked by 3 (3 must finish first)
bd dep tree hackinator-5 # visualizeMove work through its states
bd update hackinator-5 --status in_progress # claim it
bd comment hackinator-5 "Root cause was X" # progress notes live on the bead
bd close hackinator-5 # doneShare it when remote sync is authorized
Local issue tracking and remote synchronization are separate actions. Update local Beads state as the work changes. Run a remote sync only when the active profile, repository policy, or user grants that authority:
bd sync # pull, reconcile, push the federation loop
# or, minimally:
bd dolt push # push beads to the remote so other sessions/agents see themWith Parallel Agents
Beads is how a fan-out shares work without racing (see dispatching-subagents). Each agent can atomically claim the next ready item instead of you hand-partitioning:
bd ready --claim --json # atomically claim the first ready issue; returns it as JSONFile the work as beads with dependencies, then let agents pull ready issues. Blocked work stays hidden until its blocker closes.
Quick Reference
| Do | Command |
| See claimable work | bd ready |
| Create an issue | bd create "Title" -t task -p 2 |
| Quick capture (ID only) | bd q "Title" |
| Record a blocker | bd dep add <blocked> <blocker> |
| Claim / progress / finish | bd update <id> --status in_progress · bd comment <id> "…" · bd close <id> |
| Push to remote, when authorized | bd sync (or bd dolt push) |
| Full agent workflow | bd prime |
When It's Overkill
Genuinely one-shot work in no repo, or throwaway scratch — skip it. Everywhere else in a git repo, the default is on. When unsure, file the bead; a cheap bead beats a lost thought.
Common Mistakes
- Keeping work in your head or in code comments. That's the exact failure beads exists to prevent. File it.
- Batch-filing at the end. Capture as work appears — end-of-session recall drops the small stuff, which is most of it.
- Recording no dependencies. Beads without deps is just a list; the ready/blocked view is the point. Link blockers.
- Syncing without authority. Local tracking does not imply permission for a remote side effect. When sync is authorized, do it before handoff so shared memory is actually shared; otherwise report the unsynced local state.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

