/manager
/manager agents
Owns one task inside a worktree — briefs an implementer subagent, reviews its diff and reruns tests itself, restarts a fresh implementer from skilleddocs/HANDOFF.md when one stalls (≤3 rounds). Never pushes or merges. Use from pair, or from meta-orchestrator with shape pair.
- invocation subagent (Agent tool)
- model opus
- preloads /handoff-auto
- guard guard-git.py hook
- prereqs The implementer agent and handoff-auto skill in…
- tested used daily
- suggested model · effort opus · high
Install
Install just this, from a clone of the repo. Anything it needs comes with it.
./scripts/install-skills.sh --skill manager # bash, Git Bash, macOS, Linux
.\scripts\install-skills.ps1 -Skill manager # Windows PowerShell
Needs: handoff-auto, kanban-setup, next, session-handoff, implementer, the guard-git hook (installed with it).
What it does
Owns one task end to end in a worktree.
- Never implements itself: briefs an implementer, then reviews its work as if it didn't trust it.
maxTurns: 150.
How to invoke
Agent(subagent_type="manager", prompt=…)
You pass: - Working directory (absolute, usually a worktree on the task branch).
- Task + acceptance checklist.
- Rules (branch prefix, protected branch, commit style,
CONTRIBUTING.md/AGENTS.mdpath). max_rounds(default 3).decisions(ask|assume, defaultask).
How it works
- Orients read-only; confirms every file the task cites exists; detects the test command.
- Writes a ≤40-line brief (includes "if stuck, write
skilleddocs/HANDOFF.md, commit only ifTRACKING.mdsays so, stop"). - Spawns an
implementer(notfork, noisolation) on the model it was given, else by size (trivial → haiku, small/medium → sonnet, large or risky → opus) withrun_in_backgroundunset so the call blocks.- Some Agent tool versions have no foreground mode. In that case, or if the call returns early, it never makes up a result or sleep-polls. It ends the turn with a plain-text status and lets the completion notification wake it.
- Only with no notification path does it return INTERIM — implementer still running (callers must not act on it).
- Reviews every round itself, inline:
- Commit scope,
git diff <base>...HEAD, reruns tests + lint. - Checks that
git diff --name-only <base>...HEADholds no handoff files: neverskilleddocs/HANDOFF.md. When handoffs are committed, nothing in the handoff folder (the oneAGENTS.md/CLAUDE.mdnames, elseskilleddocs/handoffs/). When they are untracked, nothing underskilleddocs/or that folder. - Fixes one-liners; larger gaps go to the next round.
- Never spawns reviewer subagents.
- Commit scope,
- Retries with a fresh implementer +
skilleddocs/HANDOFF.md/findings, up tomax_rounds; deletesHANDOFF.mdonce picked up (in a commit if tracked).
Design principles
- Never implements, only briefs and reviews, treating the implementer's "pass" as a claim to rerun.
- Review stays inline in its own context (no reviewer subagents, because nested fan-out stalls).
- A stalled round restarts a fresh implementer from
HANDOFF.mdinstead of stretching one context.
Shared context for these principles: Matt Pocock's video.
Use cases
- One task inside a worktree for
pair. - Each task of a
meta-orchestratorrun withshape: pair. - The fix brief after a swarm batch's review.
Tips
- Pass the working directory as an absolute path; it is handed to the implementer verbatim.
- Raise
max_roundsonly for tasks you expect to need several fresh starts. - An INTERIM report means the implementer is still running, so don't act on it.
Example
One issue through planner, manager and verifier, as an orchestrator (or you)
calls them. The manager briefs and spawns its own implementer inside its turn, so only
the manager's report comes back. You push and merge in between:
Agent(subagent_type="planner", prompt="~/code/myrepo; exclusions: label needs-design; order: priority label") (+7 lines)
Agent(subagent_type="manager", prompt="working directory: /home/you/code/_worktrees/myrepo-issue-31-csv-export; <the brief, verbatim>; prefix=feat; protected=main; max_rounds=3; never push or merge") (+7 lines)
Bash(git push -u origin feat/issue-31-csv-export && gh pr create --fill) (+1 line)
Agent(subagent_type="verifier", prompt="skilleddocs/orchestrator/reports/<#31 report>; interview=park; review-done=yes") (+5 lines)
Related
- Preloads:
handoff-auto - Linked from:
pair
Prereqs
- The
implementeragent andhandoff-autoskill installed. - Python 3.8+ (and Git Bash on Windows) for the guard hook.
You get back
- Branch + base/head SHA.
- Commits.
- Tests (command + counts) and lint run by it.
- Review findings and who fixed each.
- Rounds used.
- Assumed open
A-nids. skilleddocs/HANDOFF.mdpath (or the last SHA that held it, if tracked) if unfinished.- Manual steps (e.g. the push).
Guard
Same guard-git.py hook as the implementer.
- Never pushes, merges or opens PRs — the caller does.
ghis read-only (plusgh pr create), so card moves, issue comments and labels go to the caller as manual steps.- Never deletes links or worktrees either, and never a recursive delete through a linked
node_modules/.venv— teardown is the caller's job.
Sample workflows
- Run the backlog unattended
you → lanes → you → meta-orchestrator → planner → manager → implementer → verifier → you → switch → remind → progress-report → you
Install just this one:./scripts/install-skills.sh --workflow unattended-backlogor.\scripts\install-skills.ps1 -Workflow unattended-backlog - One issue to a reviewed PR
pair → manager → implementer → you → pr-watch → you
Install just this one:./scripts/install-skills.sh --workflow pair-to-pror.\scripts\install-skills.ps1 -Workflow pair-to-pr - Match each issue to a shape: swarm, pair or flat
you → meta-orchestrator → planner → implementer → manager → verifier → you
Install just this one:./scripts/install-skills.sh --workflow orchestration-shapesor.\scripts\install-skills.ps1 -Workflow orchestration-shapes
Use cases & tips from the community