ML Implementation Planner
Leeroo-AI/superml
Turns build, implement or design requests for ML pipelines into validated implementation plans grounded in a knowledge base or fetched framework documentation.
A skill your agent uses when the user wants to evolve an ML model/program through population-based search rather than a single sequential refine loop — a generational evolution where parallel…
$ npx skills add gaasher/Agent-Loop-Skills --skill alpha-evolve -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gaasher/Agent-Loop-Skills alpha-evolve --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/loops/alpha-evolve .claude/skills/alpha-evolve && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "alpha-evolve" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/alpha-evolve into .claude/skills/alpha-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "alpha-evolve", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/alpha-evolveType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add gaasher/Agent-Loop-Skills --skill alpha-evolve -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gaasher/Agent-Loop-Skills alpha-evolve --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/loops/alpha-evolve .agents/skills/alpha-evolve && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "alpha-evolve" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/alpha-evolve into .agents/skills/alpha-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "alpha-evolve", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gaasher/Agent-Loop-Skills --skill alpha-evolve -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gaasher/Agent-Loop-Skills alpha-evolve --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/loops/alpha-evolve .cursor/skills/alpha-evolve && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "alpha-evolve" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/alpha-evolve into .cursor/skills/alpha-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "alpha-evolve", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/gaasher/Agent-Loop-Skills.git --path loops/alpha-evolve--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add gaasher/Agent-Loop-Skills --skill alpha-evolve -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gaasher/Agent-Loop-Skills alpha-evolve --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/loops/alpha-evolve .gemini/skills/alpha-evolve && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "alpha-evolve" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/alpha-evolve into .gemini/skills/alpha-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "alpha-evolve", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install gaasher/Agent-Loop-Skills alpha-evolveInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add gaasher/Agent-Loop-Skills --skill alpha-evolve -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/loops/alpha-evolve .github/skills/alpha-evolve && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "alpha-evolve" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/alpha-evolve into .github/skills/alpha-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "alpha-evolve", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add gaasher/Agent-Loop-Skills --skill alpha-evolve -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gaasher/Agent-Loop-Skills alpha-evolve --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/loops/alpha-evolve .opencode/skills/alpha-evolve && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "alpha-evolve" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/alpha-evolve into .opencode/skills/alpha-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "alpha-evolve", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
alpha-evolveA skill your agent uses when the user wants to evolve an ML model/program through population-based search rather than a single sequential refine loop — a generational evolution where parallel…
Alpha Evolve is an agent skill from gaasher/Agent-Loop-Skills. Use when the user wants to evolve an ML model/program through population-based search rather than a single sequential refine loop — a generational evolution where parallel proposers each apply one small SEARCH/REPLACE diff to a parent, scored by a cascade-evaluated training run, and children are kept in a MAP-Elites archive across islands (with migration + checkpointing) so diverse high performers survive. A finite, bounded-parallelism re-creation of AlphaEvolve/OpenEvolve, bent for ML autoresearch. Runs to a…
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files (for example `examples/run.example.yaml`, `roles/Mutator.md` and `schemas/result.schema.json`). Compatibility notes: Requires Python 3.9+
It sits in Agent Workflows, covering Autonomous loops and Machine learning. The repository describes itself as: Loop until it's better — drop-in agentic loops (autoresearch, scientific writing, data analysis, code/SQL/prompt optimization, red-teaming) as open-standard Agent Skills… The licence is MIT.
Read from SKILL.md and the folder at commit f1169e6. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
arxiv.orggithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Python 3.9+
From compatibility in the SKILL.md frontmatter.
Alpha Evolve loads about 3.4k tokens when it runs. Until then it costs about 195 tokens; SKILL.md has 1,526 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from gaasher/Agent-Loop-Skills at commit f1169e6, republished under its MIT licence (© gaasher). 1,526 words, ~3,373 tokens.
.claude/skills/alpha-evolve/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Reference (read if you need the algorithm's details): AlphaEvolve — https://arxiv.org/abs/2506.13131 · OpenEvolve (open-source impl) — https://github.com/algorithmicsuperintelligence/openevolve
A population-based evolutionary loop over a program. The artifact is the editable model code; a
child is one analysis-informed SEARCH/REPLACE diff to a parent, and the feedback signal is a
cascade-evaluated training run (<metric>, smoke→full). Children are placed in a MAP-Elites
archive across islands (complexity × diversity axes), so a child survives by being either better or
more novel, not just better. The discipline this enforces: diversity is preserved, not collapsed —
diverse high performers co-exist instead of one local optimum winning. You are the controller: sample
a parent + inspirations, spawn parallel Mutators to propose and evaluate children, place them, migrate
between islands, checkpoint. Loops to a fixed compute budget or until interrupted.
Use this for parallel, diversity-preserving search over a model/program where many variants explore at once and the archive keeps the illuminated frontier. Default to broad island coverage; if quality stalls, bias selection toward exploiting top elites; if coverage stalls, bias toward empty cells. Not for the sequential autoresearch loops (one change at a time), and not for fixing a known anomaly.
The cast (both in this folder): roles/Mutator.md produces + cascade-evaluates one child (the
generation step); schemas/result.schema.json is the result a Mutator returns.
Resolve bindings interactively. If loop.run.yaml exists in the working dir, load it, confirm the
values in one line, and skip to the loop. Otherwise: on Claude Code (the AskUserQuestion tool is
available, <host> = claude-code) infer a likely value for each binding and present it as the
recommended option; on other hosts (<host> = other) ask each as a quoted plain-text prompt. Then
write loop.run.yaml (format: examples/run.example.yaml) and confirm the values before creating any
other files. <host> also decides execution: Claude Code spawns real Agent Mutators in parallel
(capped at <concurrency>); other hosts degrade to running a generation's children serially (identical
algorithm).
Probe the box first (mandatory — measure, never assume <concurrency>). Record and report:
<cores>: python3 -c "import os; print(os.cpu_count())".<ram_gb>: macOS sysctl -n hw.memsize; Linux grep MemTotal /proc/meminfo.<accelerator>/<vram>/<gpu_count>: nvidia-smi --query-gpu=name,memory.total,count --format=csv (NVIDIA); else macOS Apple GPU/MPS; else CPU-only.| binding | meaning | default | how to infer |
|---|---|---|---|
<metric> + <metric_direction> | scalar to optimize; min/maximize | — | ask; scan eval output for the reported metric |
<run_cmd> / <entrypoint> | command for one training run (the evaluator) | — | pyproject.toml/.venv/uv/README |
<editable_files> | the program being evolved (e.g. model.py, config.yaml); never the harness or data | — | ask explicitly — this is the code that gets mutated; do not default it (multi-select on Claude Code) |
<sandbox_root> | where lae/ is created | ./sandbox | — |
<gate> + <budget> | one full run's size: time/epochs + amount; the FIXED eval budget applied to every program | — | identify the duration key now (e.g. train.epochs) so the controller can override it |
<total_budget> | total compute = number of full training runs (or wall-clock minutes); the single cost dial | — | ask |
<concurrency> | parallel evaluations C | derived from the probe | CPU-only → max(1, <cores>//4); single GPU/MPS → 1 (ask if more fit <vram>); multi-GPU → <gpu_count> (pin one child/GPU) |
num_generations is derived: ceil(<total_budget> / <concurrency>). The cascade is derived
from <budget> (not asked): smoke = ~1 epoch / a small subset, full = <budget>, gate = child's
smoke <metric> ≥ parent's smoke. <budget>/<metric>/eval split are FIXED — never mutation targets
(a child may not "train longer" to look better); changing them means re-running the whole loop.
Advanced (opt-in). Ask one yes/no: "Use defaults for the evolutionary settings, or customize?"
Defaults are faithful to AlphaEvolve/OpenEvolve — use them and ask nothing more. Only on "customize"
ask for each (showing the default as recommended): num_islands (4), num_top (3), num_diverse (2),
num_bins (10), migration_interval (5), diversity_reference_size (10), pop_per_island (40),
seed (42). Axes are fixed: complexity × diversity. See examples/run.example.yaml for the shape.
Print the resolved bindings + the probe + derived num_generations, and do not create files or
launch until the user confirms. Then initialise the sandbox (header rows only; programs/ is created
as children are evaluated):
<sandbox_root>/lae/
├── archive.tsv ← current elites = program database + checkpoint
├── history.tsv ← append-only record of every child
├── leaderboard.md ← rendered UI
└── programs/ ← one self-contained dir per programYou maintain num_islands MAP-Elites maps in archive.tsv, the append-only history.tsv, running
per-axis percentile stats, and leaderboard.md. You are the sole writer of all shared logs —
Mutators only return results, so there are no write races. Copy this checklist and tick items off:
num_generations derived.<editable_files>) + optionally a few stochastic variants; cascade-evaluate; place in the archive.<concurrency> tasks (round-robin island, seeded-rule parent, top num_top + num_diverse most-diverse inspirations); make each child dir by copying the parent program + harness.C Mutators (spawn-or-degrade), each with roles/Mutator.md, parent code, inspirations, parent artifacts, its child dir, and the smoke/full budgets.history.tsv row; if evaluated, compute its niche → cell and place it in the island map iff <metric> is better (kept=y); record smoke_dropped/crash without placing.leaderboard.md; checkpoint (archive.tsv is the checkpoint); print a status line.migration_interval generations: ring-migrate top elites island k → k+1.<total_budget> (reserve a little for synthesis), then synthesize the final report.Niche computation (you do this, from a child's sandbox):
complexity = trainable param count (fallback: total LOC of the editable files + any files
the child added), log10-scaled.diversity = average normalized edit distance of the program's concatenated code (editable +
added files) to a random sample of diversity_reference_size programs from its island (vs the
baseline if the island is near-empty). Higher = more novel.scaled = clamp01((v − p5)/(p95 − p5)); bin = min(num_bins−1, int(scaled × num_bins)); cell = (complexity_bin, diversity_bin). Re-bin existing elites when a percentile
shifts enough to move an edge (keep the higher <metric> on collisions; the archive is small).The Mutator's prompt (the sampler): parent code + inspirations + the parent's rendered artifacts
(<metric>, per-class accuracy, loss curve, stderr) + the instruction to return one SEARCH/REPLACE
diff. Single harness model — no LLM ensemble. The Mutator applies its diff in the child dir,
cascade-evaluates at the FIXED <budget> (the controller injects/caps the duration key on the run
command), and returns a result validated against schemas/result.schema.json:
{"child_id": "g3-i1-a2", "parent_id": "g1-i1-a0", "approach_summary": "add BatchNorm after conv2",
"sandbox_path": "<sandbox_root>/lae/programs/g3-i1-a2", "status": "evaluated",
"smoke_metric": 0.61, "metric": 0.71}status ∈ {evaluated, smoke_dropped, crash}; metric is null unless evaluated. Mutators
compute nothing about the archive — the controller derives every niche from the sandbox.
Program sandboxes. A parallel population doesn't map onto branches, so every program is a
self-contained, fully-runnable dir <sandbox_root>/lae/programs/<child_id>/; the archive references it
by id. Build each child dir by copying real files (the parent's <editable_files>, then apply the
diff, plus the harness/entrypoint code it imports) and evaluate from inside it
(cd <child_dir> && <entrypoint>). Symlink only large read-only data, never the entrypoint or any
imported .py: Python resolves a symlinked script's __file__ to the link target, so sys.path[0]
becomes the original dir and the child's model.py/dataset.py are silently shadowed by the baselines
— every architecture/data mutation becomes a no-op (tell-tale: identical loss curves across different
"architectures"). Isolation sanity gate: the harness logs the param count / a code fingerprint;
flag any child whose code changed but whose metric/loss curve is identical to its parent's (shadowed),
and fix the sandbox before placing it. The repo working tree is never mutated.
Final synthesis. Report the global-best program + its lae/programs/<id>/ path, the illuminated
complexity×diversity map (coverage + who won each region), per-island bests, and 2–3 notably diverse
runners-up.
All three logs live under <sandbox_root>/lae/, tab-separated, never commas in free text. The
controller is the sole writer; resume from archive.tsv + history.tsv if interrupted.
archive.tsv — current elites + checkpoint. Header
island cell metric child_id parent_id sandbox_path complexity diversity:
island cell metric child_id parent_id sandbox_path complexity diversity
0 (2,7) 0.7100 g4-i0-a1 g2-i0-a3 lae/programs/g4-i0-a1 2.1M 0.71history.tsv — every child, append-only. Header
gen island parent_id child_id smoke_metric full_metric status kept cell:
gen island parent_id child_id smoke_metric full_metric status kept cell
4 0 g2-i0-a3 g4-i0-a1 0.61 0.71 evaluated y (2,7)
4 1 g2-i1-a0 g4-i1-a2 0.40 - smoke_dropped n -leaderboard.md — re-rendered each generation: global best + per-island coverage + the archive
ranked by <metric>. Report the best program at stop (not the last), the archive coverage, and a
few diverse runners-up. Leave lae/ untracked.
lae/programs/<child_id>/ dir — it may edit the copied
<editable_files> and create new files there, but never modify any file outside it (the repo, the
read-only harness, the data, other programs' dirs are ground truth or shared state).archive.tsv/history.tsv/leaderboard.md, so parallel
Mutators never race on the logs.<concurrency> comes from the probe + the user's confirmation — never assume the box; pin one
child per GPU on multi-GPU; if a run OOMs/thrashes, lower C and say so (don't rewrite a child's
config to fit), because the box's limit is real and rewriting the child corrupts the comparison.<budget> (epochs/time), <metric>, and the eval/test split are FIXED and out-of-bounds for
mutation. The controller injects <budget> on every run, overriding any duration the child set —
so "train longer" / change-the-metric / change-the-test-set can never win. Evolve the
model/optimizer/data pipeline, not the compute or the scoring; comparability across programs depends
on it..py into a child dir (it shadows the child's code
via sys.path[0]); copy harness code, symlink only data, and run the isolation sanity gate before
placing a child — a shadowed result is a phantom.<metric> is ground truth.<total_budget> (reserving a little for
synthesis) or interrupt; if coverage stalls bias toward empty cells, if quality stalls exploit top
elites. A child that overruns its gate is killed and recorded as crash.© gaasher, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files in loops/alpha-evolve of gaasher/Agent-Loop-Skills.
Open the folder on GitHubat commit f1169e6
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in gaasher/Agent-Loop-Skills, which our catalogue first saw on October 7, 2026.
Alpha Evolve next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Alpha Evolve this skillgaasher/Agent-Loop-Skills | 174 | 1 repos | ~3.4k | Automated safety check: Pass | MIT | |
| ML Implementation PlannerLeeroo-AI/superml | 195 | — | ~11k | Automated safety check: Pass | Apache-2.0 | |
| Rd Agent Guidewentorai/research-plugins | 298 | 1 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Scikit LearnzLanqing/codex-claude-academic-skills | 4.6k | 17 repos | ~3.9k | Automated safety check: Pass | BSD-3-Clause | |
| Show Me Your Work Decision Logcursor/plugins | 10k | 9 repos | ~1.6k | Automated safety check: Pass | None | |
| Autoresearch Iteration Loopuditgoenka/autoresearch | 6.5k | 1 repos | ~2k | Automated safety check: Pass | MIT |
Leeroo-AI/superml
Turns build, implement or design requests for ML pipelines into validated implementation plans grounded in a knowledge base or fetched framework documentation.
wentorai/research-plugins
Microsoft AI-driven R&D agent for automated data and model development
zLanqing/codex-claude-academic-skills
Machine learning in Python with scikit-learn. An agent skill from zLanqing/codex-claude-academic-skills.
cursor/plugins
Keeps a TSV decision log for long or unattended agent runs, one row per decision with what, why, evidence and result, so a reviewer can check the work later.
uditgoenka/autoresearch
Runs an autonomous modify, verify, keep-or-discard loop against any metric, with subcommands for planning, debugging, fixing, security audits, shipping and more.
tanweai/pua
Runs an unattended iterate-until-verified loop in which a user-set verify command, not the agent's own claim, decides when the task is finished.
gaasher/Agent-Loop-Skills
A skill your agent uses when the user wants the LLM to do its own ML research: a fully-autonomous loop that hacks the training code, runs it, and keeps changes that lower a single scalar metric (e.g.
gaasher/Agent-Loop-Skills
A skill your agent uses when the user wants an autonomous ML research loop that pressure-tests competing ideas before spending compute — several research subagents each propose one architecture…
gaasher/Agent-Loop-Skills
A skill your agent uses when the user wants two approaches raced head-to-head on a single shared metric — e.g.
gaasher/Agent-Loop-Skills
A skill your agent uses when the user has a known, already-observed anomaly in their data — a metric spike or drop, an outlier, an unexpected number — and wants its root cause diagnosed, not guessed.
gaasher/Agent-Loop-Skills
A skill your agent uses when the user has concrete failing cases in code or a guardrail/classifier/filter/prompt/API they own — a red-team failure catalogue OR a CI/CD test-failure report (failing…
gaasher/Agent-Loop-Skills
A skill your agent uses when the user wants an iterative, self-checking exploratory analysis of a dataset — surfacing findings that are each verified by re-running the computation, not asserted.
Categories
A skill your agent uses when the user wants to evolve an ML model/program through population-based search rather than a single sequential refine loop — a generational evolution where parallel…. Alpha Evolve is an agent skill from gaasher/Agent-Loop-Skills. Use when the user wants to evolve an ML model/program through population-based search rather than a single sequential refine loop — a generational evolution where parallel proposers each apply one small SEARCH/REPLACE diff to a parent, scored by a cascade-evaluated training run, and children are kept in a MAP-Elites archive across islands (with migration + checkpointing) so diverse high performers survive.
Alpha Evolve fits situations like: scored by a cascade-evaluated training run; children are kept in a MAP-Elites archive across islands (with migration + checkpointing) so diverse high performers survive.
Run `npx skills add gaasher/Agent-Loop-Skills --skill alpha-evolve -a claude-code`. Or copy the skill folder (loops/alpha-evolve in gaasher/Agent-Loop-Skills) into .claude/skills/alpha-evolve in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gaasher/Agent-Loop-Skills --skill alpha-evolve -a codex`. Or copy the skill folder (loops/alpha-evolve in gaasher/Agent-Loop-Skills) into .agents/skills/alpha-evolve in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gaasher/Agent-Loop-Skills --skill alpha-evolve -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/alpha-evolve, .gemini/skills/alpha-evolve, .github/skills/alpha-evolve and .opencode/skills/alpha-evolve in your project.
Going by SKILL.md and its folder, Alpha Evolve needs the command-line tools its instructions call (python3). Our summary lists: Python 3. Compatibility (from SKILL.md): Requires Python 3.9+.
SKILL.md names 2 domains. As links in the text: arxiv.org and github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Alpha Evolve is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Alpha Evolve: ML Implementation Planner (Leeroo-AI/superml, 195 stars), Rd Agent Guide (wentorai/research-plugins, 298 stars), Scikit Learn (zLanqing/codex-claude-academic-skills, 4.6k stars) and Show Me Your Work Decision Log (cursor/plugins, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
gaasher (a GitHub user) maintains it in gaasher/Agent-Loop-Skills, which has 174 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on June 30, 2026.
Source: gaasher/Agent-Loop-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.