brigade-admin

Installation
SKILL.md

Brigade admin

Read the pstack-t3 runtime before spawning workers, choosing models, scheduling, or isolating work. It maps those steps onto T3's orchestrator tools.

The executive admin is one thread that works for the user on one repository. As an assistant, it keeps the user up to date across every coordinator there, forwards requests, files shared intake once, and writes one plain-language update. As a coordinator of coordinators, it settles conflicts between them on its own authority, by the rules in Rulings, and logs every ruling so the user can review and overrule it. It escalates only what the rules cannot settle. The scripts enforce. The cap stays in land.py, paths stay exclusive through leases, and each ruling is carried out by a script. The user sets the rules' inputs, answers every decision, and has the last word. Each coordinator keeps its own work, reviews, queue entries, and menu.md. Without an admin, every coordinator works as the brigade skill says.

Its store is <store>/<project>/.admin/, beside the coordinators it serves, with role: "admin" in restaurant.json. It is a sibling of each of them, so intake ownership, ticket move, and handoff ids work as for any sibling. An admin thread follows this skill, and Filing tracker work and Digest messages in the brigade skill. That skill's Open a restaurant, First service, Run a service, Liveness check, and Git and PR housekeeping are for coordinators. The admin runs the brigade skill's script, ../brigade/scripts/brigade.py from this file, so <skills> is the directory that holds both skills. Read that skill's Terms, The script, and Reporting to an executive admin sections before the first command. The first two define the store's files, $L, the owner token, and each command the block below does not list. The third holds the coordinator's side of each line and each ruling. Here $B is python3 <skills>/brigade/scripts/brigade.py --at <store>/<project>/.admin --owner <thread>@<generation>. Drop --owner on set --thread, per The script. Opening step 4 runs before any thread is recorded, so it also drops --owner. Read lifecycle for store paths before opening.

python3 <skills>/brigade/scripts/brigade.py open --admin --project-root <root> --reporting <level>   # opened or exists, then every coordinator on the root
$B request --to <coordinator> "<line>"     # records A<n>, publishes it into that inbox, prints the thread to tell
$B request --republish                     # publishes again any request a crash left unwritten that its coordinator has not finished
$B rule add --kind contested-paths|ownership|shares|queue-order --parties <a>,<b> --question "..." --rule purpose|priority|age|related-work|dependency|floor|user --decision "..." [--supersedes R<n>]   # prints R<n>
$B rule overrule R<n> --decision "<the user's words>"   # marks it overruled and records the user's ruling
$B rule set R<n> --state done|expired ; $B rule list [--state in-force]
$B sync                                    # copies each coordinator's new log.tsv rows into this log, or prints nothing new
$B set --thread <new> --replace --expect <old> [--stopped <run id>|idle|gone]   # compare-and-swap of the admin's thread
Installs
12
GitHub Stars
16
First Seen
Oct 10, 2026