Runs a hill-climbing study over many training or analysis runs with the study and experiments tools, one metric and direction, a baseline, ideas ranked by expected value, exactly one run per idea, kill criteria and a budget, verdicts with analysis and lessons, and a conclusion. Use for autoresearch, hyperparameter or ablation sweeps left to run, "make this metric better", or any loop of experiments the user wants driven for hours. For a single reproduction use reproduce; for designing the study's hypotheses first use hypotheses.
A study turns "make this metric better" into a loop that runs for hours or days without losing the thread. You own the science: which ideas to try, how to implement them, what a result means. OpenScience owns the clock: it tracks every metric the script logs, notices when a run ends, kills runs that break the study's criteria, keeps the budget, renders the ledger, and wakes this session with a "Study update" whenever there is news.
study create. Propose the baseline with priority 1000 and at
least three first ideas with study propose, of different kinds (a different component,
objective, data treatment or search strategy each), not three magnitudes of one knob. An
idea has a title, what it changes, why it should help, an expected improvement in metric
units times your confidence, and the configuration it needs; a configuration already in
the study is rejected. The hypotheses skill is the tool for turning a vague direction
into ideas worth queueing.explore worker (Task tool,
subagent_type: "explore") with the file paths and the angle (leakage, metric
definition, split hygiene). Fix anything marked blocking. A baseline built on a leaking
split or a misspelled metric wastes every run after it.openscience_track (or wandb, which is shimmed) and logs the study
metric at every evaluation plus anything worth a curve:
track.log({"val_loss": v, "lr": lr}, step=step). It sets track.summary["val_loss"]
to the final value and calls track.finish(). openscience_track is OpenScience's own
tracking module, written into the study root under .openscience/sdk/ and added to the
run's PYTHONPATH and uploads by study start; it is not on PyPI or GitHub, so do not
search for it or ask a worker to audit it. Its whole API is init, log, summary,
config, finish.study start, passing the command and the
configuration the idea needs. Never start a second run for the same idea; propose a
new idea if a variant is worth trying.python train.py ..., and name uploads and
artifacts relative to the root. The tracking SDK travels with every remote run on its
own; the study's ledger files never do. A remote study is approved once, when it is
created; its runs then dispatch without a card each.compute_job wait for it; record it, start the next. Wake-ups are for runs that outlast a turn. While
a long run is live, implement the next idea rather than idling.experiments compare
(or experiments series when the curve matters), decide keep or revert against the
baseline and the best, and record the verdict with study record: the analysis, a
conclusion, and any lesson that should shape later ideas. Mark the first reference run
with baseline: true.The user can add a directive from the Autoresearch pane or in chat while the study runs. A directive is a standing rule for the rest of the study (it appears in your study reminder): re-rank the queue and change the next run to honour it, and say what changed. Every sixth run, and whenever four runs in a row fail to beat the best, step back: re-read the lessons, name the kinds of change tried, drop near-duplicates, and change the kind of idea rather than its magnitude.
study status before
proposing.study conclude: what was learned, the best configuration with its
metric, and what remains open. The ledger files (study.md, ideas.md, results.tsv,
lessons.md) in the working folder are the record; the Autoresearch pane shows the same
data live.For a paper or report, load ml-paper-writing or paper-writing and build from the ledger and the tracked runs: the baseline, the best configuration, the ablations that changed the metric, and the figures the data supports (figures skill). Kept runs are claims with evidence; reverted runs are the ablations that make the claims honest.
synthetic-sciences/openscience
a08e0ad
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.