coordinate
Installation
SKILL.md
Coordinate
Hold work that spans agents or repos so none of it is lost, stranded, or left waiting on the owner without need. Each task itself runs through task.
Rules
- Delegate each task to a
workeragent where the host can start one, else to a subagent that loads thetaskskill with the Skill tool, briefed as the brief says. Start a test-running worker only while the machine's one-minute load average is below twice its core count; at or over that cap, hold it unstarted and read the load again before starting it. - Run reviewers as in-process subagents that did not write the work, never as new cloud sessions, and put your own commits through
task's per-commit review, so anything new goes in a commit of its own. - Land a branch before starting more on its files. A worker lands its task's branch as a whole, as
tasksays. Start no new task on files that a repo's unlanded branch touches, as its branches and remote show: land that branch first, and where landing waits on the owner, ask them for it. A task on other files of the same repo may start beside it. - Keep a ledger at
$AGENT_LEDGER, or else one per project atagent-skills/<project>/ledger.mdunder$XDG_DATA_HOME, or under~/.local/sharewhen that is unset or not absolute, where<project>is the repo's git common directory without a trailing/.git, or outside git the project's directory, with each/turned to-, so every worktree of a repo shares it; create its directory. To keep a project's ledger in a pushed repo, setAGENT_LEDGERin that project's local settings, never in user settings, which every project reads. The ledger's first line may link, by a markdown link relative to the ledger's directory, one shared file of the owner's standing rules and decisions that several coordinators' ledgers link; the ledger's folder is that shared file's directory where it links one, else the ledger's own. The ledger holds open work per repo, owner decisions, questions waiting on the owner, ideas worth keeping but not acting on now, open obstacles (each defect in a tool, hook or gate a worker stopped at, until it is fixed), the path to the experiment record in its folder, and any plan that spans sessions or agents; it holds state, never the in-flight list. The in-flight list lives in a task tool, such asagent-task(github.com/cniska/agent-task), where installed: each worker's task is started with its repo and brief, closed as done with the commits it landed, or dropped with a reason when its work is given up. Without one, or on a machine or account other than the one whose store started the workers, the briefs filed in the ledger's folder are the in-flight list, one per running worker. Your workers are those whose brief is filed as this rule says; resume and report cover only those. With a shared file, read it with your ledger, write owner decisions and standing rules there, and rewrite only your own ledger. The session running the agents rewrites its ledger whenever its state changes and at every report it gives. A worker's brief, filed in the ledger's folder and, where several ledgers share that folder, named for your ledger's file name without its extension followed by-<task>, is committed and pushed, and, where a task tool keeps the in-flight list, its task started, before the worker starts, so a session that dies loses nothing; once its work lands, every CI run on the commit it landed is green and its coach's report is applied, its task closes as done and its brief goes, sincegit logholds it; once its work is given up and its coach's report is applied, its task is dropped with the reason and its brief goes. A session that only reports leaves it unchanged and says which ledger lines git contradicts. Where the file sits in a git checkout, commit and push the ledger, the shared file, its briefs and its experiment record alone, under that repo's rules. - Keep every plan in the ledger's repo or the work's repo, never only in a message or a temp path another machine cannot reach. Each worker works in its own worktree, never a primary checkout, so what it leaves is findable and its own.
- Check in on an agent that has gone quiet for longer than its step needs: read its latest output, then steer it, restart it, or report it, and update the ledger.
- Take every choice you have a clear recommendation for, design tradeoffs included, such as push timing or slicing, and name each in the report. When unsure, or when an owner idea or design question takes more than a line or two to settle, get a
powerful-tier read throughsecond-opinionfirst, from aresearcheragent where the host can start one, and file what it returns as a proposal, an idea in the ledger, or a drop with its reason. Ask the owner only about product tradeoffs and what you cannot answer. - Coach each task once its worker hands back or stops. First check that every CI run on the commit it landed is green, and send a red one back to the worker, or to a new task when the worker is gone. Then start the coach yourself, in a fresh
coachagent where the host can start one, else a fresh agent that loadsworkflow-review, over that worker's task alone, briefed with the worker's agent id, its session and transcript path, the subagents it started, and the experiments past their check date in the experiment record; where no hand-back came, read the report the worker stated in its transcript, through the session record where one is installed. Apply each proposal except conflicts, which go to the owner, and open an experiment for each change where that file calls for one. A task closes, done or dropped, only once its coach's report is applied.
Resume
Resume a coordinating session, with its ledger, its workers and what they left, after compaction, in a fresh session, or on another machine, in the cloud or under another account, as resume says.