About automake
automake is an agent skill for running an iterative code-improvement ratchet with separate Optimizer and Evaluator roles. It defines approval gates, bounded candidate changes, evidence-based acceptance, rollback, and run records.
Key features
- 01Separate Optimizer and Evaluator roles
- 02Approval gates for instructions and runs
- 03Bounded iterations and failure limits
- 04Evidence-based candidate evaluation
- 05Accept or restore changes
- 06Run-local state and records
Use cases
- 01Iteratively improve a repository against a defined goal
- 02Evaluate candidate changes with independent criteria
- 03Roll back changes that fail evaluation
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ eliasstravik/ skills --skill automakeAfter installing, type/automakein Claude Code to confirm it loaded.
Bundled filesreferences/orchestrator.md
Details
From the project READMEAutomake
Recipe
- Inspect the full conversation and repository, resolving every Optimizer, Evaluator, and run input as supplied, safely inferable, defaultable, or missing.
- Treat only a clear request to start the Automake ratchet now as run-now intent, resolving every missing input safely and skipping all questions and approvals.
- Otherwise ask one missing Optimizer input per turn until its Goal is concrete, without repeating known facts or asking about run limits.
- Present the complete Optimizer approval block in this order:
**Approve this Optimizer instruction?**, the Goal, smallest candidate scope, constraints, cheap checks, and repository context without evaluation criteria, then exactly1. Approved (Recommended)and2. No — changes needed. - Ask one missing Evaluator input when needed.
- Present the complete Evaluator approval block in the same order:
**Approve this Evaluator instruction?**, its independent Goal, BETTER rule, task-shaped evidence, exact verdict format, complexity cost, and candidate-gate policy, then the same two choices. - Resolve iterations, consecutive-failure limit, and observable success condition from supplied values or defaults.
- Present the complete run gate in this order:
**Ready to run Automake?**, the resolved summary, then exactly1. Run (Recommended)and2. No — changes needed. - On run approval, establish a clean committed Git baseline automatically, excluding likely local secrets without reading or committing them, and create one run-local Automake state directory.
- Run one fresh write-bounded Optimizer and one fresh read-only Evaluator per candidate without crossing their instructions, accepting only a parseable evidence-backed BETTER verdict.
- Ratchet accepted commits forward, restore every rejection exactly, and record every launch, attempt, result, evaluation or rejection, learning, state transition, final kept commit, and stop reason.
Details
- Never invoke
AskUserQuestion; ask every user question directly with a clear bold question first, any necessary context below it, then 2–4 numbered concrete options whose first option is the recommendation and ends with(Recommended); accept free-form replies and ask nothing else in that turn. - Default to 5 iterations, 3 consecutive failures, and no success condition; use an early stop only when the user supplied an observable condition distinct from BETTER.
- Begin the final normal-path gate with
**Ready to run Automake?**, put the Optimizer, Evaluator, Orchestrator, and accept-or-restore summary below it, then print the two Recipe choices. - Treat the Automake directory only as ratchet data: never export it as
AUTOMAKE_HOME,CODEX_HOME, or another tool home, never inspect unrelated processes, and delete run-local launch scratch before reporting. - Before any approved or run-now execution, read and follow the execution protocol; it defines the only state files, role ownership, conservative transitions, exact verdict, and terminal report.
Comments
Markdown supported