work
Installation
SKILL.md
/work (bro)
All mechanics live in the bro CLI. This skill is policy only.
bro work keeps parallel work parallel-friendly: one linked git worktree
per task, never the shared primary checkout. Git refuses to check out the
same branch in two worktrees — that refusal is the collision fence.
Commands
| Command | What it does |
|---|---|
bro work enter <slug> |
Sibling checkout <repo>--<slug> on branch work/<slug> (--branch, --base override). Base is explicit: the main checkout's branch by default — --stack (or stack.mode: "auto" in bro.config.json) bases on the current worktree's branch instead, and the edge is recorded under .git/bro/stack/ for bottom-up merge order. An existing branch is checked out, not recreated. Tries to init submodules and, if <slug> names a bead, to claim it — both best-effort |
bro work leave [slug] |
Remove the worktree — the current one by default; --force discards dirty state, --delete-branch drops a merged branch. Submodule trees are force-removed without touching the shared submodule config |
bro work list |
Every worktree: branch, clean/dirty count, the live in-tree claim (claim:<slug> — what bro work enter stamped), --sizes adds du. bro fleet status carries the same plane on the board as worktrees[] |
bro work prune |
Drop admin entries for worktrees already deleted on disk. --loop also reaps loop/* (and stack/*) litter: worktrees whose bead is closed or whose PR merged get removed with their branch — but only when verifiably clean, unclaimed, unlocked, and unoccupied. Dirty trees, open PRs, live agents, and unverifiable beads are kept with the reason named. --dry-run reports verdicts without touching anything |