Create your fleet of lanes. One orchestrator, the right implementer for every job.
$ npx -y skills add amElnagdy/delegate-skills --agent claude-code
Repo: amElnagdy/delegate-skills
What's inside
Create your fleet of lanes. One orchestrator, the right implementer for every job.
Discover the implementer CLIs already installed on your machine, organize them into lanes like
feature, tests, and ui, then delegate by lane — or choose one implementer directly. Either way,
you keep the review and the commit.
npx skills add amElnagdy/delegate-skills
Then ask your orchestrating agent to create the fleet:
Use $delegate-setup to discover my installed implementer CLIs and create a fleet for feature, tests, and UI work.
Or delegate directly:
Use $codex-delegate to have Codex implement the refactor in services/billing/, then review and commit it.
flowchart LR
S["$delegate-setup<br/>discover → propose → approve"] --> F["Example fleet"]
O["Your orchestrator"] --> F
F -->|"feature"| A["OpenCode"]
F -->|"tests"| B["Codex"]
F -->|"ui"| C["Cursor"]
A --> R["Review the diff<br/>Run the gates"]
B --> R
C --> R
R --> L["You land the commit"]
| Skill | Job |
|---|---|
delegate-setup | Discover installed CLIs, propose fleet lanes, and write global or project config after you approve. Never dispatches work. |
A fleet is your set of named lanes. Each lane binds a kind of work to one implementer and optional dials such as model, effort, or variant. Setup discovers what is available, proposes a compact fleet, shows you the complete configuration, and writes only after explicit approval.
Configuration can apply globally or to one repository. Once it is ready, dispatch with the matching
*-delegate skill and --lane <name>. Explicit flags override lane dials, and the wrong implementer
skill for a lane fails loud. Project config is content-bound to explicit setup approval, so cloned or
edited project lanes fail closed until re-approved. See the
delegate-fleet.v1 schema for paths, supported dials,
and overlay behavior.
Skip setup when you want one implementer or one-off dials. Pick the skill for a CLI you have:
| Skill | Implementer CLI | Write access (default) | Read-only run | Resume |
|---|---|---|---|---|
aider-delegate | Aider (aider) — any OpenAI-compatible endpoint, including a local or self-hosted model via --api-base | --yes-always with --no-suggest-shell-commands; no sandbox or permission modes; commits force-disabled 1 | --read-only (--dry-run) | --resume-last (chat history, per-worktree) |
agy-delegate | Google Antigravity (agy) | Antigravity's own permissions; bypass opt-in | --read-only (plan mode) | --resume-last, --conversation <id> |
claude-delegate | Claude Code (claude) | acceptEdits + explicit tool surface | --read-only (plan mode) | --resume-last, --session <id> |
cline-delegate | Cline (cline) | --auto-approve true in act mode; upstream sandbox not configured by the relay | --plan + --auto-approve false (relay-enforced pair) | — (headless JSON resume unsupported) |
codex-delegate | OpenAI Codex (codex) | --sandbox workspace-write | --read-only | --resume-last, --session <id> |
commandcode-delegate | Command Code (cmd; cmdc on Windows) | --yolo — the only headless write state; no sandbox 2 | --read-only (withheld tools + plan) | --continue-last, --session <id> |
cursor-delegate | Cursor Agent (cursor-agent) | --force; --no-force withholds command approval | --read-only (plan mode) | --resume-last, --session <id> |
grok-delegate | Grok Build (grok) | workspace-scoped; --full-access opt-in | --read-only — best-effort 3 | --resume-last, --session <id> |
kimi-delegate | Kimi Code (kimi) | auto permission mode, always | — 4 | --resume-last, --session <id> |
opencode-delegate | OpenCode (opencode) | agent build (--model required) | --read-only (agent plan) | --resume-last, --session <id> |
pi-delegate | Pi (pi) | full local tools — no sandbox, no permission modes 4; project trust opt-in | --read-only (read,grep,find,ls) | --resume-last, --session <id> |
omp-delegate | Oh My Pi (omp) | --yolo (tools.approvalMode: yolo); project .omp extras off unless --approve | --read-only (read,grep,glob) | --resume-last, --session <id> |
qoder-delegate | Qoder (qodercli) | auto permission mode; bypass opt-in | --permission-mode plan | --resume-last, --resume <id> |
vibe-delegate | Mistral Vibe (vibe) | accept-edits; --full-access opt-in | --plan-only (plan agent) | --resume-last, --session <id> |
copilot-delegate | GitHub Copilot CLI (copilot) | --allow-all-tools opt-in; headless auto-deny otherwise | --read-only (--mode plan) | --resume-last, --session <id> |
warp-delegate | Warp Agent CLI (oz) | full local tools — no sandbox, no permission modes 4 | — 4 | --conversation <id> |
zcode-delegate | Z.AI ZCode (zcode) 5 | --mode yolo | --read-only (plan mode) | --resume-last, --session <id> |
Each skill name links to its SKILL.md, which owns that implementer's prerequisites, flags, and
caveats. Building one for another CLI? Claim it first,
then see CONTRIBUTING.md.
Browse first:
npx skills add amElnagdy/delegate-skills --list
Install the package, the setup skill, or one implementer skill:
npx skills add amElnagdy/delegate-skills
npx skills add amElnagdy/delegate-skills --skill delegate-setup
npx skills add amElnagdy/delegate-skills --skill codex-delegate
To pin an installation, append an existing release tag as @vMAJOR.MINOR.PATCH. The Skills CLI
installs by git ref, not by metadata.version in SKILL.md.
Install for a specific agent, or globally:
npx skills add amElnagdy/delegate-skills --skill codex-delegate --agent claude-code
npx skills add amElnagdy/delegate-skills --global
Works with any orchestrating agent the Skills CLI supports.
Whether you choose the implementer directly or through a fleet lane, every dispatch follows the same review-first loop:
relay.mjs.result.json.Use $claude-delegate to have a separate Claude Code session implement the parser fix, then review and commit it.
Use $opencode-delegate with --lane feature to implement the billing workflow, then review and commit it.
Use $codex-delegate to run this queue of migration tasks through Codex while I review each one.
Every relay speaks the same delegate-relay.result.v1 contract: status, exitCode, signal
(with a host-killed hint when the OOM killer ends a run), the implementer's own final report,
touchedFiles, and a session id where the CLI exposes one. Learn the loop once, swap the implementer
freely.
You feel it when a bounded task — a migration, a mechanical refactor, a removal sweep — comes back as a clean diff with a structured report, and you land it after re-running the gates yourself instead of typing it all by hand.
Four invariants hold for every *-delegate skill. They are also the bar for a new implementer:
git diff.Aider is the one implementer here that commits by default. Its --auto-commits and
--dirty-commits both default to True, the second of which commits your pre-existing uncommitted
work before editing. The relay always passes --no-auto-commits and --no-dirty-commits, and neither
is configurable through it. ↩
Command Code's headless mode has two states and nothing between them: a -p run
withholds the write, edit, and shell tools, and --yolo (alias --dangerously-skip-permissions)
allows every tool anywhere the process can reach. --permission-mode auto-accept and --tools-all
do not lift the write gate. So an implementation run is full-trust with no path restriction —
the brief's path list is guidance, not containment. A worktree isolates the checkout, while a
container or another OS-enforced sandbox is required when writes outside the target tree are
unacceptable. touchedFiles is a review aid based on git status; it cannot show ignored files or
writes outside the repository. ↩
grok cannot be prevented from writing headlessly. The relay reports a tri-state
readOnlyViolation tripwire for detected Git-visible changes; it does not enforce or attribute them. ↩
No CLI-enforced read-only mode. touchedFiles and the diff are what you review against, not
a guarantee: they are post-run git status in the workspace, so they cannot show ignored files,
reverted edits, or writes outside the repository. ↩ ↩2 ↩3 ↩4
ZCode ships its CLI inside the desktop app — there is no zcode on PATH, no npm
package, and the public docs cover only the GUI. The relay resolves it from
--zcode-path/ZCODE_CLI, then PATH, then the installed app bundle. Of ZCode's four documented
modes only plan and yolo work headlessly: build and edit have no permission client there, so
they block every write tool and exit 0 having changed nothing, and the relay rejects them rather
than report that as success. ZCode offers --disallowed-tools but no --allowed-tools, so
capability can be subtracted, never enumerated. Where zcode login fails with OAuth response is not valid JSON, the key comes from ZCODE_API_KEY / ANTHROPIC_API_KEY / ZAI_API_KEY instead. ↩
FAQ
delegate-skills is a Claude Code plugin with 18 hand-picked skills for automation work, indexed on Flowy. Install it with the command on its page. It includes agy-delegate, aider-delegate, claude-delegate. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it