Dispatcher/runner orchestration agents and operational skills for Claude Code.
Subagent definitions for the **dispatcher + runner** model:
Use when surveying a codebase against a rubric and generating a backlog of GitHub issues. Read-only: never edits files, opens PRs, or commits. Accepts: "audit <domain> in <repo>", dispatched by dispatcher for audit+remediate shape.
Use when you need to scope and dispatch tasks from an issue queue -- reads open issues, decides execution shape, fires runners. Skip for a single well-defined task; go straight to the runner instead.
Use when reviewing a PR in agent-tools -- reads the diff and originating issue, checks conventions, and takes one action: approve+merge, approve+note ordering, or request-changes+convert-to-draft.
Use when implementing a single GitHub issue end-to-end. Reads the issue, creates a branch, opens a draft PR, dispatches the work, pushes, watches CI, and returns when the lifecycle is complete. Accepts: "implement #N", "implement #N in <path>", "fix CI in PR #N".
When you notice something wrong or suboptimal in a skill or agent definition -- file a GitHub issue on joshrotenberg/agent-tools rather than silently proceeding.
Use when dispatching an auditor or implementing an audit pass: defines the rubric format the auditor expects and the five-phase execution contract (Orient, Evaluate, Triage, File, Report) the auditor follows.
When the dispatcher has audit findings filed as GitHub issues and needs to decide how to fire per-finding runners -- use this to read the labeled finding-issues, apply the in-progress label before dispatch, and choose parallel vs sequential runner execution.
When choosing how to dispatch a subagent -- consult this before firing any dispatch. Covers the two primary mechanisms (Task tool / Bash + claude -p) and when each fits: default to Task tool for in-project work, reach for Bash + claude -p when you need a different cwd, process boundary, or long-running dispatch.
How to coordinate with background tasks (dispatched sessions, CI watches, sub-agent dispatches) without polling or sleep-looping. Use Monitor for live streaming output; use run_in_background for fire-and-forget final-result cases. Wait for the harness notification, peek at in-flight output deliberately, surface stalled runs after a reasonable clock budget.
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
My custom skills and subagents for working with Claude Code.
The default posture is pull-driven: nothing runs while you're away. You sit down, run a check-in sweep, and hand-dispatch the work you choose. You decide the unit of work; the dispatcher (or, for a single task, a runner) carries it out.
Typical session:
@dispatcher work the backlog for a scoped
batch, or @runner implement #N for a single taskA loop/timer may remind you to run this sweep, but it never runs the sweep
itself. Dispatching is a deliberate act you take when you sit down.
When a batch of well-specified issues makes it worth it, you can escalate to the fully autonomous loop for that session:
claude --agent dispatcher
In this mode the dispatcher reads your GitHub issue queue, decides execution shape, and fires runners. Runners dispatch workers that branch, edit files, open PRs, watch CI, and merge — the whole pipeline runs unattended until the queue is worked. Turn it on deliberately, per session; it is the escalation, not the standing mode.
graph LR
Human((Human)) -->|files issues| GH[(GitHub Issues)]
Human -->|claude --agent dispatcher| D[Dispatcher]
D -->|reads queue| GH
D -->|dispatches| R[Runner]
R -->|opens draft PR| GH
R -->|dispatches| W[Worker]
W -->|edits files, commits| Repo[(Source)]
R -->|pushes, watches CI, merges| GH
R -->|dispatches| Rev[Reviewer]
Rev -->|approve + merge or request-changes| GH
skills/ -- operational knowledge. Process discipline, git
workflow, dispatch patterns, sandbox preflight, release-audit
anchoring, and the rest of the patterns I've found load-bearing
across projects.agents/ -- subagent definitions. runner does one task
end-to-end; dispatcher gathers context, decides execution
shape, and fires runners (single, parallel, sequential, etc.).| Agent | What it does | Invoke with |
|---|---|---|
dispatcher | Scopes units of work, decides execution shape, fires runners | @dispatcher work the backlog (in-session) or claude --agent dispatcher (CLI) |
runner | Implements one GitHub issue end-to-end (branch, draft PR, CI, merge) | @runner implement #N |
reviewer | Reviews a PR: approve+merge, request-changes+draft, or approve+note ordering | @reviewer review #N |
worker | Bounded code-change executor; reads context, edits files, commits | (dispatched by runner) |
auditor | Read-only audit of a codebase against a rubric; files findings as issues | @auditor audit <domain>, or dispatched for audit+remediate |
See agents/README.md for invocation details and when to skip the dispatcher and
go straight to the runner.
graph LR
Work[Work Sessions] -->|observes gaps| FF[field-feedback\nagent-feedback]
FF -->|files issues| Q[(Issue Queue)]
Q -->|triage labels| L[Labeled Queue]
L -->|dispatcher| Fixes[PRs + Merges]
Fixes -->|improves| Skills[Skills & Agents]
Skills -->|better| Work
The field-feedback and agent-feedback skills file GitHub issues automatically
when agents encounter problems during dispatch. @dispatcher triage open issues
labels and prioritizes them. You then work that queue on your next check-in —
hand-dispatching the fixes you choose, or, when the backlog warrants it, opting
into the autonomous loop above to let runners work it unattended. Either way the
loop closes; what varies is whether you drive each hop or let the queue do it.
touch CLAUDE.md -- marks the project for workspace survey.@dispatcher work the backlog or @runner implement #N.agent-tools ships as a Claude Code plugin, and the repo is its own marketplace. This works in both the CLI and the desktop app:
npx claudepluginhub joshrotenberg/agent-tools --plugin agent-toolsUltra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.