#216 by GitHub stars
uditgoenka/autoresearch
Claude Autoresearch Skill — Autonomous goal-directed iteration for Claude Code. Inspired by Karpathy's autoresearch. Modify → Verify → Keep/Discard → Repeat forever.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
.muse/skills/autoresearch/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 7bddd056dfd0
No earlier version was observed for comparison.
.opencode/skills/autoresearch/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 7bddd056dfd0
No earlier version was observed for comparison.
claude-plugin/skills/autoresearch/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 7bddd056dfd0
No earlier version was observed for comparison.
pi-extension/skills/autoresearch/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 7bddd056dfd0
No earlier version was observed for comparison.
plugins/autoresearch/skills/autoresearch/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 7bddd056dfd0
No earlier version was observed for comparison.
Verified commit 7bddd056dfd0b0ded8360588d8101b1ecb5c0baa
git clone --filter=blob:none --no-checkout https://github.com/uditgoenka/autoresearch.git .hotskills/uditgoenka-autoresearch && git -C .hotskills/uditgoenka-autoresearch checkout --detach 7bddd056dfd0b0ded8360588d8101b1ecb5c0baa
# Copy each selected skill directory from .hotskills/uditgoenka-autoresearch into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/uditgoenka/autoresearch.git .hotskills/uditgoenka-autoresearch && git -C .hotskills/uditgoenka-autoresearch checkout --detach 7bddd056dfd0b0ded8360588d8101b1ecb5c0baa
# Copy each selected skill directory from .hotskills/uditgoenka-autoresearch into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/uditgoenka/autoresearch.git .hotskills/uditgoenka-autoresearch && git -C .hotskills/uditgoenka-autoresearch checkout --detach 7bddd056dfd0b0ded8360588d8101b1ecb5c0baa
# Copy each selected skill directory from .hotskills/uditgoenka-autoresearch into .opencode/skills/<skill-name>/Heat
4.5- Star growth, last 7 daysAhead of 70% of tracked repositories
- Star growth, last 24 hoursAhead of 3% of tracked repositories
- Rank movement, last 7 daysNot available
- Commits, last 30 daysAhead of 78% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- autoresearch
.muse/skills/autoresearch - autoresearch
.opencode/skills/autoresearch - autoresearch
claude-plugin/skills/autoresearch - autoresearch
pi-extension/skills/autoresearch - autoresearch
plugins/autoresearch/skills/autoresearch
How it works
autoresearch
When your agent uses it
Autonomous iteration loop: modify, verify, keep/discard against any metric
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
2,414 tokensWhen the skill is activated
Reference documents
25,749 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Safety Invariants (all subcommands)
- Dispatch (bare `autoresearch`)
- Subcommands
- Universal Flags
- Getting Unstuck: Fork-and-Flush
- Orchestrator
Scripts executed separately
scripts/orchestrate.shscripts/score-regression.sh
Files
../../../.claude-plugin/marketplace.jsonasset878 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytes../../../.claude/hooks/autoresearch/hooks.jsonasset3,662 bytesSKILL.mdcore10,012 bytesSKILL.mdcore10,012 bytesSKILL.mdcore10,012 bytesSKILL.mdcore10,012 bytesSKILL.mdcore10,012 bytesautoresearch.mddoc6,532 bytesdebug.mddoc4,155 bytesevals.mddoc5,202 bytesfix.mddoc4,491 bytesimprove.mddoc6,200 byteslearn.mddoc8,163 bytesplan.mddoc3,348 bytespredict.mddoc3,906 bytesprobe.mddoc5,031 bytesreason.mddoc4,863 bytesreferences/behavior-preserving-optimization.mddoc2,692 bytesreferences/fork-and-flush.mddoc8,602 bytesreferences/orchestrator-routing.mddoc7,350 bytesreferences/predict-personas.mddoc3,145 bytesreferences/reason-judge-protocol.mddoc3,508 bytesreferences/security-checklist.mddoc3,524 bytesregression.mddoc9,581 bytesscenario.mddoc4,289 bytesscripts/orchestrate.shruns29,476 bytesscripts/score-regression.shruns7,775 bytessecurity.mddoc4,778 bytesship.mddoc4,007 bytes../../../claude-plugin/.claude-plugin/plugin.jsonasset601 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes../../../claude-plugin/hooks/hooks.jsonasset3,662 bytes
Read SKILL.md
# 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 |
|---|---|View the complete source on GitHubautoresearch
When your agent uses it
Autonomous iteration loop: modify, verify, keep/discard against any metric
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
2,424 tokensWhen the skill is activated
Reference documents
8,498 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Safety Invariants (all subcommands)
- Dispatch (bare `/autoresearch`)
- Subcommands
- Universal Flags
- Getting Unstuck: Fork-and-Flush
- Orchestrator
Scripts executed separately
scripts/orchestrate.shscripts/score-regression.sh
Files
../../commands/autoresearch.mddoc6,522 bytesSKILL.mdcore10,062 bytesSKILL.mdcore10,062 bytesSKILL.mdcore10,062 bytesSKILL.mdcore10,062 bytesSKILL.mdcore10,062 bytesreferences/behavior-preserving-optimization.mddoc2,692 bytesreferences/fork-and-flush.mddoc8,602 bytesreferences/orchestrator-routing.mddoc7,350 bytesreferences/predict-personas.mddoc3,145 bytesreferences/reason-judge-protocol.mddoc3,508 bytesreferences/security-checklist.mddoc3,524 bytesscripts/orchestrate.shruns29,476 bytesscripts/score-regression.shruns7,775 bytes
Read SKILL.md
# 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 |
|---|---|View the complete source on GitHubautoresearch
When your agent uses it
Autonomous iteration loop: modify, verify, keep/discard against any metric
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
2,437 tokensWhen the skill is activated
Reference documents
8,500 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Safety Invariants (all subcommands)
- Dispatch (bare `/autoresearch`)
- Subcommands
- Universal Flags
- Getting Unstuck: Fork-and-Flush
- Orchestrator
Scripts executed separately
scripts/orchestrate.shscripts/score-regression.sh
Files
../../commands/autoresearch.mddoc6,529 bytesSKILL.mdcore10,069 bytesSKILL.mdcore10,069 bytesSKILL.mdcore10,069 bytesSKILL.mdcore10,069 bytesSKILL.mdcore10,069 bytesreferences/behavior-preserving-optimization.mddoc2,692 bytesreferences/fork-and-flush.mddoc8,602 bytesreferences/orchestrator-routing.mddoc7,350 bytesreferences/predict-personas.mddoc3,145 bytesreferences/reason-judge-protocol.mddoc3,508 bytesreferences/security-checklist.mddoc3,524 bytesscripts/orchestrate.shruns29,476 bytesscripts/score-regression.shruns7,775 bytes
Read SKILL.md
# 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 |
|---|---|View the complete source on GitHubautoresearch
When your agent uses it
Autonomous iteration loop: modify, verify, keep/discard against any metric
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
2,427 tokensWhen the skill is activated
Reference documents
8,499 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Safety Invariants (all subcommands)
- Dispatch (bare `/autoresearch`)
- Subcommands
- Universal Flags
- Getting Unstuck: Fork-and-Flush
- Orchestrator
Scripts executed separately
scripts/orchestrate.shscripts/score-regression.sh
Files
../../prompts/autoresearch.mddoc6,520 bytesSKILL.mdcore10,058 bytesSKILL.mdcore10,058 bytesSKILL.mdcore10,058 bytesSKILL.mdcore10,058 bytesSKILL.mdcore10,058 bytesreferences/behavior-preserving-optimization.mddoc2,692 bytesreferences/fork-and-flush.mddoc8,602 bytesreferences/orchestrator-routing.mddoc7,350 bytesreferences/predict-personas.mddoc3,145 bytesreferences/reason-judge-protocol.mddoc3,508 bytesreferences/security-checklist.mddoc3,524 bytesscripts/orchestrate.shruns29,476 bytesscripts/score-regression.shruns7,775 bytes
Read SKILL.md
# 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 |
|---|---|View the complete source on GitHubautoresearch
When your agent uses it
Autonomous iteration loop: modify, verify, keep/discard against any metric
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
2,414 tokensWhen the skill is activated
Reference documents
25,751 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Safety Invariants (all subcommands)
- Dispatch (bare `$autoresearch`)
- Subcommands
- Universal Flags
- Getting Unstuck: Fork-and-Flush
- Orchestrator
Scripts executed separately
scripts/orchestrate.shscripts/score-regression.sh
Files
SKILL.mdcore10,029 bytesSKILL.mdcore10,029 bytesSKILL.mdcore10,029 bytesSKILL.mdcore10,029 bytesSKILL.mdcore10,029 bytesautoresearch.mddoc6,532 bytesdebug.mddoc4,155 bytesevals.mddoc5,202 bytesfix.mddoc4,491 bytesimprove.mddoc6,201 byteslearn.mddoc8,163 bytesplan.mddoc3,350 bytespredict.mddoc3,906 bytesprobe.mddoc5,031 bytesreason.mddoc4,863 bytesreferences/behavior-preserving-optimization.mddoc2,692 bytesreferences/fork-and-flush.mddoc8,602 bytesreferences/orchestrator-routing.mddoc7,350 bytesreferences/predict-personas.mddoc3,145 bytesreferences/reason-judge-protocol.mddoc3,508 bytesreferences/security-checklist.mddoc3,524 bytesregression.mddoc9,581 bytesscenario.mddoc4,289 bytesscripts/orchestrate.shruns29,476 bytesscripts/score-regression.shruns7,775 bytessecurity.mddoc4,778 bytesship.mddoc4,007 bytes
Read SKILL.md
# 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 |
|---|---|View the complete source on GitHubSkills included
- autoresearch
- autoresearch
- autoresearch
- autoresearch
- autoresearch
Repository facts
- License
- MIT
- Created
- Mar 13, 2026
- Last pushed
- Oct 31, 2026
- Forks
- 491
- Open issues
- 0
- Project activity
- Active
Rank over the last 12 weeks
Now #216 · best #181 · down 17 in 30 days
- #205 from Oct 17 to Oct 18
- #207 on Oct 19
- #206 from Oct 20 to Oct 21
- #205 on Oct 22
- #206 from Oct 23 to Oct 24
- #216 since Nov 7
57 earlier periods
- #178 on Aug 9
- #181 from Aug 10 to Aug 11
- #179 on Aug 12
- #183 from Aug 13 to Aug 14
- #182 from Aug 15 to Aug 17
- #185 on Aug 18
- #184 on Aug 19
- #181 on Aug 20
- #184 on Aug 21
- #182 on Aug 22
- #188 on Aug 23
- #187 on Aug 24
- #189 on Aug 25
- #191 on Aug 26
- #193 on Aug 27
- #192 on Aug 28
- #193 on Aug 29
- #192 from Aug 30 to Aug 31
- #197 on Sep 1
- #191 on Sep 2
- #197 on Sep 3
- #192 on Sep 4
- #193 on Sep 5
- #188 on Sep 6
- #191 on Sep 7
- #190 on Sep 8
- #192 from Sep 9 to Sep 11
- #193 on Sep 12
- #194 on Sep 13
- #195 on Sep 14
- #194 from Sep 15 to Sep 16
- #195 on Sep 17
- #197 on Sep 18
- #194 on Sep 19
- #196 on Sep 20
- #197 from Sep 21 to Sep 23
- #196 on Sep 24
- #194 on Sep 25
- #195 on Sep 26
- #196 on Sep 27
- #197 from Sep 28 to Sep 29
- #196 on Sep 30
- #198 on Oct 1
- #200 on Oct 2
- #197 on Oct 3
- #195 on Oct 4
- #198 from Oct 5 to Oct 6
- #200 on Oct 7
- #199 on Oct 8
- #204 on Oct 9
- #201 on Oct 10
- #202 on Oct 11
- #204 on Oct 12
- #205 on Oct 13
- #204 on Oct 14
- #203 on Oct 15
- #201 on Oct 16
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 7, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 48 notes
.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.claude/hooks/autoresearch/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed.muse/skills/autoresearch/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.muse/skills/autoresearch/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.muse/skills/autoresearch/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.muse/skills/autoresearch/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedclaude-plugin/hooks/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzedclaude-plugin/hooks/hooks.json:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 54 dangerous shell commandsin 14 files: autoresearch/scripts/orchestrate.sh:231 autoresearch/scripts/orchestrate.sh:231 autoresearch/scripts/orchestrate.sh:231 and 11 more
- 75 network referencesin 12 files: autoresearch/scripts/orchestrate.sh:333 autoresearch/scripts/orchestrate.sh:333 autoresearch/scripts/orchestrate.sh:333 and 9 more
- No hidden or obfuscated text
- No instruction overrides
- 10 executable scriptsin 10 files: autoresearch/scripts/orchestrate.sh:1 autoresearch/scripts/score-regression.sh:1 autoresearch/scripts/orchestrate.sh:1 and 7 more
- 2 references to secretsin 2 files: autoresearch/learn.md:80 autoresearch/learn.md:80
- No requests to vote in Hot
Show all 141 signals by file
.claude-plugin/marketplace.json
- Network accessline 1
{ "$schema": "https://anthropic.com/claude-code/marketplace.schema.json", - Network accessline 2
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json", - Network accessline 6
"owner": { "name": "Udit Goenka", "url": "https://github.com/uditgoenka" - Network accessline 7
"name": "Udit Goenka", "url": "https://github.com/uditgoenka" }, - Network accessline 8
"url": "https://github.com/uditgoenka" - Network accessline 15
"author": { "name": "Udit Goenka", "url": "https://github.com/uditgoenka" - Network accessline 16
"name": "Udit Goenka", "url": "https://github.com/uditgoenka" }, - Network accessline 17
"url": "https://github.com/uditgoenka"
.muse/skills/autoresearch/autoresearch.md
- Dangerous shell operationline 55
Before first dry-run, screen Verify command for: rm -rf, fork bombs, curl|sh, embedded credentials, outbound writes. Block dangerous commands.
.muse/skills/autoresearch/learn.md
- Access to secretsline 80
[Credential-related source omitted]
.muse/skills/autoresearch/plan.md
- Dangerous shell operationline 61
3. **Safety screen:** check proposed command for rm -rf, fork bombs, curl|sh, credentials
.muse/skills/autoresearch/references/fork-and-flush.md
- Network accessline 3
How a metric loop gets out of an idea basin. Sources: Cai et al., "Fork-and-Flush: Escaping Idea Basins in Autoresearch Agents" ([arXiv:2610.07447](https://arxiv.org/abs/2610.07447)), for the random branches, and Zhang et - Network accessline 4
Autoresearch Agents" ([arXiv:2610.07447](https://arxiv.org/abs/2610.07447)), for the random branches, and Zhang et - Network accessline 6
([arXiv:2610.07625](https://arxiv.org/abs/2610.07625)), for the guided branches.
.muse/skills/autoresearch/regression.md
- Dangerous shell operationline 111
Verify-command screen (no `rm -rf` / `curl|sh`); worktree cleanup + prune on crash; data-migration refuses any non-allowlisted DB URL; probe auto-skips non-interactively; chained `ship` never auto-deploys.
.muse/skills/autoresearch/scripts/orchestrate.sh
- Executable scriptline 1
#!/usr/bin/env bash - Dangerous shell operationline 231
# The shell drops quotes and backslashes before it runs a name, so 'rm' and \rm are rm. - Dangerous shell operationline 270
# A glob in a command name (r?, /bin/r[m], sudo r*) can match any program, so a glob - Dangerous shell operationline 273
# option value (sudo -u root) can come before the name. Globs in arguments - Dangerous shell operationline 318
# Each command matcher below starts at a space, ; & | ( ) { ` $ < or >, so `true;rm -rf / # and `$(rm -rf ~)` are seen too. Flags are read from $bare, so rm "-rf" / is too. - Dangerous shell operationline 319
# and `$(rm -rf ~)` are seen too. Flags are read from $bare, so rm "-rf" / is too. - Dangerous shell operationline 320
# rm with recursive AND force, in any flag arrangement: bundled (-rf/-Rf/-fr), - Network accessline 333
# curl/wget piped to an interpreter (sh/bash/zsh/dash/fish/ksh/python/perl/ruby/ - Network accessline 334
# node/php), including a path-qualified one (| /bin/bash). Enumerated interpreters # rather than "refuse any curl pipe" so a legitimate derived predicate that pipes # curl output to a parser (jq/grep/awk) is not falsely refused. - Network accessline 335
# rather than "refuse any curl pipe" so a legitimate derived predicate that pipes - Network accessline 336
# curl output to a parser (jq/grep/awk) is not falsely refused. - Network accessline 341
# curl/wget piped through a launcher (sudo, env, exec, ...) into an interpreter. - Dangerous shell operationline 346
# A remote payload run without a pipe: bash <(curl ...), source <(curl ...), - Network accessline 346
# A remote payload run without a pipe: bash <(curl ...), source <(curl ...), - Dangerous shell operationline 347
# bash -c "$(curl ...)", eval "$(curl ...)". - Network accessline 347
# bash -c "$(curl ...)", eval "$(curl ...)". - Network accessline 355
# curl/wget routed through xargs into an interpreter. The xargs wrapper sidesteps the - Network accessline 361
# Output piped to netcat exfiltrates data off-host. - Dangerous shell operationline 379
# find ... -delete mass-removes matched files. Both tokens required so a plain find
.muse/skills/autoresearch/scripts/score-regression.sh
- Executable scriptline 1
#!/usr/bin/env bash
.opencode/commands/autoresearch.md
- Dangerous shell operationline 55
Before first dry-run, screen Verify command for: rm -rf, fork bombs, curl|sh, embedded credentials, outbound writes. Block dangerous commands.
.opencode/skills/autoresearch/references/fork-and-flush.md
- Network accessline 3
How a metric loop gets out of an idea basin. Sources: Cai et al., "Fork-and-Flush: Escaping Idea Basins in Autoresearch Agents" ([arXiv:2610.07447](https://arxiv.org/abs/2610.07447)), for the random branches, and Zhang et - Network accessline 4
Autoresearch Agents" ([arXiv:2610.07447](https://arxiv.org/abs/2610.07447)), for the random branches, and Zhang et - Network accessline 6
([arXiv:2610.07625](https://arxiv.org/abs/2610.07625)), for the guided branches.
.opencode/skills/autoresearch/scripts/orchestrate.sh
- Executable scriptline 1
#!/usr/bin/env bash - Dangerous shell operationline 231
# The shell drops quotes and backslashes before it runs a name, so 'rm' and \rm are rm. - Dangerous shell operationline 270
# A glob in a command name (r?, /bin/r[m], sudo r*) can match any program, so a glob - Dangerous shell operationline 273
# option value (sudo -u root) can come before the name. Globs in arguments - Dangerous shell operationline 318
# Each command matcher below starts at a space, ; & | ( ) { ` $ < or >, so `true;rm -rf / # and `$(rm -rf ~)` are seen too. Flags are read from $bare, so rm "-rf" / is too. - Dangerous shell operationline 319
# and `$(rm -rf ~)` are seen too. Flags are read from $bare, so rm "-rf" / is too. - Dangerous shell operationline 320
# rm with recursive AND force, in any flag arrangement: bundled (-rf/-Rf/-fr), - Network accessline 333
# curl/wget piped to an interpreter (sh/bash/zsh/dash/fish/ksh/python/perl/ruby/ - Network accessline 334
# node/php), including a path-qualified one (| /bin/bash). Enumerated interpreters # rather than "refuse any curl pipe" so a legitimate derived predicate that pipes # curl output to a parser (jq/grep/awk) is not falsely refused. - Network accessline 335
# rather than "refuse any curl pipe" so a legitimate derived predicate that pipes - Network accessline 336
# curl output to a parser (jq/grep/awk) is not falsely refused. - Network accessline 341
# curl/wget piped through a launcher (sudo, env, exec, ...) into an interpreter. - Dangerous shell operationline 346
# A remote payload run without a pipe: bash <(curl ...), source <(curl ...), - Network accessline 346
# A remote payload run without a pipe: bash <(curl ...), source <(curl ...), - Dangerous shell operationline 347
# bash -c "$(curl ...)", eval "$(curl ...)". - Network accessline 347
# bash -c "$(curl ...)", eval "$(curl ...)". - Network accessline 355
# curl/wget routed through xargs into an interpreter. The xargs wrapper sidesteps the - Network accessline 361
# Output piped to netcat exfiltrates data off-host. - Dangerous shell operationline 379
# find ... -delete mass-removes matched files. Both tokens required so a plain find
.opencode/skills/autoresearch/scripts/score-regression.sh
- Executable scriptline 1
#!/usr/bin/env bash
claude-plugin/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Udit Goenka", "url": "https://github.com/uditgoenka" - Network accessline 6
"name": "Udit Goenka", "url": "https://github.com/uditgoenka" }, - Network accessline 7
"url": "https://github.com/uditgoenka" - Network accessline 8
}, "repository": "https://github.com/uditgoenka/autoresearch", "license": "MIT", - Network accessline 9
"repository": "https://github.com/uditgoenka/autoresearch", - Network accessline 10
"license": "MIT", "homepage": "https://github.com/uditgoenka/autoresearch", "keywords": [ - Network accessline 11
"homepage": "https://github.com/uditgoenka/autoresearch",
claude-plugin/commands/autoresearch.md
- Dangerous shell operationline 55
Before first dry-run, screen Verify command for: rm -rf, fork bombs, curl|sh, embedded credentials, outbound writes. Block dangerous commands.
claude-plugin/skills/autoresearch/references/fork-and-flush.md
- Network accessline 3
How a metric loop gets out of an idea basin. Sources: Cai et al., "Fork-and-Flush: Escaping Idea Basins in Autoresearch Agents" ([arXiv:2610.07447](https://arxiv.org/abs/2610.07447)), for the random branches, and Zhang et - Network accessline 4
Autoresearch Agents" ([arXiv:2610.07447](https://arxiv.org/abs/2610.07447)), for the random branches, and Zhang et - Network accessline 6
([arXiv:2610.07625](https://arxiv.org/abs/2610.07625)), for the guided branches.
claude-plugin/skills/autoresearch/scripts/orchestrate.sh
- Executable scriptline 1
#!/usr/bin/env bash - Dangerous shell operationline 231
# The shell drops quotes and backslashes before it runs a name, so 'rm' and \rm are rm. - Dangerous shell operationline 270
# A glob in a command name (r?, /bin/r[m], sudo r*) can match any program, so a glob - Dangerous shell operationline 273
# option value (sudo -u root) can come before the name. Globs in arguments - Dangerous shell operationline 318
# Each command matcher below starts at a space, ; & | ( ) { ` $ < or >, so `true;rm -rf / # and `$(rm -rf ~)` are seen too. Flags are read from $bare, so rm "-rf" / is too. - Dangerous shell operationline 319
# and `$(rm -rf ~)` are seen too. Flags are read from $bare, so rm "-rf" / is too. - Dangerous shell operationline 320
# rm with recursive AND force, in any flag arrangement: bundled (-rf/-Rf/-fr), - Network accessline 333
# curl/wget piped to an interpreter (sh/bash/zsh/dash/fish/ksh/python/perl/ruby/ - Network accessline 334
# node/php), including a path-qualified one (| /bin/bash). Enumerated interpreters # rather than "refuse any curl pipe" so a legitimate derived predicate that pipes # curl output to a parser (jq/grep/awk) is not falsely refused. - Network accessline 335
# rather than "refuse any curl pipe" so a legitimate derived predicate that pipes - Network accessline 336
# curl output to a parser (jq/grep/awk) is not falsely refused. - Network accessline 341
# curl/wget piped through a launcher (sudo, env, exec, ...) into an interpreter. - Dangerous shell operationline 346
# A remote payload run without a pipe: bash <(curl ...), source <(curl ...), - Network accessline 346
# A remote payload run without a pipe: bash <(curl ...), source <(curl ...), - Dangerous shell operationline 347
# bash -c "$(curl ...)", eval "$(curl ...)". - Network accessline 347
# bash -c "$(curl ...)", eval "$(curl ...)". - Network accessline 355
# curl/wget routed through xargs into an interpreter. The xargs wrapper sidesteps the - Network accessline 361
# Output piped to netcat exfiltrates data off-host. - Dangerous shell operationline 379
# find ... -delete mass-removes matched files. Both tokens required so a plain find
claude-plugin/skills/autoresearch/scripts/score-regression.sh
- Executable scriptline 1
#!/usr/bin/env bash
pi-extension/prompts/autoresearch.md
- Dangerous shell operationline 55
Before first dry-run, screen Verify command for: rm -rf, fork bombs, curl|sh, embedded credentials, outbound writes. Block dangerous commands.
pi-extension/skills/autoresearch/references/fork-and-flush.md
- Network accessline 3
How a metric loop gets out of an idea basin. Sources: Cai et al., "Fork-and-Flush: Escaping Idea Basins in Autoresearch Agents" ([arXiv:2610.07447](https://arxiv.org/abs/2610.07447)), for the random branches, and Zhang et - Network accessline 4
Autoresearch Agents" ([arXiv:2610.07447](https://arxiv.org/abs/2610.07447)), for the random branches, and Zhang et - Network accessline 6
([arXiv:2610.07625](https://arxiv.org/abs/2610.07625)), for the guided branches.
pi-extension/skills/autoresearch/scripts/orchestrate.sh
- Executable scriptline 1
#!/usr/bin/env bash - Dangerous shell operationline 231
# The shell drops quotes and backslashes before it runs a name, so 'rm' and \rm are rm. - Dangerous shell operationline 270
# A glob in a command name (r?, /bin/r[m], sudo r*) can match any program, so a glob - Dangerous shell operationline 273
# option value (sudo -u root) can come before the name. Globs in arguments - Dangerous shell operationline 318
# Each command matcher below starts at a space, ; & | ( ) { ` $ < or >, so `true;rm -rf / # and `$(rm -rf ~)` are seen too. Flags are read from $bare, so rm "-rf" / is too. - Dangerous shell operationline 319
# and `$(rm -rf ~)` are seen too. Flags are read from $bare, so rm "-rf" / is too. - Dangerous shell operationline 320
# rm with recursive AND force, in any flag arrangement: bundled (-rf/-Rf/-fr), - Network accessline 333
# curl/wget piped to an interpreter (sh/bash/zsh/dash/fish/ksh/python/perl/ruby/ - Network accessline 334
# node/php), including a path-qualified one (| /bin/bash). Enumerated interpreters # rather than "refuse any curl pipe" so a legitimate derived predicate that pipes # curl output to a parser (jq/grep/awk) is not falsely refused. - Network accessline 335
# rather than "refuse any curl pipe" so a legitimate derived predicate that pipes - Network accessline 336
# curl output to a parser (jq/grep/awk) is not falsely refused. - Network accessline 341
# curl/wget piped through a launcher (sudo, env, exec, ...) into an interpreter. - Dangerous shell operationline 346
# A remote payload run without a pipe: bash <(curl ...), source <(curl ...), - Network accessline 346
# A remote payload run without a pipe: bash <(curl ...), source <(curl ...), - Dangerous shell operationline 347
# bash -c "$(curl ...)", eval "$(curl ...)". - Network accessline 347
# bash -c "$(curl ...)", eval "$(curl ...)". - Network accessline 355
# curl/wget routed through xargs into an interpreter. The xargs wrapper sidesteps the - Network accessline 361
# Output piped to netcat exfiltrates data off-host. - Dangerous shell operationline 379
# find ... -delete mass-removes matched files. Both tokens required so a plain find
pi-extension/skills/autoresearch/scripts/score-regression.sh
- Executable scriptline 1
#!/usr/bin/env bash
plugins/autoresearch/skills/autoresearch/autoresearch.md
- Dangerous shell operationline 55
Before first dry-run, screen Verify command for: rm -rf, fork bombs, curl|sh, embedded credentials, outbound writes. Block dangerous commands.
plugins/autoresearch/skills/autoresearch/learn.md
- Access to secretsline 80
[Credential-related source omitted]
plugins/autoresearch/skills/autoresearch/plan.md
- Dangerous shell operationline 61
3. **Safety screen:** check proposed command for rm -rf, fork bombs, curl|sh, credentials
plugins/autoresearch/skills/autoresearch/references/fork-and-flush.md
- Network accessline 3
How a metric loop gets out of an idea basin. Sources: Cai et al., "Fork-and-Flush: Escaping Idea Basins in Autoresearch Agents" ([arXiv:2610.07447](https://arxiv.org/abs/2610.07447)), for the random branches, and Zhang et - Network accessline 4
Autoresearch Agents" ([arXiv:2610.07447](https://arxiv.org/abs/2610.07447)), for the random branches, and Zhang et - Network accessline 6
([arXiv:2610.07625](https://arxiv.org/abs/2610.07625)), for the guided branches.
plugins/autoresearch/skills/autoresearch/regression.md
- Dangerous shell operationline 111
Verify-command screen (no `rm -rf` / `curl|sh`); worktree cleanup + prune on crash; data-migration refuses any non-allowlisted DB URL; probe auto-skips non-interactively; chained `ship` never auto-deploys.
plugins/autoresearch/skills/autoresearch/scripts/orchestrate.sh
- Executable scriptline 1
#!/usr/bin/env bash - Dangerous shell operationline 231
# The shell drops quotes and backslashes before it runs a name, so 'rm' and \rm are rm. - Dangerous shell operationline 270
# A glob in a command name (r?, /bin/r[m], sudo r*) can match any program, so a glob - Dangerous shell operationline 273
# option value (sudo -u root) can come before the name. Globs in arguments - Dangerous shell operationline 318
# Each command matcher below starts at a space, ; & | ( ) { ` $ < or >, so `true;rm -rf / # and `$(rm -rf ~)` are seen too. Flags are read from $bare, so rm "-rf" / is too. - Dangerous shell operationline 319
# and `$(rm -rf ~)` are seen too. Flags are read from $bare, so rm "-rf" / is too. - Dangerous shell operationline 320
# rm with recursive AND force, in any flag arrangement: bundled (-rf/-Rf/-fr), - Network accessline 333
# curl/wget piped to an interpreter (sh/bash/zsh/dash/fish/ksh/python/perl/ruby/ - Network accessline 334
# node/php), including a path-qualified one (| /bin/bash). Enumerated interpreters # rather than "refuse any curl pipe" so a legitimate derived predicate that pipes # curl output to a parser (jq/grep/awk) is not falsely refused. - Network accessline 335
# rather than "refuse any curl pipe" so a legitimate derived predicate that pipes - Network accessline 336
# curl output to a parser (jq/grep/awk) is not falsely refused. - Network accessline 341
# curl/wget piped through a launcher (sudo, env, exec, ...) into an interpreter. - Dangerous shell operationline 346
# A remote payload run without a pipe: bash <(curl ...), source <(curl ...), - Network accessline 346
# A remote payload run without a pipe: bash <(curl ...), source <(curl ...), - Dangerous shell operationline 347
# bash -c "$(curl ...)", eval "$(curl ...)". - Network accessline 347
# bash -c "$(curl ...)", eval "$(curl ...)". - Network accessline 355
# curl/wget routed through xargs into an interpreter. The xargs wrapper sidesteps the - Network accessline 361
# Output piped to netcat exfiltrates data off-host. - Dangerous shell operationline 379
# find ... -delete mass-removes matched files. Both tokens required so a plain find
plugins/autoresearch/skills/autoresearch/scripts/score-regression.sh
- Executable scriptline 1
#!/usr/bin/env bash
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 126 facts
- Dangerous shell operation in prose of documentationautoresearch/autoresearch.md:55Low confidence
- Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueautoresearch/learn.md:80Low confidence
- Dangerous shell operation in prose of documentationautoresearch/plan.md:61Low confidence
- Network access in prose of documentationautoresearch/references/fork-and-flush.md:3Low confidence
- Network access in prose of documentationautoresearch/references/fork-and-flush.md:4Low confidence
- Network access in prose of documentationautoresearch/references/fork-and-flush.md:6Low confidence
- Dangerous shell operation in prose of documentationautoresearch/regression.md:111Low confidence
- Executable script in code of a file that runsautoresearch/scripts/orchestrate.sh:1High confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:231Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:270Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:273Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:318Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:319Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:320Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:333Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:334Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:335Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:336Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:341Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:346Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:346Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:347Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:347Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:355Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:361Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:379Low confidence
- Executable script in code of a file that runsautoresearch/scripts/score-regression.sh:1High confidence
- Dangerous shell operation in prose of documentation.opencode/commands/autoresearch.md:55Low confidence
- Network access in prose of documentationautoresearch/references/fork-and-flush.md:3Low confidence
- Network access in prose of documentationautoresearch/references/fork-and-flush.md:4Low confidence
- Network access in prose of documentationautoresearch/references/fork-and-flush.md:6Low confidence
- Executable script in code of a file that runsautoresearch/scripts/orchestrate.sh:1High confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:231Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:270Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:273Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:318Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:319Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:320Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:333Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:334Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:335Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:336Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:341Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:346Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:346Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:347Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:347Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:355Low confidence
- Network access in a comment of a file that runsautoresearch/scripts/orchestrate.sh:361Low confidence
- Dangerous shell operation in a comment of a file that runsautoresearch/scripts/orchestrate.sh:379Low confidence
and 76 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md .muse/skills/autoresearch/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md .muse/skills/autoresearch/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md .muse/skills/autoresearch/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Native | Path .opencode/agents/docs-manager.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/uditgoenka-autoresearch/)