name: invoke-opencode-acp
description: Delegate complex tasks to OpenCode subagent, use when >=2 file modifications or batch operations
allowed-tools: Bash
invoke-opencode-acp
When to Use
- Triggers: >=2 file modifications / refactor / batch ops / code review / multi-step reasoning / git ops
- Avoid: single-file quick edits / recursive OpenCode calls
Core Intent
- Save tokens (50-90%) / main model decides / subagent executes details
Efficiency Priority
acp_client.cjs (this dir) > manual protocol
opencode acp > run/serve (avoid HTTP)
Constraints
- Default sandbox blocks writes to
~/.config/opencode and ~/.cache/opencode and blocks network
- First run plugin install ~30s;
acp_client.cjs default SESSION_TIMEOUT=10s
- Fix: run
acp_client.cjs outside sandbox to allow ~ writes and network; or install once then retry; or raise SESSION_TIMEOUT > 30s
- Evidence:
~/.local/share/opencode/log/*.log records bun add/install and duration
Workflow
- Pick timeout: simple >=180s / medium >=600s / complex >=1800s
- If first run or PermissionDenied/Timeout(10000ms) -> retry non-sandbox or install then retry
- Run:
node ~/.claude/skills/invoke-opencode-acp/acp_client.cjs "$PWD" "task description" -o /tmp/output.txt -t 300
- Listen
session/update -> drop <thinking> -> result.stopReason === 'end_turn'
- Return: OK / Timeout:{reason} / Error:{reason}
Protocol Notes
initialize -> session/new(cwd,mcpServers:[]) -> session/prompt(prompt:[] shape)
- Error codes: -32001 not found / -32002 rejected / -32003 state / -32601 method / -32602 params
Dependencies
- Node.js
- OpenCode CLI:
npm install -g opencode