Start an autonomous experiment loop with user-selected interval (10min, 1h, daily, weekly, monthly). Uses CronCreate for scheduling. Use when the user runs /ar:loop or asks to run an autoresearch experiment continuously on a schedule.
Loop (invoked as /ar:loop) starts an autonomous autoresearch experiment loop that runs at a user-selected interval — every 10 minutes, hourly, daily, weekly, or monthly. It solves the problem of iterating on an optimization experiment unattended: instead of the user manually running each trial, the skill schedules recurring runs that each make one change, evaluate it, and record the result, letting experiments make progress in the background.
The workflow resolves the target experiment, prompts for an interval and maps it to a cron expression, then uses a CronCreate tool to register a recurring job. The scheduled prompt instructs each firing to read the experiment's config, strategy, and results history, check out the experiment's git branch, make exactly one change to the target file, commit it, run a single evaluation via a run_experiment.py script, and read the KEEP/DISCARD/CRASH outcome. Guardrails are built in: one change per iteration, never modify the evaluator, self-delete the cron job after five consecutive crashes, and update the strategy notes every ten experiments. Loop metadata is stored in a loop.json file, and a stop subcommand deletes the cron job and metadata. Documented limitations include a 3-day cron auto-expiry, one loop per experiment, and branch isolation for concurrent experiments.
It targets researchers and engineers running iterative optimization experiments who want hands-off scheduled progress. The skill automates git commits and local script execution scoped to a dedicated experiment branch; it operates on the user's own experiment files under explicit guardrails, with no remote code fetching, credential handling, or destructive system operations beyond deleting its own scheduled job.
Run /ar:loop with an experiment path (optionally an interval like 10m, 1h, daily, weekly, or monthly). To stop, run /ar:loop stop <experiment>, which reads loop.json for the cron ID, calls CronDelete, and removes the metadata file.
It reads the experiment config, strategy, and results history, checks out the experiment's git branch, makes exactly one change to the target file, commits it, runs a single evaluation via run_experiment.py, and records the KEEP/DISCARD/CRASH outcome.
One change per experiment, never modify the evaluator, automatically delete the cron job and alert after five consecutive crashes, and update the strategy section every ten experiments. Each experiment runs on its own git branch for isolation.
CronCreate jobs auto-expire after 3 days, so long experiments must be restarted; only one loop per experiment is allowed; and concurrent experiments must be on different git branches, which they are by default.
It depends on a CronCreate/CronDelete scheduling capability, a git repository with per-experiment branches, and the autoresearch layout including config.cfg, program.md, results.tsv, and the run_experiment.py evaluator script.
Quick Setup:
.claude/skills/Repository
alirezarezvani/claude-skills