crew-tune
Adjust TriMixxx's agent crew (minion, bitch, nightman, and the crew tool) while it is in use - Sam says what went wrong or what he wants done differently; find what actually happened, change it at the
SKILL.md.claude/skills/crew-tune/SKILL.md
GitHubTuning the crew
Sam is using the crew (.claude/crew/README.md) and wants it to behave
differently: $ARGUMENTS. If that is empty, work through the crew's own
complaints in .crew/feedback.md with him.
Work from the main checkout, the crew's home: crew root prints it. Every
copy of crew runs the main checkout's, and new worktrees branch from main,
so that is where a fix takes effect.
1. Find out what actually happened
Before changing anything, look at the evidence:
crew status: the branches, their sessions, PRs, review states, decks, and the load..crew/feedback.md: crew sessions log there where the rules or tools got in their way.- The nightman's
.crew/night/plan.md(its log),.crew/night/report-*.md, and a branch's.crew/notes.md(or.crew/archive/BRANCH-DATE/once cleaned). - The PR and its reviews:
crew pr BRANCH, thencrew gh -R usr-ein/TriMixxx pr view N --comments. - A session's own transcript:
- Find its id in
.crew/sessions/*.json(or withclaude agents --json). - Read
~/.claude/projects/DIR/ID.jsonl, where DIR is the session's starting directory with/and.turned into-(e.g.-Users-sam1902-Documents-CustomDJ--claude-worktrees-BRANCH). - Grep it for the moment in question; never read it whole.
- Find its id in
Tell Sam in a few lines what happened and why, before proposing the change. A one-off (a minion that misread its pitch) is fixed in that session, by message, not in the system.
2. Change it at the right layer
Prefer the smallest change at the lowest layer: a number before a rule, a rule before code.
| What's wrong | Layer | File |
|---|---|---|
| too many or too few minions, decks; load, disk, review rounds, drift-check cadence | numbers | .claude/crew/limits.env |
| a role asks too much or too little, decides what it shouldn't, reports badly, reviews the wrong things | the role's instructions | .claude/skills/{minion,bitch,nightman}/SKILL.md |
| a guard refusal that is wrong (or a hole in it), the drift check's wording, names, launching, merge or clean | the tool | .claude/crew/crew, with a test in .claude/crew/test_crew.py |
| which hooks run, and when | wiring | .claude/settings.json |
| how the whole thing works, for Sam | the overview | .claude/crew/README.md |
Keep the roles consistent: most rules have a mirror in another role. What a minion reports is what the nightman expects; what the bitch judges is what the minion writes in its PR; a limit a minion obeys is one the nightman enforces. Update the README when behaviour changes, and keep the skills' style (short sentences, concrete commands).
3. Test it
- Change a copy of the tool, never
.claude/crew/crewitself: every crew session's hooks run that file on each tool call, so a half-edited one breaks the guard while it lasts. Copycrew,test_crew.pyandlimits.envto your scratchpad, and change and test them there (python3 -m unittest discover -s DIR). python3 -m unittest discover -s .claude/crew -v. A change to the guard, merge, clean or launching gets a test of its own.- To try the tool from a worktree before it lands, prefix
CREW_LOCAL=1: otherwise the main checkout's copy runs. - Show Sam the change (a short diff or summary) and what the test showed.
4. Land it, on Sam's OK
Swap the tool in with one rename (cp it beside the live one, then mv),
and rerun the tests in place. Commit in the main checkout, on main, with
explicit paths:
git -c user.name="Samuel Prevost" -c user.email=usr_ein@pm.me commit ....
Tuning the crew is tooling, not deck code: it lands on main directly so it
takes effect at once. Push only when Sam says, and never while a repo's main
holds commits he hasn't pushed himself.
5. Reach the sessions already running
- The tool, the guard, the drift check, the limits: at once. Every copy
of
crewruns the main checkout's. - A role's instructions: a session keeps the text it loaded. SendMessage
each live crew session concerned (
crew status,claude agents): "Crew update: <what changed, in a line>. Re-read <main checkout>/.claude/skills/<role>/SKILL.md." A nightman passes it on to its minions if you ask it to. .crew/feedback.md: move the lines you handled under a## Handledheading at its end, with the commit.
Never
- weaken a safety rule (the guard, the merge's refusals, a real deck only on Sam's go and under its lock, no AskUserQuestion at night) without Sam saying so explicitly
- change a role's instructions without its mirrors and the README
- rewrite history, or push, without Sam's word