ml-autoresearch
Use when the user wants an autonomous ML research loop that does more than blindly try changes. After every training run the agent analyses what actually happened inside the model — gradients, activations, embeddings, errors, data — and grounds the next change in that evidence. A `<literature>` on/off dial adds scientific-literature grounding: off behaves as a pure analysis-first loop; on searches papers, grades the evidence, and implements only what prior work supports. One change per run; loops forever until interrupted. Not for one-off training runs or hyperparameter sweeps.
npx skills add gaasher/Agent-Loop-Skills --skill ml-autoresearch --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
The skill implements an autonomous ML research loop that operates in analysis-first mode: after each training run, it analyzes what happened inside the model (gradients, activations, embeddings, errors, data) and grounds the next change in that evidence. It supports a literature-grounded mode via a <literature> dial (on/off) and enforces one change per iteration, looping indefinitely until interrupted.
How it works
- It treats iteration 1 as a baseline with no planned change, but still writes a plan and performs mandatory analysis.
- Each subsequent iteration starts from the latest analysis and selects a single lever to modify in the editable files, grounded by the empirical anchor from the prior run.
- If <literature> = on, it grounds the change in prior work via a literature-search workflow and maintains a corpus of findings; if off, it relies solely on the internal analysis.
- The setup requires interactive binding resolution, writes loop.run.yaml, and creates a sandbox structure with iter< N >/, analysis/, and results/ directories.
- The process includes explicit steps for planning a change, applying it, running the experiment, reading the metric, analyzing results, logging to ledgers, and deciding keep/discard.
When to use it
Use for an open-ended, autonomous ML research campaign where each change is motivated by analysis of the model's actual behavior. Set <literature> = off for a pure analysis-and-score loop; set <literature> = on to ground changes in scientific literature. Not for a single training run, a fixed hyperparameter sweep, or tasks lacking a scalar metric.
What it can touch
The skill relies on tools within Claude Code (AskUserQuestion) and edits files listed in <editable_files> to perform changes, run experiments, and record results. It expects the project to be configured with bindings and to maintain a writable sandbox at <sandbox_root>.
Caveats
- One change per iteration; cycles forever until interrupted. The loop requires careful management of bindings and budgets (time/epochs) and adherence to the instrumented plan.
- Literature grounding depends on availability and integration of the literature-search skill; failures fall back to host-based search when needed.
- The process emphasizes explicit planning, validation against an empirical anchor, and non-duplication of efforts by reusing prior findings when valid.
# ML Autoresearch Loop This loop is **analysis-first**: every experiment is followed by a diagnostic pass that examines what happened inside the model, and the next change is a hypothesis grounded in that evidence — not a guess. The feedback signal is `<metric>` read from the run log; the analysis is the spine that decides what to change. A `<literature>` dial (`on`/`off`) optionally grounds each change in prior work via the sibling `literature-search` skill. One change per iteration, so each metric move is attributable. You are the researcher. Do not pause to ask for permission once the loop is running. ## When to use Use for an open-ended, autonomous ML research campaign where you want each change motivated by analysis of the model's actual behaviour. Set `<literature> = off` for a self-contained analysis-and-score loop; set `<literature> = on` to additionally ground changes in the scientific literature (paper search, evidence grading, a reusable findings backlog). Not for a single training run, a fixed sweep, or tasks with no measurable scalar metric. Default to `off` unless the user wants literature grounding or the problem is a known, well-published one where prior recipes wil
- When to use
- Setup
- Literature toolchain (only when <literature> = on)
- Initialise the sandbox
- The loop (LOOP FOREVER — until interrupted)
- Planning a change (step 2 — iterations 2+)
- The analysis plan (step 3b — written BEFORE the run)
- Analysing (step 6 — MANDATORY; produces real artifacts)
- Ledger
- Constraints
- Stops
What does the ml-autoresearch skill do?
Use when the user wants an autonomous ML research loop that does more than blindly try changes. After every training run the agent analyses what actually happened inside the model — gradients, activations, embeddings, errors, data — and grounds the next change in that evidence. A `<literature>` on/off dial adds scientific-literature grounding: off behaves as a pure analysis-first loop; on searches papers, grades the evidence, and implements only what prior work supports. One change per run; loops forever until interrupted. Not for one-off training runs or hyperparameter sweeps.
How do I install it?
Run `npx skills add gaasher/Agent-Loop-Skills --skill ml-autoresearch --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From gaasher/Agent-Loop-Skills, a repository with 146 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
