com um clique
opencode
Delegate coding to OpenCode CLI (features, PR review).
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Delegate coding to OpenCode CLI (features, PR review).
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
Reconcile split-brain truth sources in a multi-organ federation — when arifOS capability_map, Hermes config.yaml providers block, MCP server registry, and runtime env all claim to be the canonical source for "what's configured". Load when Arif reports "Hermes says 1 provider, arifOS says 28", when a tool call fails with unknown provider, or when fixing audit findings about API key / model / organ coverage.
Add, fix, or migrate custom/third-party LLM providers in a Hermes Agent install so they appear in `/model` (CLI) and the Telegram gateway picker. Covers providers block shape, env-var key mapping, security-blocker on direct config writes, three-tier multimodal fallback chains, MiMo UltraSpeed/Pro/v2.5 capability matrix and supports_vision flag for forced auxiliary routing, vault→hermes.env key sync pattern, picker zen with 5-state failure classification (OK/PAUSED/BROKEN/CHAT_INCOMPATIBLE/EXC) and dedupe by route priority, MoA preset cross-dependency on provider models, MiniMax direct provider + mmx-cli for multimodal generation, OpenCode Go vs Zen tier verification, and dead fallback cleanup.
MiniMax multimodal via mmx-cli — TTS, video, music, image, vision, search
Test whether a proposed improvement actually beats the existing baseline BEFORE committing to build it. Spawn parallel forge agents that each compare challenger vs baseline on the same data. Kill ideas that don't improve; forge only what measurably helps.
Map of the arifOS federation — organs, ports, roles, MCP surfaces, health probes. Load when Arif asks 'what organs are alive', 'show me the federation', 'is X running', 'what port is Y', or when you need to route a task to the right organ.
Probe live state BEFORE proposing fixes, additions, or changes. Read configs, test commands, check what exists — then act only on real gaps. Use ALWAYS. This is not optional. Arif corrected multiple times (2026-07-04, 2026-07-08, 2026-07-11) for proposing fixes to things that already worked, for citing stale audits as live state, and for accepting 'first time' / 'novel' / 'pick from N options' prompts without probing disk.
| name | opencode |
| description | Delegate coding to OpenCode CLI (features, PR review). |
| version | 1.2.0 |
| author | Hermes Agent |
| license | MIT |
| platforms | ["linux","macos","windows"] |
| metadata | {"hermes":{"tags":["Coding-Agent","OpenCode","Autonomous","Refactoring","Code-Review"],"related_skills":["claude-code","codex","hermes-agent"]}} |
Use OpenCode as an autonomous coding worker orchestrated by Hermes terminal/process tools. OpenCode is a provider-agnostic, open-source AI coding agent with a TUI and CLI.
npm install -g opencode)/root/.config/opencode/opencode.jsontokenplan-mimo/mimo-v2.5-pro (primary)pty=true for interactive TUI sessionsShell environments may resolve different OpenCode binaries. If behavior differs between your terminal and Hermes, check:
terminal(command="which -a opencode")
terminal(command="opencode --version")
If needed, pin an explicit binary path:
terminal(command="$HOME/.opencode/bin/opencode run '...'", workdir="~/project", pty=true)
Use opencode run for bounded, non-interactive tasks:
terminal(command="opencode run 'Add retry logic to API calls and update tests'", workdir="~/project")
Attach context files with -f:
terminal(command="opencode run 'Review this config for security issues' -f config.yaml -f .env.example", workdir="~/project")
Show model thinking with --thinking:
terminal(command="opencode run 'Debug why tests fail in CI' --thinking", workdir="~/project")
Force a specific model:
terminal(command="opencode run 'Refactor auth module' --model openrouter/anthropic/claude-sonnet-4", workdir="~/project")
For iterative work requiring multiple exchanges, start the TUI in background:
terminal(command="opencode", workdir="~/project", background=true, pty=true)
# Returns session_id
# Send a prompt
process(action="submit", session_id="<id>", data="Implement OAuth refresh flow and add tests")
# Monitor progress
process(action="poll", session_id="<id>")
process(action="log", session_id="<id>")
# Send follow-up input
process(action="submit", session_id="<id>", data="Now add error handling for token expiry")
# Exit cleanly — Ctrl+C
process(action="write", session_id="<id>", data="\x03")
# Or just kill the process
process(action="kill", session_id="<id>")
Important: Do NOT use /exit — it is not a valid OpenCode command and will open an agent selector dialog instead. Use Ctrl+C (\x03) or process(action="kill") to exit.
| Key | Action |
|---|---|
Enter | Submit message (press twice if needed) |
Tab | Switch between agents (build/plan) |
Ctrl+P | Open command palette |
Ctrl+X L | Switch session |
Ctrl+X M | Switch model |
Ctrl+X N | New session |
Ctrl+X E | Open editor |
Ctrl+C | Exit OpenCode |
After exiting, OpenCode prints a session ID. Resume with:
terminal(command="opencode -c", workdir="~/project", background=true, pty=true) # Continue last session
terminal(command="opencode -s ses_abc123", workdir="~/project", background=true, pty=true) # Specific session
| Flag | Use |
|---|---|
run 'prompt' | One-shot execution and exit |
--continue / -c | Continue the last OpenCode session |
--session <id> / -s | Continue a specific session |
--agent <name> | Choose OpenCode agent (build or plan) |
--model provider/model | Force specific model |
--format json | Machine-readable output/events |
--file <path> / -f | Attach file(s) to the message |
--thinking | Show model thinking blocks |
--variant <level> | Reasoning effort (high, max, minimal) |
--title <name> | Name the session |
--attach <url> | Connect to a running opencode server |
terminal(command="opencode --version")terminal(command="opencode auth list")opencode run '...' (no pty needed).opencode with background=true, pty=true.process(action="poll"|"log").process(action="submit", ...).process(action="write", data="\x03") or process(action="kill").OpenCode has a built-in PR command:
terminal(command="opencode pr 42", workdir="~/project", pty=true)
Or review in a temporary clone for isolation:
terminal(command="REVIEW=$(mktemp -d) && git clone https://github.com/user/repo.git $REVIEW && cd $REVIEW && opencode run 'Review this PR vs main. Report bugs, security risks, test gaps, and style issues.' -f $(git diff origin/main --name-only | head -20 | tr '\n' ' ')", pty=true)
Use separate workdirs/worktrees to avoid collisions:
terminal(command="opencode run 'Fix issue #101 and commit'", workdir="/tmp/issue-101", background=true, pty=true)
terminal(command="opencode run 'Add parser regression tests and commit'", workdir="/tmp/issue-102", background=true, pty=true)
process(action="list")
List past sessions:
terminal(command="opencode session list")
Check token usage and costs:
terminal(command="opencode stats")
terminal(command="opencode stats --days 7 --models anthropic/claude-sonnet-4")
opencode (TUI) sessions require pty=true. The opencode run command does NOT need pty./exit is NOT a valid command — it opens an agent selector. Use Ctrl+C to exit the TUI.process(action="log", session_id="<id>")Smoke test:
terminal(command="opencode run 'Respond with exactly: OPENCODE_SMOKE_OK'")
Success criteria:
OPENCODE_SMOKE_OKopencode run for one-shot automation — it's simpler and doesn't need pty.process logs./exit.