Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
delegate-skills

delegate-skills

> 开发工具
Free

Delegate a coding task to a separate coding agent CLI, review the diff, land the commit yourself — o

1.9K stars0 likes2 views
WebsiteGitHub

About

Delegate a coding task to a separate coding agent CLI, review the diff, land the commit yourself — o

# delegate-skills **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. ```bash npx skills add amElnagdy/delegate-skills ``` Then ask your orchestrating agent to create the fleet: ```text Use $delegate-setup to discover my installed implementer CLIs and create a fleet for feature, tests, and UI work. ``` Or delegate directly: ```text Use $codex-delegate to have Codex implement the refactor in services/billing/, then review and commit it. ``` ```mermaid flowchart LR S["$delegate-setup
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
Run the gates"] B --> R C --> R R --> L["You land the commit"] ``` ## Choose how you delegate ### Create a fleet | Skill | Job | | --- | --- | | [`delegate-setup`](skills/delegate-setup/SKILL.md) | 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 `. 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](skills/delegate-setup/references/schema.md) for paths, supported dials, and overlay behavior. ### Delegate directly 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`](skills/aider-delegate/SKILL.md) | [Aider](https://aider.chat) (`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 [^aider] | `--read-only` (`--dry-run`) | `--resume-last` (chat history, per-worktree) | | [`agy-delegate`](skills/agy-delegate/SKILL.md) | Google Antigravity (`agy`) | Antigravity's own `permissions`; bypass opt-in | `--read-only` (`plan` mode) | `--resume-last`, `--conversation ` | | [`claude-delegate`](skills/claude-delegate/SKILL.md) | [Claude Code](https://code.claude.com/docs/en/overview) (`claude`) | `acceptEdits` + explicit tool surface | `--read-only` (`plan` mode) | `--resume-last`, `--session ` | | [`cline-delegate`](skills/cline-delegate/SKILL.md) | [Cline](https://github.com/cline/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`](skills/codex-delegate/SKILL.md) | [OpenAI Codex](https://github.com/openai/codex) (`codex`) | `--sandbox workspace-write` | `--read-only` | `--resume-last`, `--session ` | | [`commandcode-delegate`](skills/commandcode-delegate/SKILL.md) | [Command Code](https://commandcode.ai/docs/headless) (`cmd`; `cmdc` on Windows) | `--yolo` — the only headless write state; no sandbox [^commandcode] | `--read-only` (withheld tools + `plan`) | `--continue-last`, `--session ` | | [`cursor-delegate`](skills/cursor-delegate/SKILL.md) | [Cursor Agent](https://cursor.com/cli) (`cursor-agent`) | `--force`; `--no-force` withholds command approval | `--read-only` (plan mode) | `--resume-last`, `--session ` | | [`grok-delegate`](skills/grok-delegate/SKILL.md) | Grok Build (`grok`) | workspace-scoped; `--full-access` opt-in | `--read-only` — best-effort [^grok] | `--resume-last`, `--session ` | | [`kimi-delegate`](skills/kimi-delegate/SKILL.md) | [Kimi Code](https://moonshotai.github.io/kimi-code/en/) (`kimi`) | `auto permission mode`, always | — [^none] | `--resume-last`, `--session ` | | [`opencode-delegate`](skills/opencode-delegate/SKILL.md) | [OpenCode](https://opencode.ai) (`opencode`) | agent `build` (`--model` required) | `--read-only` (agent `plan`) | `--resume-last`, `--session ` | | [`pi-delegate`](skills/pi-delegate/SKILL.md) | [Pi](https://github.com/earendil-works/pi-mono) (`pi`) | full local tools — no sandbox, no permission modes [^none]; project trust opt-in | `--read-only` (`read,grep,find,ls`) | `--resume-last`, `--session ` | | [`omp-delegate`](skills/omp-delegate/SKILL.md) | [Oh My Pi](https://github.com/can1357/oh-my-pi) (`omp`) | `--yolo` (`tools.approvalMode: yolo`); project `.omp` extras off unless `--approve` | `--read-only` (`read,grep,glob`) | `--resume-last`, `--session ` | | [`qoder-delegate`](skills/qoder-delegate/SKILL.md) | [Qoder](https://docs.qoder.com/en/cli/quick-start) (`qodercli`) | `auto` permission mode; bypass opt-in | `--permission-mode plan` | `--resume-last`, `--resume ` | | [`vibe-delegate`](skills/vibe-delegate/SKILL.md) | [Mistral Vibe](https://github.com/mistralai/mistral-vibe) (`vibe`) | `accept-edits`; `--full-access` opt-in | `--plan-only` (`plan` agent) | `--resume-last`, `--session ` | | [`copilot-delegate`](skills/copilot-delegate/SKILL.md) | [GitHub Copilot CLI](https://docs.github.com/copilot/how-tos/copilot-cli) (`copilot`) | `--allow-all-tools` opt-in; headless auto-deny otherwise | `--read-only` (`--mode plan`) | `--resume-last`, `--session ` | | [`warp-delegate`](skills/warp-delegate/SKILL.md) | [Warp Agent CLI](https://docs.warp.dev/cli/) (`oz`) | full local tools — no sandbox, no permission modes [^none] | — [^none] | `--conversation ` | | [`zcode-delegate`](skills/zcode-delegate/SKILL.md) | [Z.AI ZCode](https://zcode.z.ai) (`zcode`) [^zcode] | `--mode yolo` | `--read-only` (`plan` mode) | `--resume-last`, `--session ` | [^commandcode]: 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. [^none]: 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. [^aider]: 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. [^grok]: `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. [^zcode]: 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. 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](../../issues?q=is%3Aissue+label%3Aimplementer), then see [CONTRIBUTING.md](CONTRIBUTING.md). ## Install Browse first: ```bash npx skills add amElnagdy/delegate-skills --list ``` Install the package, the setup skill, or one implementer skill: ```bash 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: ```bash 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](https://github.com/vercel-labs/skills) supports. ## How delegation works Whether you choose the implementer directly or through a fleet lane, every dispatch follows the same review-first loop: 1. **Write a brief** — self-contained task context; the implementer has no orchestrator chat history. 2. **Dispatch** it with the bundled `relay.mjs`. 3. **Wait** for completion — the relay writes a structured `result.json`. 4. **Review** the diff — re-run the project's gates yourself; pair with [guard skills](https://github.com/amElnagdy/guard-skills). 5. **Land** it — *you* commit, because committing belongs to the reviewer. ```text 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. ## What counts as an implementer skill Four invariants hold for every `*-delegate` skill. They are also the bar for a new implementer: - **A separate CLI edits a real working tree, and the diff is the deliverable.** Not an API wrapper, not a gateway — an implementer whose work you can read with `git diff`. - **The relay never commits.** Committing belongs to the reviewer, always. - **Node built-ins only.** No dependencies, no network calls of its own, no credentials, no telemetry. The relay launches its implementer CLI and `git`, plus the platform process launcher where a Windows shim or a process-tree kill needs one. - **Autonomy is stated in the CLI's own terms**, and whatever it cannot enforce is said plainly — see the two footnotes above. This is a loop, not a forwarder: a forwarder hands over one task and returns the output. Here you dispatch, poll, review, and land, acr

GitHub Issues· 0 open

View all on GitHub

No open issues yet, or sync has not completed.

Highlights

  • •A separate CLI edits a real working tree, and the diff is the deliverable. Not an API wrapper,
  • •The relay never commits. Committing belongs to the reviewer, always.
  • •Node built-ins only. No dependencies, no network calls of its own, no credentials, no telemetry.
  • •Autonomy is stated in the CLI's own terms, and whatever it cannot enforce is said plainly — see

> Tags

agent-skillsclaude-codecoding-agent

No comments yet. Be the first to share.

> Details

PublishedSep 9, 2026
UpdatedSep 17, 2026
Category开发工具
PricingFree

> Related tools

V
VS Code
流行的开源代码编辑器
G
Git
分布式版本控制系统
V
Vite
下一代前端构建工具