| name | genius-evolve |
| description | Use when the user runs /genius-evolve or asks to run the EVOLVE engine on an already-prepared evolve-dir (initial_program.py + frozen evaluator.py + frozen.lock). |
GENIUS — evolve (standalone)
Preconditions: the evolve-dir already contains initial_program.py, evaluator.py, and a
frozen.lock (sha256 of the evaluator). If not, first do the draft→freeze gate from the genius
skill's EVOLVE section. Setup: see $CLAUDE_PLUGIN_ROOT/docs/EVOLVE-SETUP.md (ollama + the
openevolve venv).
- Resolve
PLUGIN_ROOT (echo "$CLAUDE_PLUGIN_ROOT").
- Verify preconditions — fail explicitly, no silent fallback. Confirm
<evolve-dir>/initial_program.py,
<evolve-dir>/evaluator.py, and <evolve-dir>/frozen.lock all exist (e.g. ls -1 <evolve-dir>/{initial_program.py,evaluator.py,frozen.lock}).
If any is missing, report exactly which one(s) and STOP — direct the user to the draft→freeze gate
in the genius skill's EVOLVE section. Do NOT attempt to run EVOLVE on an under-prepared dir.
- Run:
bash "$CLAUDE_PLUGIN_ROOT/scripts/run-openevolve.sh" <evolve-dir> --iterations <N>. Use the
user's --iterations N override from the command args if present, else default N=30. On non-zero
exit, report the reason (frozen mismatch / missing venv / no best produced).
- On success, read
<evolve-dir>/out/best/best_program_info.json and report the evolved artifact +
its combined_score + the trajectory.