/crew <ask> asks what is missing, up to five questions in one batch, writes the contract and hands the card to the coordinator. From there the coordinator owns it: every stop gets one decision. A fix, a smaller scope, a split, or one concrete question back to you. Done is a proof command that exited 0, run by a tool.
›/crew publish the plugin as a branch with generic roles
Built in, not promised: one ask fans out into up to six cards that run side by side, a card cannot be marked done until its proof passes, every run stops at its token budget, and the whole crew runs inside your own Hermes, on your own machine.
One ask. Four deliverables. All verified. Watch a single /crew message become a pricing page, a working checkout, a launch post and an email, built in parallel, each one proven before it is called done, with exactly one question for the owner.
Each station is a role with its own profile, model and tools. The two that decide whether work is done run no model at all.
Type it in the chat you already use. Say how you would know it is done.
Reads the ask as a skeptic, asks once for what is missing, opens the card. Then the turn ends.
Wakes on every card event with the whole record in hand. One bounded turn, one decision.
One writer per card, inside the contract's scope. Stops itself after five failed tool calls in a row.
The proof command runs in a tool, exactly as it was written when the card opened. 0 is the only pass.
The coordinator re-runs the proof before the card can close. A card that asks for it gets one cheap independent verifier run instead.
One line in the thread you asked from. Or one question, after the coordinator has tried twice.
The panel reads like a transcript, not a log dump. What the worker is doing right now, what it said, which calls it made and the model it runs on. When a run stops, the same panel says why, and the coordinator’s fix sits on the card.
/crew runs in your chat and opens the card with the board's own tool, so the board's subscription brings the ending back to the thread that asked. No polling in your session, no watcher process. A card cannot be opened from an ordinary message, and not with a field missing.
The mechanical cases never reach a model: a held workspace, a dead model pin, a block whose proof now passes. Everything else gets one bounded turn with the contract, the runs, the verdict lines, the ledger and the hand-off of what earlier runs did. Two retries per card; the third is a question to you. A card you stopped is never revived.
A crew card closes only on a PASS line written by the tool that ran the proof command as it was snapshotted when the card opened. That holds for the writer, for the verifier, and for your own chat. Two FAILs go back to the coordinator with both outputs.
Verify: proof is the tool plus the audit. Verify: independent adds one cheap verifier run with one check the command cannot make.Every API call re-reads the whole context, so cost is calls times context, and Crew keeps both short. A run stops itself after five failed tool calls in a row. Every card carries a token budget, and a run that reaches it stops instead of burning on.
Three commands, plus one to look inside. Unblocking, retrying and verifying are the coordinator's job, and the board shows what it decided: each card carries its verdict, its budget and its last decision.
/crew <ask>start a card
/crew-statuswhat is running
/crew-stop <id>stop a card
/crew-diagnoseread-only look at a card
127.0.0.1:8799. No external service, no telemetry leaving the box.Install once per profile; running it twice changes nothing. Then type the ask in the chat you already use. The card, and its ending, come back to that thread.
›Set up Hermes.Crew for my Hermes profile NAME: from the Hermes.Crew package run python3 install.py --profile NAME, then hermes -p NAME plugins doctor crew and fix anything it reports. Finish by sending /crew-status in my chat and tell me what it answered.$python3 install.py --profile NAME$hermes -p NAME plugins doctor crew›/crew publish the plugin as a branch with generic roles