#177 by GitHub stars
davebcn87/pi-autoresearch
Autonomous experiment loop extension for pi
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
skills/autoresearch-create/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Instructions only → After Network or broad shell
04b8a50dac7e → 04b8a50dac7e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Instructions only
First observation → 04b8a50dac7e
No earlier version was observed for comparison.
skills/autoresearch-finalize/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Local scripts → After Network or broad shell
04b8a50dac7e → 04b8a50dac7e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 04b8a50dac7e
No earlier version was observed for comparison.
skills/autoresearch-hooks/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
04b8a50dac7e → 04b8a50dac7e
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 04b8a50dac7e
No earlier version was observed for comparison.
Heat
5.1- Star growth, last 7 daysAhead of 52% of tracked repositories
- Star growth, last 24 hoursAhead of 70% of tracked repositories
- Rank movement, last 7 daysAhead of 58% of tracked repositories
- Commits, last 30 daysAhead of 64% 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-create
skills/autoresearch-create - autoresearch-finalize
skills/autoresearch-finalize - autoresearch-hooks
skills/autoresearch-hooks
How it works
autoresearch-create
When your agent uses it
Set up and run an autonomous experiment loop for any optimization target. Gathers what to optimize, then starts the loop immediately. Use when asked to "run autoresearch", "optimize X in a loop", "set up autoresearch for X", or "start experiments".
What it loads into context
Frontmatter
63 tokensAlways available to the agent
SKILL.md
2,115 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Tools
- Session files
- Setup
- Loop Rules
- Ideas Backlog
- User Messages During Experiments
Files
SKILL.mdcore9,157 bytesSKILL.mdcore9,157 bytesSKILL.mdcore9,157 bytesSKILL.mdcore9,157 bytes
Read SKILL.md
# Autoresearch
Autonomous experiment loop: try ideas, keep what works, discard what doesn't, never stop.
## Tools
- **`init_experiment`** — configure session (name, metric, unit, direction). Call again to re-initialize with a new baseline when the optimization target changes.
- **`run_experiment`** — runs command, times it, captures output.
- **`log_experiment`** — records result. `keep` auto-commits. `discard`/`crash`/`checks_failed` auto-reverts code changes (autoresearch files preserved). Always include secondary `metrics` dict. Dashboard: ctrl+shift+t.
## Session files
All session files live in a single `.auto/` subfolder at the working directory root. This keeps everything in one place — easy to preserve across reverts, gitignore, and clean up.
View the complete source on GitHubautoresearch-finalize
When your agent uses it
Finalize an autoresearch session into clean, reviewable branches. Use when asked to "finalize autoresearch", "clean up experiments", or "prepare autoresearch for review".
What it loads into context
Frontmatter
49 tokensAlways available to the agent
SKILL.md
949 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Step 1 — Analyze and Propose Groups
- Step 2 — Write groups.json and Run
- Step 3 — Report
- Edge Cases
Scripts executed separately
finalize.sh
Files
SKILL.mdcore3,735 bytesSKILL.mdcore3,735 bytesSKILL.mdcore3,735 bytesfinalize.shruns13,877 bytes
Read SKILL.md
# Finalize Autoresearch
Turn a noisy autoresearch branch into clean, independent branches — one per logical change, each starting from the merge-base.
## Step 1 — Analyze and Propose Groups
1. Read `.auto/log.jsonl` (legacy: `autoresearch.jsonl`). Filter to **kept** experiments only.
2. Read `.auto/prompt.md` (legacy: `autoresearch.md`) for context.
3. Expand all short commit hashes to full hashes: `git rev-parse <short_hash>`
4. Get the merge-base: `git merge-base HEAD main`
5. For each kept commit, get the diff stat (use `$BASE..<commit>` for the first, `<prev_kept>..<commit>` for subsequent).
6. Group kept commits into logical changesets:
- **Preserve application order.** Group N comes before Group N+1.
- **No two groups may touch the same file.** Each branch is applied to merge-base independently — overlapping files would conflict. If two groups touch the same file, merge them into one group.View the complete source on GitHubautoresearch-hooks
When your agent uses it
Author pre/post-iteration hooks for an autoresearch session. Use when the user asks to add research fetching, Slack/webhook notifications, persistent learnings, auto-tagging, anti-thrash intervention, idea rotation, or any side effect around iterations.
What it loads into context
Frontmatter
58 tokensAlways available to the agent
SKILL.md
1,577 tokensWhen the skill is activated
Reference documents
664 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Contract
- Examples
- Steps to add a hook
- Rules of thumb
Scripts executed separately
examples/after/auto-tag-winners.shexamples/after/learnings-journal.shexamples/after/macos-notify.shexamples/before/anti-thrash.shexamples/before/context-rotation.shexamples/before/external-search.shexamples/before/hypothesis-reflection.shexamples/before/idea-rotator.shexamples/before/qmd-search.sh
Files
SKILL.mdcore6,628 bytesSKILL.mdcore6,628 bytesSKILL.mdcore6,628 bytesSKILL.mdcore6,628 bytesSKILL.mdcore6,628 bytesSKILL.mdcore6,628 bytesexamples/README.mddoc2,709 bytesexamples/after/auto-tag-winners.shruns870 bytesexamples/after/learnings-journal.shruns887 bytesexamples/after/macos-notify.shruns944 bytesexamples/before/anti-thrash.shruns1,058 bytesexamples/before/context-rotation.shruns819 bytesexamples/before/external-search.shruns890 bytesexamples/before/hypothesis-reflection.shruns848 bytesexamples/before/idea-rotator.shruns769 bytesexamples/before/qmd-search.shruns1,066 bytes
Read SKILL.md
# autoresearch-hooks
Optional scripts that run at iteration boundaries in an autoresearch session. Two hooks, both transparent to the loop-running agent — their effect is a file on disk or a steer message.
```
.auto/hooks/
before.sh # fires before each iteration (prospective)
after.sh # fires after each log_experiment (retrospective)
```
Both files are optional. Files without the executable bit are silently ignored.
---
View the complete source on GitHubSkills included
- autoresearch-create
- autoresearch-finalize
- autoresearch-hooks
Repository facts
- License
- MIT
- Created
- Mar 11, 2026
- Last pushed
- Oct 7, 2026
- Forks
- 469
- Open issues
- 5
- Project activity
- Active
Rank over the last 12 weeks
Now #177 · best #148 · down 17 in 30 days
- #171 from Oct 28 to Oct 29
- #173 on Oct 30
- #174 on Oct 31
- #175 from Nov 1 to Nov 2
- #176 from Nov 3 to Nov 4
- #177 since Nov 5
54 earlier periods
- #145 on Aug 2
- #145 from Aug 7 to Aug 8
- #143 on Aug 9
- #147 from Aug 10 to Aug 12
- #149 on Aug 13
- #151 from Aug 14 to Aug 17
- #152 from Aug 18 to Aug 19
- #151 from Aug 20 to Aug 21
- #149 on Aug 22
- #150 on Aug 23
- #149 from Aug 24 to Aug 29
- #148 from Aug 30 to Aug 31
- #149 on Sep 1
- #148 on Sep 2
- #150 on Sep 3
- #148 on Sep 4
- #150 on Sep 5
- #149 on Sep 6
- #151 from Sep 7 to Sep 9
- #152 on Sep 10
- #151 on Sep 11
- #154 on Sep 12
- #155 on Sep 13
- #156 from Sep 14 to Sep 15
- #155 on Sep 16
- #156 on Sep 17
- #158 on Sep 18
- #156 on Sep 19
- #158 from Sep 20 to Sep 21
- #157 on Sep 22
- #158 on Sep 23
- #157 from Sep 24 to Sep 25
- #158 from Sep 26 to Sep 27
- #159 on Sep 28
- #160 on Sep 29
- #158 on Sep 30
- #160 from Oct 1 to Oct 2
- #158 on Oct 3
- #157 on Oct 4
- #159 from Oct 5 to Oct 6
- #161 on Oct 7
- #160 on Oct 8
- #161 on Oct 9
- #160 on Oct 10
- #161 from Oct 11 to Oct 12
- #162 from Oct 13 to Oct 14
- #161 on Oct 15
- #159 on Oct 16
- #163 on Oct 17
- #165 on Oct 18
- #166 on Oct 19
- #167 from Oct 21 to Oct 22
- #168 from Oct 23 to Oct 24
- #170 on Oct 25
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 2, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 10 notes
skills/autoresearch-create/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/autoresearch-create/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/autoresearch-create/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/autoresearch-finalize/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/autoresearch-finalize/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/autoresearch-hooks/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/autoresearch-hooks/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/autoresearch-hooks/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/autoresearch-hooks/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/autoresearch-hooks/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 3 dangerous shell commandsin 1 file: autoresearch-finalize/finalize.sh:42
- No hidden or obfuscated text
- No instruction overrides
- 10 executable scriptsin 10 files: autoresearch-finalize/finalize.sh:1 autoresearch-hooks/examples/after/auto-tag-winners.sh:1 autoresearch-hooks/examples/after/learnings-journal.sh:1 and 7 more
- No access to secrets
- No requests to vote in Hot
Show all 20 signals by file
skills/autoresearch-finalize/finalize.sh
- Executable scriptline 1
#!/usr/bin/env bash - Dangerous shell operationline 42
cleanup_data() { if [ -d "${DATA_DIR:-}" ]; then rm -rf "$DATA_DIR"; fi; } - Dangerous shell operationline 408
echo " rm -r .auto # session folder (current layout)" - Dangerous shell operationline 409
echo " rm -f autoresearch.jsonl autoresearch.sh autoresearch.md autoresearch.ideas.md # legacy flat files, if any"
skills/autoresearch-hooks/examples/README.md
- Network accessline 19
| --- | --- | | [`external-search.sh`](before/external-search.sh) | Mine agent notes for a query and fetch external material via your search tool of choice. | | [`qmd-search.sh`](before/qmd-search.sh) | Same shape, but targets a local [`qmd - Network accessline 20
| [`external-search.sh`](before/external-search.sh) | Mine agent notes for a query and fetch external material via your search tool of choice. | | [`qmd-search.sh`](before/qmd-search.sh) | Same shape, but targets a local [`qmd`](https://www - Network accessline 21
| [`qmd-search.sh`](before/qmd-search.sh) | Same shape, but targets a local [`qmd`](https://www.npmjs.com/package/qmd) BM25 / vector / rerank index over your project's markdown. |
skills/autoresearch-hooks/examples/after/auto-tag-winners.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/autoresearch-hooks/examples/after/learnings-journal.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/autoresearch-hooks/examples/after/macos-notify.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/autoresearch-hooks/examples/before/anti-thrash.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/autoresearch-hooks/examples/before/context-rotation.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/autoresearch-hooks/examples/before/external-search.sh
- Executable scriptline 1
#!/usr/bin/env bash - Network accessline 2
# Infers a query from the agent's natural notes and fetches external material. # Swap the search-cli call for any tool you have: an MCP client, a CLI over # a documentation index, a curl to a search API, a web-search wrapper. - Network accessline 4
# a documentation index, a curl to a search API, a web-search wrapper.
skills/autoresearch-hooks/examples/before/hypothesis-reflection.sh
- Executable scriptline 1
#!/usr/bin/env bash
skills/autoresearch-hooks/examples/before/idea-rotator.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: 20 facts
- Executable script in code of a file that runsautoresearch-finalize/finalize.sh:1High confidence
- Dangerous shell operation in code of a file that runsautoresearch-finalize/finalize.sh:42High confidence
- Dangerous shell operation in code of a file that runsautoresearch-finalize/finalize.sh:408High confidence
- Dangerous shell operation in code of a file that runsautoresearch-finalize/finalize.sh:409High confidence
- Network access in prose of documentationautoresearch-hooks/examples/README.md:19Low confidence
- Network access in prose of documentationautoresearch-hooks/examples/README.md:20Low confidence
- Network access in prose of documentationautoresearch-hooks/examples/README.md:21Low confidence
- Executable script in code of a file that runsautoresearch-hooks/examples/after/auto-tag-winners.sh:1High confidence
- Executable script in code of a file that runsautoresearch-hooks/examples/after/learnings-journal.sh:1High confidence
- Executable script in code of a file that runsautoresearch-hooks/examples/after/macos-notify.sh:1High confidence
- Executable script in code of a file that runsautoresearch-hooks/examples/before/anti-thrash.sh:1High confidence
- Executable script in code of a file that runsautoresearch-hooks/examples/before/context-rotation.sh:1High confidence
- Executable script in code of a file that runsautoresearch-hooks/examples/before/external-search.sh:1High confidence
- Network access in a comment of a file that runsautoresearch-hooks/examples/before/external-search.sh:2Low confidence
- Network access in a comment of a file that runsautoresearch-hooks/examples/before/external-search.sh:4Low confidence
- Executable script in code of a file that runsautoresearch-hooks/examples/before/hypothesis-reflection.sh:1High confidence
- Executable script in code of a file that runsautoresearch-hooks/examples/before/idea-rotator.sh:1High confidence
- Executable script in code of a file that runsautoresearch-hooks/examples/before/qmd-search.sh:1High confidence
- Network access in a comment of a file that runsautoresearch-hooks/examples/before/qmd-search.sh:6Low confidence
- Network access in a comment of a file that runsautoresearch-hooks/examples/before/qmd-search.sh:8Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skills/autoresearch-create/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/autoresearch-create/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/autoresearch-create/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/autoresearch-create/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/autoresearch-create/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/autoresearch-create/SKILL.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/davebcn87-pi-autoresearch/)