optimize
Run the evo optimization loop. Each round, the orchestrator writes structured briefs and spawns parallel subagents that execute within them. Each subagent is semi-autonomous: it reads the pointer traces, forms the concrete edit, runs experiments, and can iterate within its branch. Runs until interrupted or the stall limit is reached.
Host conventions
This skill runs on any host that implements the Agent Skills spec. When the body uses generic phrases, apply the host's best-fit equivalent:
- "spawn N subagents in parallel" -- use your host's parallel-subagent tool. Two delivery shapes:
- Background+notify (
claude-code/codex/hermes/openclaw): fire-and-forget; the runtime delivers a completion notification at a later turn when each subagent finishes. Per host:claude-code-> wrap each spawn inBash(run_in_background=true)so the runtime notifies on completion;codex-> non-blocking subagent;hermes->terminal(background=true);openclaw->sessions_spawn deliver:false. - Batch parallel (
opencode): fire Ntaskcalls in ONE assistant message; they run concurrently in child sessions; all tool_results return together when the slowest finishes. Plan all parallel work (including non-task tools) in that one message — opencode cannot interleave reasoning across turns while subagents run. Respect the host's concurrency cap; batch if N exceeds it.
- Background+notify (
- Slash commands shown in user-facing copy (e.g.
/evo:optimize) -- translate to your host's mention syntax when speaking to the user (e.g.$evo optimizeon Codex -- plugin namespace then skill name, separated by a space). evo dispatch(optimization subagents only, host-specific). Onclaude-code, the optimization subagents in step 5 are launched viaevo dispatch runwrapped inBash(run_in_background=true)— the dispatch blocks until its child finishes, the bash tool runs in the background, and the runtime delivers a completion notification per subagent at later turn boundaries. This shares an explorer's KV cache across siblings of the same parent (~99% prefix reuse). On every other host (codex,opencode,openclaw,hermes,generic),evo dispatchis unsupported and exits 2 with guidance -- step 5 stays on the host's parallel-Task primitive there. The scan sub-agents in step 3 always use the host's parallel-Task tool regardless of host (they don't allocate experiments, so fork-cache doesn't apply).
Configuration
These defaults can be overridden via arguments: /optimize [subagents=N] [budget=N] [stall=N]
More from evo-hq/evo
subagent
Internal protocol for evo optimization subagents. Not user-invocable -- read by subagents spawned from /optimize.
16discover
Initialize evo for the current repository by exploring the codebase, proposing unexplored optimization dimensions, constructing the benchmark inside a baseline worktree, and running the first experiment. Use when the user invokes /evo:discover, mentions setting up evo, wants to instrument a codebase for autonomous optimization, or asks to start a new evo run on a project.
16infra-setup
Non-user-invocable provider/setup reference for evo backend switching, prerequisite checks, and auth/install guidance.
10