autoresearch
Skill2 starsChanged 3 months agoMITView on GitHub
Run a bounded autonomous research loop against the Agentic-KB. Given a topic, repeatedly identify gaps, pull web sources, stub them into raw/, INGEST, and re-evaluate until the loop saturates (no new concepts) or hits a hard cap. Use when the user asks to "autoresearch", "deep-dive", "auto-ingest", or "build out the wiki on <topic>" and wants it done without manual round-trips.
We split this skill into the rules it gives an agent
8 rules. 0 are common, 5 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 90 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 47
If the user says "autoresearch X" with no other config, use defaults and tell them the config you chose in one line before starting.
- Very specific: line 56
Gap detection: Read wiki/index.md and any existing pages whose title or tags intersect topic.
- Very specific: line 66
Fetch: Run up to pages_per_round WebSearch + WebFetch calls in parallel.
- Distinctive: line 103
Every query in step 2 is a duplicate of one already run
- Distinctive: line 116
Respect allowlist/denylist: before every fetch.
- Very specific: line 142
When the loop halts, produce this exact shape (markdown, save to outputs/autoresearch-{topic-slug}-{YYYY-MM-DD}.md):
- Distinctive: line 173
Do not embed raw source bodies in the report — link to them.
- Distinctive: line 218
When this skill is invoked, respond with:
“Common” is measured: kept by at least 6 in 10 of the 90 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Autoresearch — Bounded Multi-Round KB Expansion
You are executing an autonomous research loop against Jay's Agentic-KB. The loop
combines the BACKFILL and INGEST workflows already defined in the
KB's CLAUDE.md into a bounded agent cycle that terminates on saturation.
This skill does NOT introduce new infrastructure. It orchestrates existing
primitives: WebSearch, WebFetch, raw/ stub creation, kb ingest-file,
wiki/index.md reads, and wiki/log.md appends. Do not build a parallel
toolchain. Do not modify the KB schema.
Config
Collect these before starting. Ask only for what's missing.
topic (required) The subject to research.
max_rounds (default 3) Hard cap on loop iterations.
pages_per_round (default 5) Max raw/ stubs created per round.
source_allowlist (default []) Domains the user trusts. Empty = any.
source_denylist (default []) Domains to skip.
mode (default wiki) 'wiki' = full INGEST into wiki/.
'raw-only' = stage in raw/, don't INGEST yet.
dry_run (default no) If yes, list planned fetches but don't write.If the user says "autoresearch X" with no other config, use defaults and tell them the config you chose in one line before starting.
Loop Contract
For round ∈ 1..max_rounds:
- Gap detection. Read
wiki/index.mdand any existing pages whose title or tags intersecttopic. Produce an explicit gap list: concepts referenced but not yet documented, frameworks mentioned with no framework page,[UNVERIFIED]markers, stalelast_checkeddates, and[[wiki-links]]that resolve to nothing. If round > 1, diff against the previous gap list. - Query formulation. For each gap, generate one precise search query. Do not broaden to the parent topic — that was last round. Drop any query that matches a query already run this session.
- Fetch. Run up to
pages_per_roundWebSearch+WebFetchcalls in parallel. Skip domains insource_denylist; requiresource_allowlistif non-empty. If a fetch fails, log it and continue — never retry via bash. - Raw stubs. For each accepted source, write to
raw/framework-docs/{slug}.md(or the most fitting raw/ subdir) with the full source frontmatter:source_url,author,date_published,date_ingested,tags. One source = one raw file. Never modify existing raw/ files — create-only. - INGEST. Unless
mode=raw-only, run the KB's INGEST workflow on each new raw file: createwiki/summaries/{slug}.md, update or create the relevant concept/pattern/framework pages, cross-link bidirectionally, updatewiki/index.md, append towiki/log.md, and add an entry towiki/recently-added.mdunder today's heading. - Saturation check. Compute
new_concepts = (concepts after round) − (concepts before round). Ifnew_concepts == 0, HALT. Otherwise continue. - Round log. Append one block to
wiki/log.md:## autoresearch {YYYY-MM-DD HH:MM} — round N/{max_rounds} topic: {topic} queries: [...] raw_created: [...] wiki_pages_created: [...] wiki_pages_updated: [...] new_concepts: N contradictions: [...]
Halt Conditions (any triggers exit)
round == max_roundsnew_concepts == 0in the most recent round (saturation)- Every query in step 2 is a duplicate of one already run
- User interrupts
- Rate limit / repeated fetch failure (≥3 consecutive failures → halt, don't silently degrade)
On halt, emit a final report (see Output Contract).
Safety Rules
- Never modify
raw/— create-only. Existing files are immutable per the KB rules. - Respect allowlist/denylist before every fetch.
- Confidence honesty — new pages default to
confidence: mediumunless ≥2 independent sources corroborate the core claim. Downgrade tolowwhen a single low-authority source is the only evidence. - Reviewed flag stays false — every page autoresearch creates or updates
must have
reviewed: falseand an emptyreviewed_date: "". Never flip totrue— that is Jay's signature. Automation does not sign. - Counter-arguments are mandatory — every concept and synthesis page this
skill creates must include a
Counter-arguments & Gapssection. If the sources all agree, the section names what they do NOT show and what would change the verdict. One-sided compilation is a failure mode, not an output. - Contradictions — if a new source contradicts an existing wiki claim,
add an inline
> [!contradiction] source vs. {existing-page}block AND record it in the round log. Never silently overwrite. - No orphan pages — every new wiki page gets ≥1 inbound link before the
round closes. If you cannot find a parent, link from the relevant MoC in
wiki/mocs/or fromwiki/index.md. - No hallucinated sources — every citation resolves to a real fetched
URL in raw/. If a claim lacks a source, mark
[UNVERIFIED]. - Hot cache discipline — do not touch
wiki/hot.md. Hot-cache promotion is a separate, human-approved decision.
Output Contract — Final Report
When the loop halts, produce this exact shape (markdown, save to
outputs/autoresearch-{topic-slug}-{YYYY-MM-DD}.md):
# Autoresearch: {topic}
Run: {YYYY-MM-DD HH:MM} | Rounds: {N}/{max_rounds} | Halt: {reason}
## Summary
{2-3 sentences: what was known before, what was added, what the wiki now
says that it didn't.}
## Raw sources added ({count})
- [[raw/.../slug.md]] — {title} ({domain}) — confidence: {high|medium|low}
## Wiki pages created ({count})
- [[wiki/.../slug.md]] — {type} — 1-line purpose
## Wiki pages updated ({count})
- [[wiki/.../slug.md]] — {what changed in ≤10 words}
## Contradictions surfaced ({count})
- {existing claim} vs {new source} → decision: {keep|flag|re-verify}
## Remaining gaps (not fetched — user decision needed)
- {gap} — reason not fetched (rate limit | denylist | ambiguous | low-confidence)
## Next-step suggestions
1. {concrete action with owner — Jay or a follow-up autoresearch run}Do not embed raw source bodies in the report — link to them.
Anti-Patterns (never do these)
- Running more than
max_rounds"just to be thorough" — the cap exists so the loop terminates deterministically. - Ingesting a source that matches an existing raw file slug — collisions mean stop and rename, not overwrite.
- Touching files outside
raw/,wiki/, andoutputs/. - Calling
kb compileor/graphifyinside the loop — those are post-run steps the user invokes explicitly. - Emitting the final report before writing it to
outputs/— save first, then print the path.
Invocation Example
User: /autoresearch supervisor-worker multi-agent patterns
max_rounds=2 pages_per_round=4 source_allowlist=[arxiv.org,anthropic.com]
Agent: Starting autoresearch.
topic=supervisor-worker multi-agent patterns
max_rounds=2 pages_per_round=4
allowlist=[arxiv.org, anthropic.com]
mode=wiki dry_run=no
— Round 1 —
gap list: [3 items] queries: [...] raw added: 4 wiki updated: 7
new_concepts: 5 — continue
— Round 2 —
gap list: [2 items] queries: [...] raw added: 2 wiki updated: 3
new_concepts: 0 — HALT (saturation)
Report → outputs/autoresearch-supervisor-worker-2026-04-17.mdActivation Confirmation
When this skill is invoked, respond with:
Autoresearch active. I'll run a bounded loop against the KB on
{topic}usingmax_rounds={N}andpages_per_round={M}. I will stop on saturation or the cap, whichever comes first. Save the final report tooutputs/. Proceed?
Then wait for confirmation before the first WebSearch call.
Other versions95 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 95
- github/awesome-copilot★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 40ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 40ksame name
- Yeachan-Heo/oh-my-codex★ 34ksame name
- AgriciDaniel/claude-obsidian★ 16ksame name
- Orchestra-Research/AI-research-SKILLs★ 13ksame name
- zechenzhangAGI/AI-research-SKILLs★ 13ksame name
- Orchestra-Research/AI-Research-SKILLs★ 12ksame name
- getcompanion-ai/feynman★ 10ksame name
- advaitpaliwal/feynman★ 10ksame name
85 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use aeon-update, auto-workflow and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
aaronjmarsSkillaeon-update
Pull framework updates from the upstream Aeon repo into this instance - 3-way merges canon's new commits into a PR, never clobbering operator config.
Also in 4 projects that use this
aaronjmarsSkillauto-workflow
Two-mode aeon.yml workflow builder - analyze inspects URLs and emits a tiered, signal-verified skill-enablement plan plus an aeon.yml diff; enable flips slugs to enabled:true and opens a PR.
Also in 4 projects that use this
- +10 more from aaronjmars
In this repository9 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- research-skill-graph/CLAUDE.mdCLAUDE.md
- defuddleSkill
- json-canvasSkill
- obsidian-basesSkill
- obsidian-cliSkill
- obsidian-markdownSkill
- morning-review-dailySkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

