autoresearch
Orchestrates end-to-end autonomous AI research projects using a two-loop architecture. The inner loop runs rapid experiment iterations with clear optimization targets. The outer loop synthesizes results, identifies patterns, and steers research direction.
Install / Use
npx skills add Orchestra-Research/AI-Research-SKILLs --skill 0-autoresearch-skillInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Customer SupportSupported Platforms
Our assessment of autoresearch
autoresearch scores 93/100 on our quality scale, 26th of 113 Customer Support skills we index (top 24%).
Its SKILL.md is 24 KB long, well organised into 24 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.
With 13,031 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated about 3 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 98/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
autoresearch compared with similar skills
All 4 of these similar skills score higher than autoresearch; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| autoresearch (this skill)by Orchestra-Research | 93 | 13.0k | 3mo ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 85.5k | 10d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 73.8k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 83.8k | today | MCP Server |
| LocalAIby mudler | 100 | 49.3k | today | MCP Server |
Frequently asked questions
- How do I install autoresearch?
- Run
npx skills add Orchestra-Research/AI-Research-SKILLs --skill autoresearch. The install tabs above show the steps for each supported agent. - Which AI agents does autoresearch work with?
- It is written for Claude Code, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is autoresearch safe to use?
- It is MIT-licensed and scores 98/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is autoresearch still maintained?
- The repository was last updated about 3 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHubname: autoresearch description: Orchestrates end-to-end autonomous AI research projects using a two-loop architecture. The inner loop runs rapid experiment iterations with clear optimization targets. The outer loop synthesizes results, identifies patterns, and steers research direction. Routes to domain-specific skills for execution, supports continuous agent operation via Claude Code /loop and OpenClaw heartbeat, and produces research presentations and papers. Use when starting a research project, running autonomous experiments, or managing a multi-hypothesis research effort. version: 1.0.0 author: Orchestra Research license: MIT tags: [Autonomous Research, Two-Loop Architecture, Experiment Orchestration, Research Synthesis, Project Management]
Autoresearch
Autonomous research orchestration for AI coding agents. You manage the full research lifecycle — from literature survey to published paper — by maintaining structured state, running a two-loop experiment-synthesis cycle, and routing to domain-specific skills for execution.
You are a research project manager, not a domain expert. You orchestrate; the domain skills execute.
This runs fully autonomously. Do not ask the user for permission or confirmation — use your best judgment and keep moving. Show the human your progress frequently through research presentations (HTML/PDF) so they can see what you're doing and redirect if needed. The human is asleep or busy; your job is to make as much research progress as possible on your own.
Getting Started
Users arrive in different states. Determine which and proceed:
| User State | What to Do | |---|---| | Vague idea ("I want to explore X") | Brief discussion to clarify, then bootstrap | | Clear research question | Bootstrap directly | | Existing plan or proposal | Review plan, set up workspace, enter loops | | Resuming (research-state.yaml exists) | Read state, continue from where you left off |
If things are clear, don't over-discuss — proceed to full autoresearch. Most users want you to just start researching.
Step 0 — before anything else: Set up the agent continuity loop. See Agent Continuity. This is MANDATORY. Without it, the research stops after one cycle.
Initialize Workspace
Create this structure at the project root:
{project}/
├── research-state.yaml # Central state tracking
├── research-log.md # Decision timeline
├── findings.md # Evolving narrative synthesis
├── literature/ # Papers, survey notes
├── src/ # Reusable code (utils, plotting, shared modules)
├── data/ # Raw result data (CSVs, JSONs, checkpoints)
├── experiments/ # Per-hypothesis work
│ └── {hypothesis-slug}/
│ ├── protocol.md # What, why, and prediction
│ ├── code/ # Experiment-specific code
│ ├── results/ # Raw outputs, metrics, logs
│ └── analysis.md # What we learned
├── to_human/ # Progress presentations and reports for human review
└── paper/ # Final paper (via ml-paper-writing)
src/: When you write useful code (plotting functions, data loaders, evaluation helpers), move it here so it can be reused across experiments. Don't duplicate code in every experiment directory.data/: Save raw result data (metric CSVs, training logs, small outputs) here in a structured way. After a long research horizon, you'll need this to replot, reanalyze, and write up the paper properly. Name files descriptively (e.g.,trajectory_H1_runs001-010.csv). Large files like model checkpoints should go to a separate storage path (e.g.,/data/, cloud storage, or wherever the user's compute environment stores artifacts) — not in the project directory.
Initialize research-state.yaml, research-log.md, and findings.md from templates/. Adapt the workspace as the project evolves — this is a starting point, not a rigid requirement.
The Two-Loop Architecture
This is the core engine. Everything else supports it.
BOOTSTRAP (once, lightweight)
Scope question → search literature → form initial hypotheses
INNER LOOP (fast, autonomous, repeating)
Pick hypothesis → experiment → measure → record → learn → next
Goal: run constrained experiments with clear measurable outcomes
OUTER LOOP (periodic, reflective)
Review results → find patterns → update findings.md →
new hypotheses → decide direction
Goal: synthesize understanding, find the story — this is where novelty comes from
FINALIZE (when concluding)
Write paper via ml-paper-writing → final presentation → archive
The inner loop runs tight experiment cycles with clear measurable outcomes. This could be optimizing a benchmark (make val_loss go down) OR testing mechanistic hypotheses (does intervention X cause effect Y?). The outer loop steps back to ask: what do these results mean? What patterns emerge? What's the story? Research is open-ended — the two loops let you both optimize and discover.
There is no rigid boundary between the two loops — you decide when enough inner loop results have accumulated to warrant reflection. Typically every 5-10 experiments, or when you notice a pattern, or when progress stalls. The agent's judgment drives the rhythm.
Research is Non-Linear
The two-loop structure is a rhythm, not a railroad. At any point during research you can and should:
- Return to literature when results surprise you, assumptions break, or you need context for a new direction — always save what you find to
literature/ - Brainstorm new ideas using
21-research-ideation/skills when you're stuck or when results open unexpected questions - Pivot the question entirely if experiments reveal the original question was wrong or less interesting than what you found
This is normal. Most real research projects loop back to literature 1-3 times and generate new hypotheses mid-stream. Don't treat bootstrap as the only time you read papers or brainstorm — do it whenever understanding would help.
Bootstrap: Literature and Hypotheses
Before entering the loops, understand the landscape. Keep this efficient — the goal is to start experimenting, not to produce an exhaustive survey.
-
Search literature for the research question. Use multiple sources — never stop at one:
- Exa MCP (
web_search_exa) if available — best for broad discovery and finding relevant papers quickly - Semantic Scholar (
pip install semanticscholar) — best for ML/AI papers, citation graphs, and specific paper lookup. See20-ml-paper-writingskill'sreferences/citation-workflow.mdfor complete API code examples - arXiv (
pip install arxiv) — best for recent preprints and open-access papers - CrossRef — best for DOI lookup and BibTeX retrieval
- Keep searching until you have good coverage. If one source comes up empty, try another with different keywords
Save everything to
literature/: For every paper you find, save a summary toliterature/— title, authors, year, key findings, relevance to your question, and the URL/DOI. Create one file per paper and a runningliterature/survey.mdwith all summaries. This is your reference library — you and future sessions will need it throughout the project. - Exa MCP (
-
Identify gaps from the literature
- What's been tried? What hasn't? Where do existing methods break?
- What do Discussion sections flag as future work?
-
Form initial hypotheses — invoke
21-research-ideation/skillsbrainstorming-research-ideasfor structured diverge-converge workflowcreative-thinking-for-researchfor deeper cognitive frameworks- Each hypothesis must be testable with a clear prediction
-
Define the evaluation
- Set the proxy metric and baseline before running experiments
- The metric should be computable quickly (minutes, not hours)
- Lock evaluation criteria upfront to prevent unconscious metric gaming
-
Record in research-state.yaml, log the bootstrap in research-log.md
The Inner Loop
Rapid iteration with clear measurable outcomes. Two flavors:
- Optimization: make a metric go up/down (val_loss, accuracy, throughput). Think Karpathy's autoresearch.
- Discovery: test mechanistic hypotheses about why something works. The metric is a measurement (does grokking happen faster? does entropy increase before forgetting?), not just a target to optimize.
1. Pick the highest-priority untested hypothesis
2. Write a protocol: what change, what prediction, why
Lock it: commit to git BEFORE running (research(protocol): {hypothesis})
This creates temporal proof your plan existed before results
3. Run the experiment (invoke the relevant domain skill)
4. Sanity check before trusting results:
- Did training converge? No NaN/Inf?
- Does baseline reproduce expected performance?
- Data loading correct? (spot-check a few samples)
5. Measure the proxy metric
6. Record in experiments/{hypothesis-slug}/
Label clearly: CONFIRMATORY (in your protocol) vs EXPLORATORY (discovered during execution)
7. If positive: keep, note WHY it worked
8. If negative: this is progress — note what it rules out and what it suggests
9. Update research-state.yaml
10. If stuck: search literature or invoke ideation skills — don't just keep trying random things
Never stop. Even if something fails, find a path forward. Debug, adjust, simplify, or pivot — but keep the research moving. The /loop and heartbeat mechanisms will keep you going; use that momentum.
Route to Domain Skills
When you need domain-specific execution, search the skills library:
| Research Activity | Look In |
|---|---|
| Data preparation | 05-data-processing/ |
| Model training / fine-tuning | 01-model-architecture/, 03-fine-tuning/, 06-post-training/ |
| Distributed training | 08-distributed-training/ |
| Optimization (quantization, attention) | 10-optimization/ |
| Evaluation / benchmarks | 11-evaluation/ |
| Inference / serving | 12-inference-serving/ |
| Interpretability analysis | 04-mechanistic-interpretability/ |
| Experiment tracking (W&B, MLflow) | 13-mlops/ |
| Cloud compute | 09-infrastructure/ |
Read the relevant SKILL.md before starting — it has workflows, common issues, and code examples. See references/skill-routing.md for a complete guide.
Track the Experiment Trajectory
Maintain a running record of measurable outcomes across experiments:
{
"experiment_id": "run_014",
"hypothesis": "H3",
"metric_value": 0.847,
"baseline": 0.812,
"delta": "+0.035",
"wall_time_min": 23,
"change_summary": "Added cosine annealing warmup schedule"
}
This trajectory produces the optimization plot (like Karpathy's progress chart) — include it in progress reports. Humans love seeing the upward curve.
The Outer Loop
Step back from individual experiments. Synthesize.
1. Review all results since last reflection
2. Cluster by type: what kinds of changes worked? Which didn't?
3. Ask WHY — identify the mechanism behind successes and failures
4. Update findings.md with current understanding
5. Search literature if results were surprising or assumptions need revisiting
6. Generate new hypotheses if warranted (invoke 21-research-ideation/ skills)
7. Decide direction (see criteria below)
8. Update research-state.yaml with new direction
9. Log the reflection in research-log.md
10. If there's something meaningful, generate a progress presentation
Deciding Direction
Don't just pick randomly — use these criteria:
DEEPEN — a supported result raises follow-up questions
- Does the effect hold under different conditions? What's the mechanism?
- Action: generate sub-hypotheses (H1.1, H1.2) → back to inner loop
BROADEN — current results are solid, but adjacent que
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
85.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
73.8kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Scrapling
83.8k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
LocalAI
49.3kLocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
