{
  "markdown": "# delegate-skills\n\n[![relay smoke](https://img.shields.io/github/actions/workflow/status/amElnagdy/delegate-skills/relays.yml?branch=master&label=relay%20smoke)](https://github.com/amElnagdy/delegate-skills/actions/workflows/relays.yml)\n[![skills.sh](https://www.skills.sh/b/amElnagdy/delegate-skills)](https://www.skills.sh/amElnagdy/delegate-skills)\n[![License](https://img.shields.io/github/license/amElnagdy/delegate-skills)](LICENSE)\n\n**Create your fleet of lanes. One orchestrator, the right implementer for every job.**\n\nDiscover the implementer CLIs already installed on your machine, organize them into lanes like\n`feature`, `tests`, and `ui`, then delegate by lane — or choose one implementer directly. Either way,\nyou keep the review and the commit.\n\n```bash\nnpx skills add amElnagdy/delegate-skills\n```\n\nThen ask your orchestrating agent to create the fleet:\n\n```text\nUse $delegate-setup to discover my installed implementer CLIs and create a fleet for feature, tests, and UI work.\n```\n\nOr delegate directly:\n\n```text\nUse $codex-delegate to have Codex implement the refactor in services/billing/, then review and commit it.\n```\n\n```mermaid\nflowchart LR\n  S[\"$delegate-setup<br/>discover → propose → approve\"] --> F[\"Example fleet\"]\n  O[\"Your orchestrator\"] --> F\n  F -->|\"feature\"| A[\"OpenCode\"]\n  F -->|\"tests\"| B[\"Codex\"]\n  F -->|\"ui\"| C[\"Cursor\"]\n  A --> R[\"Review the diff<br/>Run the gates\"]\n  B --> R\n  C --> R\n  R --> L[\"You land the commit\"]\n```\n\n## Choose how you delegate\n\n### Create a fleet\n\n| Skill | Job |\n| --- | --- |\n| [`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. |\n\nA **fleet** is your set of named lanes. Each **lane** binds a kind of work to one implementer and\noptional dials such as model, effort, or variant. Setup discovers what is available, proposes a compact\nfleet, shows you the complete configuration, and writes only after explicit approval.\n\nConfiguration can apply globally or to one repository. Once it is ready, dispatch with the matching\n`*-delegate` skill and `--lane <name>`. Explicit flags override lane dials, and the wrong implementer\nskill for a lane fails loud. Project config is content-bound to explicit setup approval, so cloned or\nedited project lanes fail closed until re-approved. See the\n[`delegate-fleet.v1` schema](skills/delegate-setup/references/schema.md) for paths, supported dials,\nand overlay behavior.\n\n### Delegate directly\n\nSkip setup when you want one implementer or one-off dials. Pick the skill for a CLI you have:\n\n| Skill | Implementer CLI | Write access (default) | Read-only run | Resume |\n| --- | --- | --- | --- | --- |\n| [`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) |\n| [`agy-delegate`](skills/agy-delegate/SKILL.md) | Google Antigravity (`agy`) | Antigravity's own `permissions`; bypass opt-in | `--read-only` (`plan` mode) | `--resume-last`, `--conversation <id>` |\n| [`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 <id>` |\n| [`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) |\n| [`codex-delegate`](skills/codex-delegate/SKILL.md) | [OpenAI Codex](https://github.com/openai/codex) (`codex`) | `--sandbox workspace-write` | `--read-only` | `--resume-last`, `--session <id>` |\n| [`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 <id>` |\n| [`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 <id>` |\n| [`grok-delegate`](skills/grok-delegate/SKILL.md) | Grok Build (`grok`) | workspace-scoped; `--full-access` opt-in | `--read-only` — best-effort [^grok] | `--resume-last`, `--session <id>` |\n| [`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 <id>` |\n| [`opencode-delegate`](skills/opencode-delegate/SKILL.md) | [OpenCode](https://opencode.ai) (`opencode`) | agent `build` (`--model` required) | `--read-only` (agent `plan`) | `--resume-last`, `--session <id>` |\n| [`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 <id>` |\n| [`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 <id>` |\n| [`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 <id>` |\n| [`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 <id>` |\n| [`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 <id>` |\n| [`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 <id>` |\n| [`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 <id>` |\n\n[^commandcode]: Command Code's headless mode has two states and nothing between them: a `-p` run\nwithholds the write, edit, and shell tools, and `--yolo` (alias `--dangerously-skip-permissions`)\nallows every tool anywhere the process can reach. `--permission-mode auto-accept` and `--tools-all`\ndo **not** lift the write gate. So an implementation run is full-trust with no path restriction —\nthe brief's path list is guidance, not containment. A worktree isolates the checkout, while a\ncontainer or another OS-enforced sandbox is required when writes outside the target tree are\nunacceptable. `touchedFiles` is a review aid based on `git status`; it cannot show ignored files or\nwrites outside the repository.\n\n[^none]: No CLI-enforced read-only mode. `touchedFiles` and the diff are what you review against, not\na guarantee: they are post-run `git status` in the workspace, so they cannot show ignored files,\nreverted edits, or writes outside the repository.\n\n[^aider]: Aider is the one implementer here that commits by default. Its `--auto-commits` and\n`--dirty-commits` both default to `True`, the second of which commits your pre-existing uncommitted\nwork before editing. The relay always passes `--no-auto-commits` and `--no-dirty-commits`, and neither\nis configurable through it.\n\n[^grok]: `grok` cannot be prevented from writing headlessly. The relay reports a tri-state\n`readOnlyViolation` tripwire for detected Git-visible changes; it does not enforce or attribute them.\n\n[^zcode]: ZCode ships its CLI **inside the desktop app** — there is no `zcode` on PATH, no npm\npackage, and the public docs cover only the GUI. The relay resolves it from\n`--zcode-path`/`ZCODE_CLI`, then PATH, then the installed app bundle. Of ZCode's four documented\nmodes only `plan` and `yolo` work headlessly: `build` and `edit` have no permission client there, so\nthey block every write tool and exit 0 having changed nothing, and the relay rejects them rather\nthan report that as success. ZCode offers `--disallowed-tools` but no `--allowed-tools`, so\ncapability can be subtracted, never enumerated. Where `zcode login` fails with `OAuth response is\nnot valid JSON`, the key comes from `ZCODE_API_KEY` / `ANTHROPIC_API_KEY` / `ZAI_API_KEY` instead.\n\nEach skill name links to its `SKILL.md`, which owns that implementer's prerequisites, flags, and\ncaveats. Building one for another CLI? [Claim it first](../../issues?q=is%3Aissue+label%3Aimplementer),\nthen see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Install\n\nBrowse first:\n\n```bash\nnpx skills add amElnagdy/delegate-skills --list\n```\n\nInstall the package, the setup skill, or one implementer skill:\n\n```bash\nnpx skills add amElnagdy/delegate-skills\nnpx skills add amElnagdy/delegate-skills --skill delegate-setup\nnpx skills add amElnagdy/delegate-skills --skill codex-delegate\n```\n\nTo pin an installation, append an existing release tag as `@vMAJOR.MINOR.PATCH`. The Skills CLI\ninstalls by git ref, not by `metadata.version` in `SKILL.md`.\n\nInstall for a specific agent, or globally:\n\n```bash\nnpx skills add amElnagdy/delegate-skills --skill codex-delegate --agent claude-code\nnpx skills add amElnagdy/delegate-skills --global\n```\n\nWorks with any orchestrating agent the [Skills CLI](https://github.com/vercel-labs/skills) supports.\n\n## How delegation works\n\nWhether you choose the implementer directly or through a fleet lane, every dispatch follows the same\nreview-first loop:\n\n1. **Write a brief** — self-contained task context; the implementer has no orchestrator chat history.\n2. **Dispatch** it with the bundled `relay.mjs`.\n3. **Wait** for completion — the relay writes a structured `result.json`.\n4. **Review** the diff — re-run the project's gates yourself; pair with [guard skills](https://github.com/amElnagdy/guard-skills).\n5. **Land** it — *you* commit, because committing belongs to the reviewer.\n\n```text\nUse $claude-delegate to have a separate Claude Code session implement the parser fix, then review and commit it.\nUse $opencode-delegate with --lane feature to implement the billing workflow, then review and commit it.\nUse $codex-delegate to run this queue of migration tasks through Codex while I review each one.\n```\n\nEvery relay speaks the same `delegate-relay.result.v1` contract: `status`, `exitCode`, `signal`\n(with a host-killed hint when the OOM killer ends a run), the implementer's own final report,\n`touchedFiles`, and a session id where the CLI exposes one. Learn the loop once, swap the implementer\nfreely.\n\nYou feel it when a bounded task — a migration, a mechanical refactor, a removal sweep — comes back as\na clean diff with a structured report, and you land it after re-running the gates yourself instead of\ntyping it all by hand.\n\n## What counts as an implementer skill\n\nFour invariants hold for every `*-delegate` skill. They are also the bar for a new implementer:\n\n- **A separate CLI edits a real working tree, and the diff is the deliverable.** Not an API wrapper,\n  not a gateway — an implementer whose work you can read with `git diff`.\n- **The relay never commits.** Committing belongs to the reviewer, always.\n- **Node built-ins only.** No dependencies, no network calls of its own, no credentials, no telemetry.\n  The relay launches its implementer CLI and `git`, plus the platform process launcher where a Windows\n  shim or a process-tree kill needs one.\n- **Autonomy is stated in the CLI's own terms**, and whatever it cannot enforce is said plainly — see\n  the two footnotes above.\n\nThis is a loop, not a forwarder: a forwarder hands over one task and returns the output. Here you\ndispatch, poll, review, and land, across one task or a queue. It stays complementary to a vendor's own\nplugin or subagents — those coordinate inside one agent; this keeps the contract portable across\norchestrators, with the commit on the reviewer.\n\n`delegate-setup` is the setup-skill exception: it discovers CLIs and writes an approved fleet map, but\nnever dispatches coding work.\n\nFull checklist: [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Requirements\n\n- For a `*-delegate` skill, its implementer CLI authenticated as you would at the terminal. Each\n  implementer skill's `SKILL.md` carries its own install and login commands.\n- `delegate-setup` requires no implementer CLI; it discovers whichever ones are available.\n- Node 18+ and `git`.\n- An orchestrating agent that can run shell commands and read files.\n- Shell examples assume bash/zsh (macOS/Linux, or Git Bash/WSL on Windows).\n\n## Trust and validation\n\nThis package is intentionally inspectable:\n\n- All skill content is Markdown, plus small Node scripts. Each `*-delegate` skill has exactly one\n  `scripts/relay.mjs`. The `delegate-setup` utility ships `discover.mjs` / `config.mjs` / `lane.mjs`\n  (and a shared implementer table) instead of a relay — it never dispatches coding work.\n- Those scripts make no network calls of their own, read or write no credentials, send no telemetry, and\n  have no dependencies (Node built-ins only). Relays launch an implementer CLI and `git`, plus the\n  platform process launcher/termination utility where a Windows shim or process-tree kill requires one.\n  Discover may invoke installed CLIs for `--version` / model list probes (those CLIs may contact their\n  own services). Read the script before you run it.\n- None of the relays ever commit — committing is always the orchestrator's job, after review.\n\n**Verification status** — claims here are backed by runs, not assumptions.\n\nTrue of every relay: argument handling, exit codes, `result.json` shape, supported resume mappings,\nand signal reporting are verified, along with each implementer-specific guard.\n\nPer skill — platform, CLI version, and what the run exercised:\n\n- `aider-delegate` — Windows, `aider` 0.86.2: contract-tested against the shared smoke matrix, plus\n  live headless `--message-file` runs against a **stub** OpenAI-compatible endpoint on loopback. Those\n  runs covered: an applied edit left uncommitted, with a pre-existing dirty file still uncommitted,\n  proving `--no-auto-commits`/`--no-dirty-commits`; no `.gitignore` written, proving `--no-gitignore`;\n  a `--read-only` (`--dry-run`) run that left the target file byte-identical; an endpoint returning\n  401, where aider exits 0 and the relay reports `failed` with `litellm.AuthenticationError`;\n  `aider_unavailable`/127 writing a result file; and usage errors exiting 2 without one. Review\n  follow-ups were re-verified the same way: a successful run whose report says `OPENAI_API_KEY` three\n  times still reports `completed`; a reused `--out-dir` seeded with another run's `final.txt` and\n  `result.json` publishes neither; a plain exit 7 carries an `error`; and a `--read-only` run over a\n  modified `.aider.conf.yml` plus generated history and tags-cache warns about exactly the config\n  file. Not run against a hosted provider model or a real local inference server, and not run on\n  macOS or Linux.\n- `agy-delegate` — Windows 10, native, `agy` 1.1.12: headless `--print` write run editing one briefed\n  file; `--read-only` `--effort high` run whose brief ordered an immediate file write, in a directory\n  the permission rules allowed: agy refused, wrote nothing, and `result.json` reported effort high,\n  `readOnly` true, `readOnlyViolation` false; argument validation for a bad `--effort` value and for\n  `--read-only` combined with `--dangerously-skip-permissions`, both exiting 2; resume by\n  `--conversation` with a delta brief. macOS, `agy` 1.0.16: headless edit run, `--print=` delivery,\n  absolute `--add-dir` workspace pin.\n- `claude-delegate` — macOS, `claude` 2.1.220: write run under `acceptEdits`; plan mode refusing an\n  edit, with the Git tripwire true on a violation and false on a clean run;\n  `--session`/`--resume-last` resume; `claude_unavailable`/127 and usage errors exiting 2 without a\n  result file; deny rules and the shell sandbox blocking `git commit`, `git push`, `git -C <dir> push`,\n  a nested `claude`, and a `$HOME` write.\n- `cursor-delegate` — Windows, `cursor-agent` 2026.07.23-e383d2b: write run under `--force`; plan-mode\n  `--read-only` touching nothing; `--session <id>` resume applying a delta brief; usage errors exiting\n  2. A maintainer-run native macOS plan-mode smoke against the same version captured model, session,\n  and usage with no touched files.\n- `grok-delegate` — macOS, `grok` 0.2.101: streaming-json report capture, file-based brief delivery,\n  resume; read-only is best-effort by measurement, hence the violation flag.\n- `kimi-delegate` — macOS, `kimi` 0.24.0: headless `-p` edit run, stream-json parsing, and both\n  resume paths — the relay's `--session`/`--resume-last`, which drive Kimi's own `--session` and\n  `--continue`.\n- `pi-delegate` — macOS: stdin brief delivery, explicit provider and model selection, JSON\n  session/provider/model/usage capture, and a `--read-only` run leaving a clean tree. Write,\n  `--session`, and `--resume-last` runs are contributor-reported.\n- `omp-delegate` — contract-tested, live run pending: stdin brief delivery, `omp --mode json`\n  argv (`--yolo`, `--tools read,grep,glob`, `--no-extensions --no-skills --no-rules`, `--thinking`),\n  session header / `message_end` parsing, `--approve` omitting the project-trust flags, `--continue`\n  resume, assistant `stopReason: error` reported as failed, `omp_unavailable`/127, and bounded\n  `--version` preflight. Native Windows launch is a native `omp.exe` (no `shell:true`); that path is\n  contract-tested via the smoke matrix's compiled fake, not against a live Oh My Pi install.\n- `qoder-delegate` — macOS, `qodercli` 1.0.47, by the contributor: Lite edit run, `accept_edits`,\n  explicit model and 32768-token context window, no commit.\n- `commandcode-delegate` — macOS, `cmd` 1.26.0: **live edit run verified**. A relay dispatch against a\n  throwaway git repository had Command Code fix a remainder-dropping bug in a money-splitting function\n  and add three tests; the project gate was re-run independently by the orchestrator (2 tests before,\n  5 passing after), the diff matched the brief with no writes outside the two named files, and `HEAD`\n  was untouched — the relay does not commit, and the run did not either. A second dispatch with\n  `--session <id>` verified resume through the relay: a one-line delta brief amended exactly the comment\n  it named, with the session id from the first run. A `--read-only` dispatch verified the other\n  direction, returning `readOnlyViolation: false` on a clean tree. Also verified negatively: separate\n  live runs confirmed `--tools-all` and `--permission-mode auto-accept` leave the headless write gate\n  closed and only `--yolo` opens it.\n\n  Live running surfaced a CLI limitation the relay now handles. `cmd` ends a run with a `run_end` event\n  embedding the whole conversation, then exits with `process.exit`, discarding whatever is still queued\n  in its stdout pipe: both write runs lost their `result` line entirely (one cut ~8 KB into `run_end`,\n  the other losing its last ~780 events). So nothing load-bearing is read from that tail — `sessionId`\n  comes from `run_start`, the first line of the stream, and the report from the last `message_end` or\n  its streamed deltas — the event log is written in batches so the relay drains the pipe as fast as it\n  can, `resultLine` reports `complete`/`truncated`/`absent` so a consumer knows which fields are\n  trustworthy. A complete non-success result converts a zero child exit to relay exit 1, while a lost\n  result line falls back to the process exit code. Smoke cases pin that contract. On a long run the\n  report itself can land in the discarded region. The diff is the deliverable, and a thin report\n  means missing information, not a failed run.\n\n  Native Windows launch is contract-tested against the installed `cmdc.cmd` shape, including stdin\n  brief delivery and the `cmd.exe` collision guard. A live native Windows Command Code run remains\n  unverified; upstream recommends WSL for stable Windows use.\n- `warp-delegate` — macOS, `oz` 0.2026.05.27.15.44.stable_01: **live edit run verified**. A relay\n  dispatch against a throwaway git repository had Warp add a function plus four assertions across\n  two files; both project gates were re-run independently by the orchestrator, the diff matched the\n  brief, and `HEAD` was untouched. Verified end to end: version preflight, launch, ndjson parsing\n  (`run_started` → `runId`/`runUrl`, `conversation_started` → `conversationId`), report extraction\n  from `{\"type\":\"agent\",\"text\":…}` events with `agent_reasoning` excluded, `touchedFiles`, and\n  `status: \"completed\"` / exit 0. A second dispatch with `--conversation` verified resume: a delta\n  brief saying only \"the function you just added\" — never naming it — produced exactly the right\n  edit, with `resumed: true` and the conversation id preserved. Also observed on a prior run:\n  `touchedFiles: []` on a clean tree and exit 1 → `status: \"failed\"`. Two caveats are documented in the skill rather than fixed,\n  because they are Warp's behaviour and not the relay's: `finalMessage` is the agent's full\n  narration rather than a distinct final-message event, and `--cwd` governed shell commands while\n  the agent's file tool resolved bare relative paths against `$HOME`. `--no-snapshot`, `--profile`,\n  `--skill`, and `--mcp` are contract-tested only.\n- `zcode-delegate` — Windows, `zcode` 0.16.1: read-only (`plan`) run leaving a clean tree with the\n  Git tripwire false; write run under `yolo` creating the briefed file and reporting it in\n  `touchedFiles`; `--session` resume with an attached delta brief, which recalled the earlier turn;\n  single-document `--json` parsing; `--version` preflight; discovery resolving the CLI from the app\n  bundle rather than PATH; and environment-variable auth under all three names ZCode accepts —\n  against an isolated home whose config carried no `apiKey`, a keyless run failed first, then\n  `ZAI_API_KEY`, `ZCODE_API_KEY`, and `ANTHROPIC_API_KEY` each completed the same read-only\n  dispatch. Contract-tested: `build`/`edit` rejection, the missing-CLI path, tolerance of the AI SDK\n  banner that ZCode can print on stdout ahead of the JSON (observed in direct CLI probes; exercised\n  in the suite by the fake), and the timeout matrix. The abort matrix is POSIX-only — Windows\n  delivers no catchable SIGTERM — so for this relay it first runs in CI. `zcode-delegate` is also\n  absent from the shared read-only tripwire scenario matrix, which runs `claude` and `grok` only —\n  its tripwire helpers are parity-enforced byte-identical, but no zcode-specific worktree-state run\n  is recorded. No macOS or Linux run is recorded.\n- `codex-delegate` — macOS, `codex` codex-cli 0.150.1: fresh `workspace-write` dispatch against a\n  throwaway repo created the briefed file and reported it in `touchedFiles`, with `status:\n  \"completed\"` and exit 0; a `--read-only` dispatch left the tree clean (`touchedFiles: []`) and\n  returned a `threadId`; a follow-up `--session <id>` resume against that thread was asked to recall\n  a word from the first turn without it being named again — the delta brief said only \"the word you\n  picked a moment ago\" — and it answered correctly, confirming the resumed turn saw prior context, not\n  just that the id was accepted. Contract-tested: argument validation,\n  bounded version preflight, missing binary, result parsing, and whole-process-tree timeout/abort\n  cleanup. No Windows or Linux run is recorded.\n- `opencode-delegate`, `vibe-delegate` — contract-tested only: argument validation, bounded version\n  preflight, missing binary, result parsing, and whole-process-tree timeout/abort cleanup. No\n  end-to-end run is recorded here.\n- `cline-delegate` — macOS, `cline` 3.0.52: current-binary unauthenticated plan probe reached\n  `run_start` with the fixed positional instruction plus the real brief on stdin, accepted a\n  provider-local model id, parsed the failing `run_result`, and left the tree clean. Contract-tested:\n  plan mode forcing `--auto-approve false`, the unsafe true conflict, argument validation, nullable\n  `sessionId`/`finalPath`, bounded version preflight, missing binary, result parsing, and whole-process-tree\n  timeout/abort cleanup. The contributor also reported a native Windows 3.0.51 edit run against the\n  earlier positional-brief commit; that does not verify this exact stdin-based head on Windows.\n- `copilot-delegate` — Windows, `copilot` 1.0.78: `--read-only` plan-mode run completed with a clean\n  tree and captured session id; `--allow-all-tools` edit run created the requested file; the headless\n  auto-deny path was exercised live (denial detected from the data-wrapped event shape, run reported\n  failed with the `--allow-all-tools` hint); `--session <id>` and `--resume-last` resume runs executed\n  their delta briefs via the directive-wrapped `-p @<file>` prompt. Contract-tested: argv exactness\n  (including the resume directive), denial shape, `--read-only`/`--allow-all-tools` conflict\n  validation, bounded version preflight, missing binary, result parsing, and whole-process-tree\n  timeout/abort cleanup.\n- `delegate-setup` — contract-tested: discover JSON shape, config validate/write/load, whole-lane\n  project overlay, global write without creating `.delegate/`, and `--lane` resolve / wrong-skill /\n  flag-override against relays. The smoke suite runs live discovery against installed CLIs\n  (versions vary by machine). Native Windows discover smoke not yet claimed.\n\nNot yet verified: native Windows launches for `claude`, exact-head `cline`, `grok`, `kimi`,\n`pi`, `qoder`, `vibe`, and `omp` (`codex`/`opencode`/`grok`/`commandcode` have contract-tested `.cmd` shim handling;\nCursor serializes a pre-joined, quoted command; Qoder and Vibe target their documented native executables).\nClaude's own shell sandbox is unsupported on native Windows regardless of launch mechanics, and upstream\nVibe officially targets UNIX. A native Linux `cursor-agent` run is unverified. The full delegate →\nreview → commit loop is designed for and run on Claude Code; other orchestrators (Cursor, …) are\ndesigned-for but unproven.\n\n## Repository shape\n\nImplementer skills share one shape; the setup utility has a different one:\n\n```text\nskills/\n├── <name>-delegate/\n│   ├── SKILL.md\n│   ├── scripts/relay.mjs\n│   └── references/\n│       ├── writing-the-brief.md\n│       ├── dispatch-and-poll.md\n│       ├── review-and-land.md\n│       └── multi-task-queues.md\n└── delegate-setup/\n    ├── SKILL.md\n    ├── scripts/\n    │   ├── discover.mjs\n    │   ├── config.mjs\n    │   ├── lane.mjs\n    │   └── implementers.mjs\n    └── references/\n        ├── schema.md\n        └── setup-dialogue.md\n```\n\nAdding an implementer is a new directory plus two lines here: a table row, and a verification line once\na run backs it.\n\nContributing? House rules, the controlled vocabulary, and the pre-publish checklist live in\n[AGENTS.md](AGENTS.md) — read it before opening a pull request, and point your agent at it too.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n",
  "bytes": 27798,
  "sha": "a077d1303fb8373e9957b6ce39747c904c23793838e67cec2ca3f6ad38e26d40",
  "repo_slug": "amelnagdy/delegate-skills",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_amelnagdy_delegate_skills_delegate_setup_ce7777a7/readme"
}