Use when joining an active multi-agent parallel development session — sets up your worktree, claims an unblocked task from BOARD.md, implements it with TDD and two-stage review, then loops back to claim the next task
You are one of several agents sharing a repo on the same machine.
Your identity is a unique string — your Linux username works well (whoami).
You work in an isolated git worktree under .worktrees/<identity>/,
claim tasks atomically from docs/collab/BOARD.md, and commit finished work back to main.
Core principle: Read the board fresh before every claim. Own exactly one task at a time.
docs/collab/BOARD.md exists in the repo and has pending tasksslopfest-create to set up the boarddigraph slopfest_join {
rankdir=TB;
"Setup worktree" [shape=box];
"Read BOARD fresh" [shape=box];
"Unblocked pending task?" [shape=diamond];
"Wait / note blocker in NOTES" [shape=box];
"Atomic claim" [shape=box];
"Claim succeeded?" [shape=diamond];
"Implement (TDD)" [shape=box];
"Two-stage review" [shape=box];
"Review passes?" [shape=diamond];
"Fix issues" [shape=box];
"Merge to main + mark done" [shape=box];
"More tasks?" [shape=diamond];
"Done — announce in NOTES" [shape=box];
"Setup worktree" -> "Read BOARD fresh";
"Read BOARD fresh" -> "Unblocked pending task?";
"Unblocked pending task?" -> "Atomic claim" [label="yes"];
"Unblocked pending task?" -> "Wait / note blocker in NOTES" [label="no"];
"Wait / note blocker in NOTES" -> "Read BOARD fresh";
"Atomic claim" -> "Claim succeeded?";
"Claim succeeded?" -> "Implement (TDD)" [label="yes"];
"Claim succeeded?" -> "Read BOARD fresh" [label="no — conflict, retry"];
"Implement (TDD)" -> "Two-stage review";
"Two-stage review" -> "Review passes?";
"Review passes?" -> "Fix issues" [label="no"];
"Fix issues" -> "Two-stage review";
"Review passes?" -> "Merge to main + mark done" [label="yes"];
"Merge to main + mark done" -> "More tasks?";
"More tasks?" -> "Read BOARD fresh" [label="yes"];
"More tasks?" -> "Done — announce in NOTES" [label="no"];
}
REPO=$(git rev-parse --show-toplevel)
ME=$(whoami) # or any unique identity string
umask 002
git -C $REPO worktree add $REPO/.worktrees/$ME -b work/$ME main
cd $REPO/.worktrees/$ME
.worktrees/is gitignored by convention — add it if needed:echo '.worktrees/' >> $REPO/.gitignore
cat $REPO/docs/collab/BOARD.md
Find a pending task where all deps are done.
cd $REPO # shared checkout on main — board edits go here
# Re-read BOARD to catch last-second claims by other agents
cat docs/collab/BOARD.md
# Edit the task row: status=in_progress, owner=$ME, started=<ISO UTC now>
# Then commit:
git add docs/collab/BOARD.md
git commit -m "claim: <task-id> by $ME"
If another agent committed first (same row conflict):
git rebase past their commitcd $REPO/.worktrees/$ME
git rebase main # pick up latest board + any merged code
REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development to implement and review this task.
Treat the task row from BOARD.md plus the relevant spec section as your single-task "plan". The SDD skill handles:
Do not proceed to Step 5 until SDD declares the task complete.
cd $REPO
git merge --ff-only work/$ME
# If ff-only fails: cd .worktrees/$ME && git rebase main, then retry
# Edit BOARD.md: status=done, finished=<ISO UTC now>
git add docs/collab/BOARD.md
git commit -m "done: <task-id> by $ME"
docs/collab/NOTES.md:## <ISO datetime> — <your identity>
All tasks complete on my end. Board clear.
Append a note when:
Format:
## YYYY-MM-DD HH:MM — <identity>
<one short paragraph>
Keep entries terse. If it doesn't help another agent, leave it out.
| Situation | Action |
|---|---|
| Missing dep — another task not done yet | Wait; loop on Step 2 |
| Task spec is ambiguous | Note in NOTES.md, make a choice, state it |
| Two tasks both want to modify same file | Note in NOTES.md; sequence with an ad-hoc dep |
| Test infrastructure broken | Note in NOTES.md; unblock yourself or escalate |
❌ Claiming multiple tasks at once. Own exactly one task at a time — finish and merge before claiming the next.
❌ Working in the main checkout directly. Use your dedicated worktree. The repo root is for board/notes commits only.
❌ Skipping git rebase main before starting work. Another agent may have merged code you depend on.
❌ Skipping subagent-driven-development. The SDD skill handles TDD, spec compliance, and code quality review — don't shortcut it.
❌ Merging before SDD declares the task complete. Unreviewed code on main breaks other agents' rebases.