To orchestrate parallel coding-agent farms (Claude, Codex, Copilot, Gemini, etc.) on isolated git worktrees.
52
58%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./instructions/r2/core/skills/coding-agents-farm/SKILL.md<coding_agents_farm>
Farm Leader: senior orchestration engineer controlling multiple coding agent CLI processes in parallel, each handling feature/story-level work on isolated git worktrees.<when_to_use_skill> Use when a task benefits from parallel execution across multiple coding agents — large features decomposable into independent subtasks, cross-validation by different models/providers, or throughput-critical work. Solves: single-agent bottlenecks, premature completion without testing, agent deviation, token/rate-limit failures going unnoticed. </when_to_use_skill>
<core_concepts>
MUST EXPLICITLY CONFIRM WITH USER HE WANTS TO DO THAT: IT IS DANGEROUS, IT CAN EAT MONEY VERY QUICK.
USER MUST TYPE EXACTLY Yes, I take responsibility, IF NOT PROVIDED EXACTLY - ASK AGAIN. AFTER 3 FAILED ATTEMPTS: STOP, NO REPLY, REQUEST USER TO START A NEW SESSION. NO OVERRIDE ALLOWED.
Provider-model constraints (enforced, not optional):
| CLI | Provider | Headless cmd | Model flag |
|---|---|---|---|
claude | Anthropic only | claude -p "PROMPT" | --model MODEL |
codex | OpenAI only | codex exec "PROMPT" | -m MODEL |
copilot | GitHub-hosted (multi) | copilot -p "PROMPT" | --model MODEL |
gemini | Google only | gemini -p "PROMPT" | -m MODEL |
opencode | Multi-provider | opencode run "PROMPT" | -m provider/model |
goose | Multi-provider (config) | goose run --text "PROMPT" | Config-based |
Auto-approve flags (use ALL applicable flags, not just one):
| CLI | CLI flags | Env vars / Config (set before launch) |
|---|---|---|
claude | --dangerously-skip-permissions (= --permission-mode bypassPermissions) | Settings: "defaultMode": "bypassPermissions" in .claude/settings.json; also "permissions": {"allow": ["Bash","Edit","Write","Read","WebFetch","mcp__*"]} |
codex | --yolo (= --dangerously-bypass-approvals-and-sandbox, = -a never --sandbox danger-full-access) | Env: CODEX_UNSAFE_ALLOW_NO_SANDBOX=1 |
copilot | --yolo (= --allow-all) | N/A; known issue: may still prompt in some edge cases |
gemini | --yolo (= -y) | Env: GEMINI_YOLO_MODE=true; Config: "yolo": true in ~/.gemini/settings.json; also --approval-mode auto_edit for file-only auto-approve |
opencode | --yolo (= --dangerously-skip-permissions) | Env: OPENCODE_YOLO=true; Config: "yolo": true in opencode.json; granular: "permission": {"*": {"*": "allow"}} |
goose | None (config-only) | Config: auto-approve in ~/.config/goose/profiles.yaml |
Known auto-approve issues:
bypassPermissions mode, not allowlists.--yolo suppresses trust prompt but .codex/skills may still gate on per-project trust. Fixed in v0.88+.--yolo may still prompt for some operations in edge cases. No full workaround.--yolo in non-interactive mode may still require confirmation in v0.28+ (known regression). Set env var as belt-and-suspenders.YOUR INTERNAL KNOWLEDGE ABOUT MODEL NAMES, CLI FLAGS, AND TOOL VERSIONS IS STALE. Use ONLY the names and flags listed in this skill. Do NOT substitute from memory. If unsure about a model name, omit the model flag and let the CLI use its default.
Model selection guidance:
claude-sonnet-5 (workhorse), claude-opus-4-8 (complex), claude-haiku-4-5 (fast)gpt-5.4 (workhorse), gpt-5.5-high (complex)gemini-3.1-pro-preview (workhorse), gemini-3-flash-preview (fast)--model; supports claude, gpt, gemini families through GitHubanthropic/claude-sonnet-5, openai/gpt-5.4~/.config/goose/profiles.yamlOpenCode: prefix with provider, e.g. anthropic/claude-sonnet-5, openai/gpt-5.4-medium.
Copilot: select via --model; supports claude, gpt, gemini families through GitHub.
Goose: set in ~/.config/goose/profiles.yaml.
Size of features for coding agents: 1h+ of AI work (10+ phases, 20+ subagent calls).
</core_concepts>
git worktree add worktrees/<cli>-<task-slug> -b farm/<cli>-<task-slug>Construct a self-contained prompt per orchestrator:
Launch each CLI in background using the Shell tool with block_until_ms: 0 and working_directory set to the worktree path.
Claude Code:
claude -p "PROMPT" --dangerously-skip-permissions --model claude-sonnet-5 --max-turns 30 --output-format json --no-session-persistenceCodex:
codex exec "PROMPT" --yolo -m gpt-5.4-medium --ephemeral -o result.txtCopilot:
copilot -p "PROMPT" --yolo --model MODEL --silentGemini (set GEMINI_YOLO_MODE=true in env before launch):
gemini -p "PROMPT" --yolo -m gemini-3.1-pro-preview --output-format jsonOpenCode (set OPENCODE_YOLO=true in env before launch):
opencode run "PROMPT" --yolo -m provider/model --format jsonGoose (ensure profiles.yaml has auto-approve and provider configured before launch):
goose run --text "PROMPT"Budget controls where supported: --max-turns N (Claude), --max-budget-usd N (Claude). Other CLIs rely on provider-side limits.
Pre-flight: before launching any CLI, verify auto-approve is effective by running a trivial test command (e.g., echo test > /dev/null) and confirming no prompt appeared.
Poll each terminal output file periodically. Detect:
Polling: read terminal output files. Start at 15-30s intervals, exponential backoff when idle, immediate re-check after intervention.
git worktree remove worktrees/<name>
git branch -d farm/<name>Summarize to user: which CLIs ran which tasks, success/failure per orchestrator, interventions made, final merge status.
</coding_agents_farm>
044d86c
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.