cline-delegate · v0.4.2 · 2026-08-09 · sha256 cd796e01902b19b1
cline-delegate v0.4.2A
Immutable. This exact content is served forever at /api/v1/blob/cd796e01902b19b1.
--- name: cline-delegate description: >- Delegate a coding task to the Cline coding agent CLI (`cline`) as a background implementer, then review its diff and land it yourself. Use this whenever the user wants to delegate implementation work to Cline - phrasings like "have Cline implement X", "delegate this to cline", "run it through Cline", or "use cline to implement/fix/refactor" - or wants to run a queue of coding tasks through Cline while staying the reviewer. DO NOT USE for tasks small enough to do inline, or when the user wants the code written directly without delegating. license: MIT metadata: version: 0.4.2 --- # Cline Delegate You are the **orchestrator**. Delegate a bounded coding task to a separate **implementer** - the Cline coding agent CLI - then review what it produced and land it yourself. You write the brief and own the judgment; the implementer makes changes in its own session in a clean working tree; you verify and commit. The loop needs only a shell command and file access, so any comparable orchestrator can drive it. ## When NOT to use this - The task is small enough to do inline; delegation overhead is not worth it. - The `cline` CLI is not installed or authenticated. - You need a sandboxed implementer. Cline is a coding agent for dev machines: no sandbox, no multi-tenancy, and by default it can run `bash`/`powershell` commands as the current user. ## Prerequisites (check once) 1. Install `cline` (npm or bundled binary; the relay probes `cline --version`). 2. Authenticate: run `cline auth` (interactive sign-in), or configure `ANTHROPIC_API_KEY` / an OpenAI-compatible base URL. 3. Confirm `cline --version` succeeds. 4. Work in, or point `--cd` at, the target git repository. ## Choose the model (optional) Cline picks a default model. To choose another, pass `--model <id>` or `--provider <name>` (e.g. `anthropic`, `openai-native`, `openrouter`). The relay accepts letters, digits, and `. _ : / -` only (the value reaches a shell on Windows). `--model` ids must be **vendor-qualified** (`provider/model`, e.g. `deepseek/deepseek-v4-flash`): cline rejects a bare id like `deepseek-v4-flash` with "invalid model format, expected modelType/model", and the relay fails fast on a bare id instead of dispatching a doomed run. ## The loop Run these five steps per task. Steps 1, 4, and 5 require judgment; 2 and 3 are mechanical. ### 1. Write a brief Cline sees only the text you send. It cannot read your conversation: the brief must stand alone with the goal, current state, what to change, what to leave untouched, the project's **real** gates, and a report contract. Keep each brief to a single task. Write it to a file and pass it as the relay's `--brief`. See [references/writing-the-brief.md](references/writing-the-brief.md). ### 2. Dispatch Use the bundled relay. It runs `cline --json -v` with the brief as cline's `[prompt]` positional argument (the transport this relay uses for cline's prompt; cline also accepts piped stdin, but the relay never uses it), captures the JSON event stream, and writes `result.json`. On Windows the brief must be a single line without `%`, `!`, `"`, or newlines, and `--model` ids must be vendor-qualified (`provider/model`) - the relay rejects violations before dispatch, not after the run starts. See [references/writing-the-brief.md](references/writing-the-brief.md). ```bash node "<skill-dir>/scripts/relay.mjs" --brief brief.txt --cd /path/to/repo # choose a model / provider: add --model <id> --provider <name> # read-only planning pass: add --plan # resume a specific session: add --session <id> (delta brief only) # hard time limit (watchdog): add --timeout 2h (the 30m default suits brief runs; most implementation briefs should be 1-2h) # see all options: node .../relay.mjs --help ``` The child's cwd pins the workspace. The relay writes artifacts under the system temp dir by default and never commits. See [references/dispatch-and-poll.md](references/dispatch-and-poll.md). ### 3. Wait for completion The relay blocks until cline finishes. Run it with the orchestrator's background-command facility, or background it in the shell and poll for `result.json`. A pre-run usage error exits 2 and writes no result; a missing `cline` exits 127 and writes `status: "cline_unavailable"`. Completion means the process exited and `result.json` exists - trust process state and the working tree, not the progress display. Cline's final message is the `finalMessage` field of `result.json`. ### 4. Review - do not trust the self-report - Re-run the project's gates yourself. - Read the diff against the brief, starting with `touchedFiles`. - Run relevant guard skills if installed. See [references/review-and-land.md](references/review-and-land.md). ### 5. Land it If the work is good, commit it. The relay never commits - the diff and `result.json` are the record; run `git status` and `git diff` first to confirm exactly what changed. If the group has a PR flow, make the commit and push a branch; let human review happen. If the diff is wrong or incomplete, send a delta brief to the same session with `--session <id>` and review again. ## Autonomy and permissions Run as a CLI subprocess with `--json -v`, cline has no UI prompts: it executes tool calls and shell commands immediately, without confirmation. There is no sandbox and no permission-mode enforcement in headless runs - cline evaluates each tool call and runs `bash`/`powershell` as the current user, so malformed or malicious briefs are dangerous. The headless read-only gate is `--plan`, which restricts cline to plan mode (analysis only, no edits). Plan-first for anything risky: dispatch the brief with `--plan`, review the plan output, then re-dispatch to the same session without `--plan` to implement. There is no second agent. ## Authorization model Delegation is something the human opts into. Once briefed, cline works as a tool you approved use of. The boundary is: **do not accept conclusions from the self-report**; verify everything on disk. For anything touching credentials, production data, or irreversible operations, dispatch to the human first instead of encoding it in a brief. ## References - [references/writing-the-brief.md](references/writing-the-brief.md) - structure, scope, gates, brief delivery. - [references/dispatch-and-poll.md](references/dispatch-and-poll.md) - flags, artifacts, `result.json`, and failure recovery. - [references/review-and-land.md](references/review-and-land.md) - what to verify before calling the diff done, at the end of a run. - [references/multi-task-queues.md](references/multi-task-queues.md) - sequential queues, constraint carry-forward, progress tracking, and the final coherence pass.