# Autoresearch Loop

Loops through change, verify and keep-or-discard against any metric.

- Repository: https://github.com/uditgoenka/autoresearch (6783 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-10-31
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add uditgoenka/autoresearch --skill autoresearch -g -a claude-code -y`
Codex: `npx skills add uditgoenka/autoresearch --skill autoresearch -g -a codex -y`
Cursor: `npx skills add uditgoenka/autoresearch --skill autoresearch -g -a cursor -y`
Gemini CLI: `npx skills add uditgoenka/autoresearch --skill autoresearch -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add uditgoenka/autoresearch`

## Description

Autonomous iteration loop: modify, verify, keep/discard against any metric

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Autoresearch, Autonomous Goal-directed Iteration

## Safety Invariants (all subcommands)
- Never push, publish, or deploy without explicit user approval.
- Bounded by default. Override with `Iterations: unlimited`.
- All results logged to `autoresearch/{subcommand}-{YYMMDD}-{HHMM}/` directory.
- Chain handoff via `handoff.json`. Evals reads `*-results.tsv`.

## Dispatch (bare `$autoresearch`)

Parse the invocation in this order:

| Condition | Mode |
|---|---|
| `Metric:` or `Verify:` present | **Classic**, existing metric loop, unchanged |
| Free-form natural-language goal, no metric/verify | **Orchestrator**, see Orchestrator section |
| Nothing | **Setup wizard**, interactive config builder |
| `--classic` flag | Force Classic regardless of goal text |
| `--auto` flag | Force Orchestrator regardless of goal text |

Print a banner on every invocation: `[autoresearch] mode: classic | orchestrator | wizard`.

## Subcommands

The rest: https://github.com/uditgoenka/autoresearch/blob/HEAD/.agents/skills/autoresearch/SKILL.md
