aaronnat23/disp8ch/experiment-loop
Claude Code and agent skill by aaronnat23/disp8ch
- community
Checking that the SKILL.md file is still in the repository.
Install
npx vskill@latest install aaronnat23/disp8ch/experiment-loopSKILL.md
Experiment Loop (Metric-Driven Optimization)
Autonomous benchmark-driven experiment loop: propose a change, measure the metric, keep what improves it, revert what doesn't, repeat. Git is the ledger — every kept improvement is a commit. Every discarded attempt is a clean revert.
Setup
Before iterating, call init_experiment to configure the session:
metric_name: the scalar to optimize (e.g.test_duration_ms,accuracy_pct,bundle_size_kb)metric_direction:"minimize"or"maximize"objective: plain-English goal (e.g. "Reduce test suite wall-clock time below 10s")benchmark_command: shell command that must printMETRIC <name>=<number>to stdoutchecks_command(optional): correctness guard (e.g.npm testorpython -m pytest) — a failed check blocks a keep even if the metric improved (Goodhart's Law prevention)
Loop
- Propose: read
autoresearch.ideas.mdfor queued ideas; pick the most promising and describe the change - Implement: make the code change using
write_fileorbash_exec - Measure: call
run_experimentwith a description of what was tried - Decide: call
log_experimentwith:
decision="keep"if metric improved AND checks passed → git commitdecision="discard"if metric regressed or was flat → git revertdecision="checks_failed"if metric improved but correctness check failed → revertdecision="crash"if the benchmark itself crashed → revert
- Record ideas: append promising-but-deferred ideas to
autoresearch.ideas.md - Repeat
Benchmark Contract
The benchmark command MUST print at least one METRIC name=number line to stdout:
Secondary metrics are captured automatically. The primary metric is whatever metric_name was set to in init_experiment.
Segment-Aware Baselines
Call init_experiment again mid-session to start a new baseline segment — useful when pivoting to a different optimization goal. Old results are preserved in autoresearch.jsonl with their original segment index.
Auto-Resume
When context resets, re-read autoresearch.md (current state) and autoresearch.ideas.md (deferred ideas) to resume exactly where you left off. Never lose progress.
Files
| File | Purpose | |
|---|---|---|
autoresearch.jsonl | Append-only JSONL run log (one entry per experiment) | |
autoresearch.md | Living session doc: objective, metric, attempt history | |
autoresearch.ideas.md | Backlog of promising-but-deferred ideas |
Integration with Research Pipeline
Combine with the Autonomous Researcher skill:
- Use Autonomous Researcher to identify the problem, review literature, and form a hypothesis
- Use Experiment Loop to validate the hypothesis empirically (implement → measure → keep/discard)
- Use council to evaluate competing hypothesis directions before committing to a loop direction
Example
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/experiment-loop/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/aaronnat23/disp8ch/experiment-loop)