@GitHub_Daily: AI guru Karpathy previously built an autoresearch script that lets the model automatically run hundreds of rounds of experimental tuning overnight. The Autoresearch open-source project brings the same approach to Claude Code and Codex. Give it a goal and quantifiable metrics, …
Summary
The Autoresearch open-source project ports Karpathy's autoresearch approach to Claude Code, OpenCode, and Codex, letting AI agents automatically loop through code changes, run validation, and roll back based on goals and quantitative metrics. It provides 14 subcommands and 9 safety hooks.
View Cached Full Text
Cached at: 08/03/26, 01:37 AM
AI guru Karpathy previously created an autoresearch script that could run hundreds of tuning experiments overnight. The Autoresearch open-source project ports the same idea to Claude Code and Codex. Give it a goal and a quantitative metric, and the agent loops on its own—changing code, running verification, keeping changes that work, and auto-rolling back those that don’t. GitHub: http://github.com/uditgoenka/autoresearch … It provides 14 subcommands covering scenarios like tuning, bug hunting, security audit, and release, plus 9 built-in safety hooks to prevent misoperation. Just set a goal, leave it running, and check the results in the morning. Great for anyone who wants AI coding assistants to iterate automatically.
uditgoenka/autoresearch Source: https://github.com/uditgoenka/autoresearch
Autoresearch
Turn Claude Code (https://docs.anthropic.com/en/docs/claude-code), OpenCode (https://opencode.ai), or OpenAI Codex (https://developers.openai.com/codex) into a relentless improvement engine.
Based on Karpathy’s autoresearch (https://github.com/karpathy/autoresearch) — constraint + mechanical metric + autonomous iteration = compounding gains.
Claude Code Skill (https://docs.anthropic.com/en/docs/claude-code) OpenCode (https://opencode.ai) Codex (https://developers.openai.com/codex) Version (https://github.com/uditgoenka/autoresearch/releases) License: MIT
Based on (https://github.com/karpathy/autoresearch)
Follow @iuditg (https://x.com/intent/follow?screen_name=iuditg) Support (https://paypal.me/uditgoenka)
“Set the GOAL → The agent runs the LOOP → You wake up to results”
You don’t need AGI. You need a goal, a metric, and a loop that never quits.
Supports Claude Code, OpenCode, and OpenAI Codex. 14 commands. 9 safety hooks. 95% fewer tokens per invocation.
v2.2.0 — Autonomous Orchestrator: Type a plain-language goal to
/autoresearchand it classifies your goal, derives a Success predicate, confirms it once, then loops across subcommands until done. No manual chaining required.Metric:/Verify:invocations run the classic loop unchanged. See guide/autoresearch-orchestrator.md.
How It Works · Commands · Quick Start · Guides · FAQ
`` PLAN LOOP DEBUG FIX SECURE SHIP ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ Goal │ │ Modify │ │ Find │ │ Fix │ │ STRIDE │ │ Stage │ │ Metric │────▶│ Verify │────▶│ Bugs │────▶│ Errors │────▶│ OWASP │────▶│ Deploy │ │ Scope │ │Keep/Drop │ │ Trace │ │ Repair │ │ Red Team │ │ Release │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
/autoresearch: /autoresearch /autoresearch: /autoresearch: /autoresearch: /autoresearch: plan debug fix security ship ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ Probe │ │ Scenario │ │ Predict │ │ Reason │ │ Require- │ │ Edge │ │ 5-Expert │ │ Debate │ │ ments │ │ Cases │ │ Swarm │ │ Converge │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ /autoresearch: /autoresearch: /autoresearch: /autoresearch: probe scenario predict reason ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ Learn │ │ Improve │ │ Eval │ │ Baseline │ │ Docs │ │ Research │ │ Analyze │ │ Diff │ │ Gen │ │ PRDs │ │ Results │ │ Verdict │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ /autoresearch: /autoresearch: /autoresearch: /autoresearch: learn improve evals regression ``
Why This Exists
Karpathy’s autoresearch (https://github.com/karpathy/autoresearch) demonstrated that a 630-line Python script could autonomously improve ML models overnight — 100 experiments per night — by following simple principles: one metric, constrained scope, fast verification, automatic rollback, git as memory.
Claude Autoresearch generalizes these principles to ANY domain. Not just ML — code, content, marketing, sales, HR, DevOps, or anything with a number you can measure.
v2.1.0 is a major architecture rebuild. The monolithic SKILL.md (813 lines, ~100K tokens per invocation) is replaced with a thin 41-line routing file and 12 self-contained command files (94–120 lines each, ~5–8K tokens per invocation). That is a 95% token reduction with the same capability surface.
How It Works
`` LOOP (N iterations or until done):
- Review current state + git history + results log
- Pick the next change (based on what worked, what failed, what’s untried)
- Make ONE focused change
- Git commit (before verification)
- Run mechanical verification (tests, benchmarks, scores)
- If improved → keep. If worse → git revert. If crashed → fix or skip.
- Log the result
- Repeat until N iterations complete or goal is met. ``
Every improvement stacks. Every failure auto-reverts. Progress is logged in TSV format.
The Setup Phase
Before looping, Claude performs a one-time setup:
- Read context — reads all in-scope files
- Define goal — extracts or asks for a mechanical metric
- Define scope — which files can be modified vs read-only
- Establish baseline — runs verification on current state (iteration #0)
- Confirm and go — shows setup, then begins the loop
8 Critical Rules
| # | Rule |
|---|---|
| 1 | Bounded by default — every command has a default iteration count; unlimited is opt-in via Iterations: unlimited |
| 2 | Read before write — understand full context before modifying |
| 3 | One change per iteration — atomic changes; if it breaks, you know why |
| 4 | Mechanical verification only — no subjective “looks good”; use metrics |
| 5 | Automatic rollback — failed changes revert instantly |
| 6 | Simplicity wins — equal results + less code = keep |
| 7 | Git is memory — experiments committed with experiment: prefix; agent reads git log + git diff before each iteration |
| 8 | When stuck, think harder — re-read, combine near-misses, try radical changes |
Hooks & Safety
v2.1.1 ships a 9-hook safety system that protects your sessions automatically. Hooks fire on every session — not just during autoresearch commands.
What’s Protected
| Hook | What it does | Event |
|---|---|---|
| scout-block | Blocks node_modules/, .git/, pycache/, etc. from filling your context | PreToolUse |
| privacy-block | Blocks .env, SSH keys, credentials from being read in sessions | PreToolUse |
| dangerous-cmd-block | Blocks force-push, rm -rf, git reset --hard | PreToolUse |
| iteration-context | Injects recent TSV iteration data after context compaction | UserPromptSubmit |
| subagent-context | Gives subagents awareness of active loop state | SubagentStart |
| dev-rules-reminder | Re-injects plan path and code standards after compaction | UserPromptSubmit |
| simplify-gate | Warns at 400 LOC, blocks at 800 LOC before shipping | UserPromptSubmit |
| session-init | Sets up project context at session start | SessionStart |
| stop-notify | Terminal notification + optional webhook on session end | SessionEnd |
Configuration
All hooks are on by default. Disable individually:
``bash
Disable a specific hook
export AR_DISABLE_SCOUT_BLOCK=1 export AR_DISABLE_PRIVACY_BLOCK=1 export AR_DISABLE_DANGEROUS_CMD_BLOCK=1
… etc for each hook name
``
Optional webhook for session completion notifications:
bash export AR_NOTIFY_WEBHOOK=https://hooks.slack.com/services/...
Customize blocked directories with a .ckignore file (gitignore syntax) at your project root. See guide/hooks.md for full reference.
Commands
| Command | What it does | Default Iterations |
|---|---|---|
/autoresearch | Classic: Core iterate loop: modify → verify → keep/discard · Orchestrator: free-form goal → auto-select pipeline → loop until predicate met | 25 / goal-bounded |
/autoresearch:plan | Convert goal into validated config | one-shot |
/autoresearch:debug | Hunt bugs via hypothesis iteration | 15 |
/autoresearch:fix | Crush errors one-by-one to zero | 20 |
/autoresearch:security | STRIDE + OWASP audit with red-team | 15 |
/autoresearch:ship | Ship through 8 phases | linear |
/autoresearch:scenario | Generate edge cases across 12 dimensions | 20 |
/autoresearch:predict | 5 expert personas debate | one-shot |
/autoresearch:learn | Scout → generate docs → validate → fix | 10 |
/autoresearch:reason | Adversarial debate with blind judges | 8 |
/autoresearch:probe | 8 personas interrogate requirements | 15 |
/autoresearch:improve | Research ICP, discover improvements, generate PRDs | 15 |
/autoresearch:evals | Analyze iteration results: trends, plateaus | one-shot |
/autoresearch:regression | Stability gate: baseline vs candidate, verdict STABLE/UNSTABLE | one-shot |
Universal flags: Iterations: N, Iterations: unlimited, --evals, --evals-interval N, --chain, -- shorthand.
All commands use interactive setup when invoked without arguments. Just type the command — the agent asks for what it needs with smart defaults based on your codebase.
OpenCode users: Commands use underscore naming (
/autoresearch_debug,/autoresearch_fix, etc.). All 14 commands available.Codex users: Invoke via
$autoresearchmention syntax. Subcommands are keywords:$autoresearch debug,$autoresearch plan, etc.
Quick Decision Guide
| I want to… | Use |
|---|---|
| Give a plain-language goal, let it self-orchestrate | /autoresearch (bare, no Metric/Verify) |
| Improve test coverage / reduce bundle size / any metric | /autoresearch |
| Run bounded iterations | Add Iterations: N to any command |
| Don’t know what metric to use | /autoresearch:plan |
| Run a security audit | /autoresearch:security |
| Ship a PR / deployment / release | /autoresearch:ship |
| Optimize without breaking existing tests | Add Guard: npm test |
| Hunt all bugs in a codebase | /autoresearch:debug |
| Fix all errors (tests, types, lint) | /autoresearch:fix |
| Debug then auto-fix | /autoresearch:debug --fix |
| Check if something is ready to ship | /autoresearch:ship --checklist-only |
| Explore edge cases for a feature | /autoresearch:scenario |
| Generate test scenarios | /autoresearch:scenario --format test-scenarios |
| Get expert opinions before starting | /autoresearch:predict |
| Analyze from multiple angles then debug | /autoresearch:predict --chain debug |
| Generate docs for a new codebase | /autoresearch:learn --mode init |
| Update existing docs after changes | /autoresearch:learn --mode update |
| Debate an architecture decision | /autoresearch:reason --domain software |
| Surface hidden constraints before starting | /autoresearch:probe |
| Pre-flight a fuzzy goal then loop | /autoresearch:probe --chain plan,autoresearch |
| Discover what to build next for your ICP | /autoresearch:improve |
| Research competitors and generate PRDs | /autoresearch:improve --depth deep |
| Probe requirements then research improvements | /autoresearch:probe --improve |
| Analyze trends and plateaus across past runs | /autoresearch:evals |
| Check if a run has stalled | /autoresearch:evals --file *-results.tsv |
| Verify a change won’t regress before pushing | /autoresearch:regression |
| Gate a PR: predict, fix, re-gate, then ship | /autoresearch:regression --predict --fix --ship |
Quick Start
Claude Code
Option A — npx install (recommended):
bash npx skills add uditgoenka/autoresearch
All 14 commands are available after restarting Claude Code.
Option B — Plugin install:
/plugin marketplace add uditgoenka/autoresearch /plugin install autoresearch@autoresearch
Note: Start a new Claude Code session after installing. Reference files aren’t resolvable in the same session where installation happened — this is a Claude Code platform limitation.
Updating (no reinstall needed):
/plugin update autoresearch
Run /reload-plugins to activate. No need to uninstall or re-clone.
Option C — Manual copy:
``bash git clone https://github.com/uditgoenka/autoresearch.git
Copy skill + subcommands to your project
cp -r autoresearch/.claude/skills/autoresearch .claude/skills/autoresearch cp -r autoresearch/.claude/commands/autoresearch .claude/commands/autoresearch cp autoresearch/.claude/commands/autoresearch.md .claude/commands/autoresearch.md ``
Or install globally:
bash cp -r autoresearch/.claude/skills/autoresearch ~/.claude/skills/autoresearch cp -r autoresearch/.claude/commands/autoresearch ~/.claude/commands/autoresearch cp autoresearch/.claude/commands/autoresearch.md ~/.claude/commands/autoresearch.md
Option D — Guided installer:
bash git clone https://github.com/uditgoenka/autoresearch.git cd autoresearch ./scripts/install.sh --claude --global
OpenCode Quick Start
Option A — Guided installer (recommended):
bash git clone https://github.com/uditgoenka/autoresearch.git cd autoresearch ./scripts/install.sh --opencode --global
Option B — Manual copy:
bash git clone https://github.com/uditgoenka/autoresearch.git cp -r autoresearch/.opencode/skills/autoresearch .opencode/skills/autoresearch cp autoresearch/.opencode/commands/autoresearch*.md .opencode/commands/
Or globally:
bash cp -r autoresearch/.opencode/skills/autoresearch ~/.config/opencode/skills/autoresearch cp autoresearch/.opencode/commands/autoresearch*.md ~/.config/opencode/commands/
All 14 commands available as
/autoresearch_debug,/autoresearch_fix,/autoresearch_improve, etc.
Codex Quick Start
Option A — Guided installer (recommended):
bash git clone https://github.com/uditgoenka/autoresearch.git cd autoresearch ./scripts/install.sh --codex --global
Option B — Manual copy:
bash git clone https://github.com/uditgoenka/autoresearch.git cp -r autoresearch/.agents/skills/autoresearch ~/.codex/skills/autoresearch
Invoke via
$autoresearchmention syntax. Subcommands are keywords:$autoresearch plan,$autoresearch debug,$autoresearch evals, etc.
Run It
/autoresearch Goal: Increase test coverage from 72% to 90% Scope: src/**/*.test.ts, src/**/*.ts Metric: coverage % (higher is better) Verify: npm test -- --coverage | grep "All files" Iterations: 25
Claude reads all files, establishes a baseline, and starts iterating — one change at a time. Keeps improvements, auto-reverts failures, logs everything. Stops after N iterations or when you interrupt.
/autoresearch:plan — Goal to Config
The hardest part isn’t the loop — it’s defining Scope, Metric, and Verify correctly. /autoresearch:plan converts your plain-language goal into a validated, ready-to-execute configuration.
/autoresearch:plan Goal: Make the API respond faster
Walks through 5 steps: capture goal → define scope → define metric → define direction → validate verify command (dry-run). Every gate is mechanical — scope must resolve to files, metric must output a number, verify must pass a dry-run. Emits a handoff.json for chaining.
/autoresearch:debug — Autonomous Bug Hunter
Scientific method meets autoresearch loop. Doesn’t stop at one bug — iteratively hunts ALL bugs using falsifiable hypotheses, evidence-based investigation, and 7 investigation techniques.
/autoresearch:debug Scope: src/api/**/*.ts Symptom: API returns 500 on POST /users Iterations: 15
How it works: Gather symptoms → Recon → Hypothesize (specific, testable) → Test (one experiment per iteration) → Classify (confirmed/disproven/inconclusive) → Log → Repeat. Every finding requires code evidence (file:line + reproduction steps). Every disproven hypothesis is logged — equally valuable.
| Flag | Purpose |
|---|---|
--fix | After hunting, auto-switch to /autoresearch:fix |
--scope | Limit investigation scope |
--symptom "" | Pre-fill symptom |
--severity | Minimum severity to report |
/autoresearch:fix — Autonomous Error Crusher
Takes a broken state and iteratively repairs it until everything passes. ONE fix per iteration. Atomic, committed, verified, auto-reverted on failure.
/autoresearch:fix Iterations: 20
Auto-detects what’s broken (tests, types, lint, build) → Prioritizes (blockers first) → Fixes ONE thing → Commits → Verifies error count decreased
Similar Articles
@sitinme: Saw Karpathy open-sourced a very interesting project autoresearch, which gives a real but small-scale LLM training task to an AI Agent, letting it do research, modify code, run experiments, look at results, and then decide whether to keep or discard the changes. The project is based on a single NVIDIA…
Karpathy open-sourced an experimental project, autoresearch, that lets an AI Agent automatically complete the research loop for small-scale LLM training: modify code, run experiments, evaluate results, and iterate. Humans only need to write the research plan and constraints.
@yaohui12138: Karpathy released a GitHub open-source project that truly amazed me. The project is called andrej-karpathy-skills, with 130k+ stars on GitHub. I'd call it the most useful AI engineering project of 2026. The problem it solves is extremely precise: making Cl…
Karpathy released an open-source project called andrej-karpathy-skills, centered around a 4KB CLAUDE.md file containing 4 behavioral guidelines (Think Before Coding, Simplicity First, Surgical Changes, Goal-Driven Execution). It significantly reduces AI coding error rates (up to 90%), improving code quality and development efficiency.
@WWTLitee: Is there a way for AI to autonomously iterate and optimize? Yes, check out autoresearch. Its core isn't to have AI directly 'invent papers,' but to break the research process into a verifiable loop: humans write program.md to give research direction, AI agent modifies http://tra…
Introduces the autoresearch project, which breaks down the AI research process into a verifiable loop (fixed environment, single editable file, fixed metric, Git rollback), enabling AI agents to perform controllable and reproducible experiment iterations; also mentions the 12-factor-agents checklist.
@GitHub_Daily: Running multiple tasks with Claude Code and Codex, switching back and forth in the terminal to check results is really inefficient. Recently I found Orca, which centrally manages multiple AI coding agents, letting them work in parallel and aggregating results in one interface. The core feature is support for parallel workspaces, sending one requirement to multiple agents simultaneously…
Orca is a unified AI coding agent management tool with support for parallel workspaces. It can send tasks simultaneously to multiple AI assistants like Claude Code and Codex, each generating code in independent git branches, allowing comparison of results, and comes with a mobile app for real-time tracking.
@GitHub_Daily: Using AI agents for production-grade tasks—writing code, running workflows, calling APIs—works fine initially, but as the scale grows, things easily get out of control: permissions too broad, context loss, and debugging becomes impossible. That's where agents-best-practices comes in: a complete guide to designing a runtime framework for AI agents, not limited to coding scenarios, but also applicable to operations, sales...
Introduces the agents-best-practices repository, a production-grade AI agent runtime framework design guide covering tool permission tiers, context compression, etc., supporting Codex and Claude Code installation.