using-cap-evolve — the router
The front door: it works out where the user is and hands off, running no phase and
editing nothing. Boundary: this router picks the door, orchestrate drives the run.
Routing decision
Run from the user's project dir; S is the absolute path of the directory you loaded this
SKILL.md from — the one location always known here (no env var is set for a plugin install):
S=<this skill's own directory>; python "$S/scripts/run.py" --base .capevolve
Follow next; pass reason on to the user. Two things the JSON cannot say for itself:
- On a fresh request go through
intake, and if an input it needs is missing, ask the user for it rather than inventing one (intakeowns that rule). - An existing run is never restarted from zero: interrupted →
cap-evolve run --resume; sealed and the user wants another attempt →cap-evolve run --reuse-baseline <run dir>.
Three ways to run — orchestrate has the detail
- Phase chain —
/cap-evolve:<phase>turn by turn, so each step is inspected. - Deterministic —
cap-evolve run --spec .capevolve/project/capevolve.yamlsequences the check gate → baseline → algorithm → finalize → report. It presumes intake already happened; it does not run intake. - Agent handoff — with
orchestration_mode: agent,cap-evolve runstops after baseline and hands the loop back to you; no sealed-test number until you finalize.
No plugin, or a non-Claude host: follow RUN.md step by step. Same engine, same rules.