autoresearch · yeachan-heo — Claude Code skill: what it does, how to install
Runs one mission through repeated change-and-evaluate cycles, writing each result to JSON and a markdown decision log. Useful when the work needs a long recorded search rather than one attempt.
npx skills add Yeachan-Heo/oh-my-claudecode --skill autoresearch -a claude-codeWhat autoresearch does
The skill holds a single mission and loops: make one change, run the evaluator, save what came back. A failing iteration does not end the run. Stopping is explicit and bounded, with a max-runtime ceiling as the main hook.
Each evaluation is stored as JSON with a required boolean pass and an optional numeric score, and every iteration also gets an entry in a markdown decision log. Artifacts sit under .omc/autoresearch/<mission-slug>/: mission.md, evaluator.json, and runs/<run-id>/, where per-iteration files like iteration-0001.json live next to decision-log.md. The logs are meant for people to read.
The catch: the skill will not invent a mission or an evaluator. Both come from /deep-interview --autoresearch, and without them there is nothing to start. Version v1 allows one mission at a time, with no orchestration across several, and the older omc autoresearch CLI flow is no longer authoritative. For periodic reruns it points at Claude Code native cron, one mission per job.
What it helps with
- run repeated experiments against one mission without losing the trail
- stop the loop on a max-runtime ceiling instead of the first failed attempt
- keep evaluation output as JSON with a boolean
passfield - leave decision logs in markdown that a person can actually read
- rerun a mission on schedule with Claude Code native cron
Example prompts for the agent
- Start an autoresearch run for the `coverage-gap` mission: one change cycle, run the evaluator, save the JSON under `runs/<run-id>/evaluations/`, append to `decision-log.md`.
- Keep iterating until you hit max-runtime. A failing evaluation is not a reason to stop.
- Set this mission up as a job in Claude Code native cron, one mission per job, and append new run artifacts instead of overwriting old ones.
How to install autoresearch
1Skills CLI (Vercel)
npx skills add Yeachan-Heo/oh-my-claudecode --skill autoresearch -a claude-code2Manually: put the files in place
~/.claude/skills/autoresearch/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/autoresearch/
1Skills CLI (Vercel)
npx skills add Yeachan-Heo/oh-my-claudecode --skill autoresearch -a codex2Manually: put the files in place
.agents/skills/autoresearch/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Yeachan-Heo/oh-my-claudecode --skill autoresearch -a cursor2Manually: put the files in place
.cursor/skills/autoresearch/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Yeachan-Heo/oh-my-claudecode autoresearch2Manually: put the files in place
.github/skills/autoresearch/SKILL.md1Skills CLI (Vercel)
npx skills add Yeachan-Heo/oh-my-claudecode --skill autoresearch -a gemini-cli2Platform CLI
gemini skills install https://github.com/Yeachan-Heo/oh-my-claudecode --path skills/autoresearchManually: put the files in place
.devin/skills/autoresearch/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Yeachan-Heo/oh-my-claudecode --skill autoresearch -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set26
The whole set →Other versions of autoresearch
Similar
Questions about autoresearch
How do I install autoresearch in Claude Code?
Run npx skills add Yeachan-Heo/oh-my-claudecode --skill autoresearch -a claude-code. The skill file lands at ~/.claude/skills/autoresearch/SKILL.md.
What does autoresearch do?
It iterates one mission: change, evaluation, recorded result in JSON plus a markdown log. The loop runs until the max-runtime ceiling or another explicit stop condition.
Can it handle more than one mission?
No. Version v1 allows a single mission per run, and orchestrating several together is ruled out.
Source text
SKILL.md · MIT
---
name: autoresearch
description: Stateful single-mission improvement loop with strict evaluator contract, markdown decision logs, and max-runtime stop behavior
level: 4
---
<Purpose>
Autoresearch is a stateful skill for bounded, evaluator-driven iterative improvement. It owns one mission at a time, keeps iterating through non-passing results, records each evaluation and decision as durable artifacts, and stops only when an explicit max-runtime ceiling or another explicit terminal condition is reached.
</Purpose>
<Use_When>
- You already have a mission and evaluator from `/deep-interview --autoresearch`
- You want persistent single-mission improvement with strict evaluation
- You need durable experiment logs under `.omc/autoresearch/`
- You want a supported path for periodic reruns via Claude Code native cron
</Use_When>
<Do_Not_Use_When>
- You need evaluator generation at runtime — use `/deep-interview --autoresearch` first
- You need multiple missions orchestrated together — v1 forbids that
- You want the deprecated `omc autoresearch` CLI flow — it is no longer authoritative
</Do_Not_Use_When>
<Contract>
- Single-mission only in v1
- Mission setup/evaluator generation stays in `deep-interview --autoresearch`
- Evaluator output must be structured JSON with required boolean `pass` and optional numeric `score`
- Non-passing iterations do **not** stop the run
- Stop conditions are explicit and bounded, with max-runtime as the primary strict stop hook
</Contract>
<Required_Artifacts>
Canonical persistent storage lives under `.omc/autoresearch/<mission-slug>/` and/or `.omc/logs/autoresearch/<run-id>/`.
Minimum required artifacts:
- mission spec
- evaluator script or command reference
- per-iteration evaluation JSON
- markdown decision logs
Recommended canonical shape:
```text
.omc/autoresearch/<mission-slug>/
mission.md
evaluator.json
runs/<run-id>/
evaluations/
iteration-0001.json
iteration-0002.json
decision-log.md
```
Reuse existing runtime artifacts when available rather than duplicating them unnecessarily.
</Required_Artifacts>
<Workflow>
1. Confirm a single mission exists and evaluator setup is already available.
2. Ensure mode/state is active for `autoresearch` and records:
- mission slug/dir
- evaluator reference
- iteration count
- started/updated timestamps
- explicit max-runtime or deadline
3. On every iteration:
- run exactly one experiment/change cycle
- run the evaluator
- persist machine-readable evaluation JSON
- append a human-readable markdown decision log entry
- continue even when evaluation does not pass
4. Stop when:
- max-runtime ceiling is reached
- user explicitly cancels
- another explicit terminal condition is recorded by the runtime
</Workflow>
<Cron_Integration>
Claude Code native cron is a supported integration point for periodic mission enhancement. In v1, prefer documenting/configuring cron inputs over building a large scheduler UI.
If cron is used:
- keep one mission per scheduled job
- preserve the same mission/evaluator contract
- append new run artifacts rather than overwriting prior experiments
</Cron_Integration>
<Execution_Policy>
- Do not hand execution back to `omc autoresearch`
- Do not create multi-mission orchestration
- Prefer reusing `src/autoresearch/*` runtime/schema helpers where they already match the stricter contract
- Keep logs useful to humans, not only machines
</Execution_Policy>
© Yeachan-Heo · MIT · Yeachan-Heo/oh-my-claudecode