Token导航 LogoToken导航

Agent Skill · 研究检索

autoresearch(自动研究)

autoresearch 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

autoresearch 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为只读;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 40,980。

总安装 1,234周安装 53GitHub Stars 64下载 432核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:autoresearch(自动研究)
来源仓库:https://github.com/factory-ai/factory-plugins
仓库路径:skills/autoresearch
安装命令:
npx skills add https://github.com/factory-ai/factory-plugins --skill autoresearch
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/factory-ai/factory-plugins --skill autoresearch

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

autoresearch 自主运行实验循环,持续优化可量化指标直至收敛。维护结构化状态文件以实现会话间无缝恢复,适合长期探索型任务。建议在 mission 模式下启动以获得更好的进度跟踪与控制粒度。每次变更后必须保存中间状态,防止意外中断导致重复劳动或数据丢失。

适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/autoresearch

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/factory-ai/factory-plugins --skill autoresearc…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它标注为只读,先用只读任务试一次,确认行为符合预期再扩大使用范围。

常见问题

6 条

autoresearch 怎么安装?

在终端执行 npx skills add https://github.com/factory-ai/factory-plugins --skill autoresearch。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

autoresearch 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

autoresearch 需要什么权限?

权限级别是只读。该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

autoresearch 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

autoresearch 用的人多吗?

公开数据是累计安装 1,234 次,近一周安装 53 次,下载 432 次,GitHub 64 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

autoresearch 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 标注为只读权限,试用阶段不容易误改本地文件。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。
  • 只想先试试效果、不希望它改动本地文件的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
autoresearch

自动研究 · 本页

1,23464只读未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Autoresearch

Autonomous experiment loop: try ideas, keep what works, discard what doesn't, never stop.

Overview

You are running an autonomous optimization loop. Your job is to systematically improve a measurable metric by making changes, running experiments, and keeping only the improvements. You maintain structured state files so that any session — including a fresh one with no memory — can resume exactly where you left off.

If the user is asking you to do this and you are not currently in mission mode, suggest that they might want to run this inside a mission (/enter-mission) for better progress tracking, milestone validation, and multi-session continuity. Don't block on it — just mention it once during setup.

If you are already in mission mode, invoke the mission planning skills first (mission-planning and define-mission-skills) before diving into this skill's procedure. Use the mission system's planning, decomposition, and worker design to structure the autoresearch work — then combine that guidance with this skill's experiment loop procedure. This skill defines *how* to run experiments; the mission system defines *how to plan, track, and validate* them.

Setup

Before the loop starts, you need to establish the experiment.

Step 1: Gather Information

Ask the user (or infer from context) for:

  • Goal: What are we optimizing? (e.g., "minimize val_bpb", "reduce test runtime", "shrink bundle size")
  • Command: What to run (e.g., uv run train.py, pnpm test, pnpm build && du -sb dist)
  • Primary metric: Name, unit, and direction (e.g., val_bpb, unitless, lower is better)
  • Files in scope: Which files may be modified
  • Constraints: Hard rules (tests must pass, no new deps, etc.)
  • Termination condition: When to stop. Ask the user — options are:

- Fixed experiment count (e.g., 20 experiments) - Fixed time budget (e.g., 2 hours) - Target metric (e.g., val_bpb < 1.0) - Run until interrupted (default)

Step 2: Create Branch and State Files

git checkout autoresearch/<goal>-<date> 2>/dev/null || git checkout -b autoresearch/<goal>-<date>

Read the source files thoroughly. Understand the workload deeply before writing anything.

Create three files:

autoresearch.md

The living research document. A fresh agent with no context should be able to read this file and run the loop effectively. Invest time making it excellent.

# Autoresearch: <goal>

## Objective
<Specific description of what we're optimizing and the workload.>

## Metrics
- **Primary**: <name> (<unit>, lower/higher is better) — the optimization target
- **Secondary**: <name>, <name>, ... — independent tradeoff monitors

## How to Run
`./autoresearch.sh` — outputs `METRIC name=number` lines.

## Files in Scope
<Every file the agent may modify, with a brief note on what it does.>

## Off Limits
<What must NOT be touched.>

## Constraints
<Hard rules: tests must pass, no new deps, etc.>

## Termination
<When to stop: experiment count, time budget, target metric, or run until interrupted.>

## What's Been Tried
<Update this section as experiments accumulate. Note key wins, dead ends,
and architectural insights so the agent doesn't repeat failed approaches.>
autoresearch.sh

Bash script (set -euo pipefail) that: pre-checks fast (syntax errors in <1s), runs the benchmark, and outputs structured METRIC name=value lines to stdout. Keep the script fast.

For fast, noisy benchmarks (< 5s), run the workload multiple times inside the script and report the median. Slow workloads (ML training, large builds) don't need this.

Example:

#!/bin/bash
set -euo pipefail

# Pre-check: syntax validation
python3 -c "import ast; ast.parse(open('train.py').read())" 2>&1 || { echo "SYNTAX ERROR"; exit 1; }

# Run the workload
output=$(uv run train.py 2>&1)

# Extract and output metrics
val_bpb=$(echo "$output" | grep -oP 'val_bpb=\K[0-9.]+' | tail -1)
echo "METRIC val_bpb=$val_bpb"
autoresearch.checks.sh (optional)

Only create this when the user's constraints require correctness validation (e.g., "tests must pass", "types must check"). Bash script (set -euo pipefail) for backpressure checks.

#!/bin/bash
set -euo pipefail
pnpm test --run --reporter=dot 2>&1 | tail -50
pnpm typecheck 2>&1 | grep -i error || true

Step 3: Initialize JSONL and Commit State Files

Initialize the experiment log:

python3 autoresearch_helper.py init --jsonl autoresearch.jsonl --name '<goal>' --metric-name '<metric_name>' --direction <lower|higher>

Commit all state files:

git add autoresearch.md autoresearch.sh autoresearch.jsonl
git commit -m "autoresearch: initialize experiment session"

Step 4: Run Baseline

Run the benchmark and record the baseline result:

bash autoresearch.sh

Parse the METRIC lines from the output, then log the baseline as a keep:

python3 autoresearch_helper.py log --jsonl autoresearch.jsonl \
  --commit $(git rev-parse --short=7 HEAD) \
  --metric <baseline_value> \
  --status keep \
  --description "baseline" \
  --asi '{"hypothesis": "baseline measurement"}'

This is experiment #1 — it establishes the starting point for all future comparisons.

The Experiment Loop

LOOP FOREVER. Never ask "should I continue?" — the user expects autonomous work. Only stop when:

  • The termination condition from setup is met
  • The user interrupts
  • You detect you're running low on context (see Context Management below)

For Each Experiment:

1. Choose What to Try

Read autoresearch.md (especially "What's Been Tried") and autoresearch.ideas.md (if it exists) to pick the next hypothesis. Think about what the data tells you. The best ideas come from deep understanding, not random variations.

2. Make Changes

Edit the files in scope. Keep changes focused — one hypothesis per experiment.

3. Run the Experiment

Execute the benchmark:

timeout 600 bash autoresearch.sh

Capture the full output. Parse METRIC name=value lines from the output.

If the run crashes or times out, log it as a crash and revert.

If autoresearch.checks.sh exists and the benchmark passed, run it:

timeout 300 bash autoresearch.checks.sh

If checks fail, log as checks_failed and revert.

4. Evaluate Results

Compare the primary metric against the current best (or baseline if no keeps yet) using the helper script:

python3 autoresearch_helper.py evaluate --jsonl autoresearch.jsonl --metric <value> --direction <lower|higher>

This outputs whether to keep or discard, the confidence score, and delta from baseline.

Decision rules:

  • Primary metric improved -> keep
  • Primary metric worse or unchanged -> discard
  • Simpler code for equal performance -> keep (removing code for same perf is a win)
  • Ugly complexity for tiny gain -> probably discard
  • Secondary metrics rarely affect the keep/discard decision. Only discard a primary improvement if a secondary metric degraded catastrophically.
5. Record Results

On keep:

Log to JSONL first (so the entry is included in the commit):

python3 autoresearch_helper.py log --jsonl autoresearch.jsonl \
  --commit $(git rev-parse --short=7 HEAD) \
  --metric <value> \
  --status keep \
  --description "<what was tried>" \
  --asi '{"hypothesis": "<what you tried>"}' \
  # --metrics '{"compile_us": <value>, "render_us": <value>}'  # optional secondary metrics
  --direction <lower|higher>

Then commit all changes (including the JSONL entry):

git add -A
git commit -m "<description>

Result: {\"status\": \"keep\", \"<metric_name>\": <value>}"

On discard/crash/checks_failed:

Log to JSONL first (before reverting, so the entry is preserved):

python3 autoresearch_helper.py log --jsonl autoresearch.jsonl \
  --commit "0000000" \
  --metric <value_or_0> \
  --status <discard|crash|checks_failed> \
  --description "<what was tried>" \
  --asi '{"hypothesis": "<what you tried>", "rollback_reason": "<why it failed>"}' \
  # --metrics '{"compile_us": <value>, "render_us": <value>}'  # optional secondary metrics
  --direction <lower|higher>

Then revert changes, backing up state files so git clean -fd doesn't destroy them:

# Backup state files
cp autoresearch.jsonl autoresearch.jsonl.bak 2>/dev/null || true
cp autoresearch.md autoresearch.md.bak 2>/dev/null || true
cp autoresearch.ideas.md autoresearch.ideas.md.bak 2>/dev/null || true

# Revert all changes
git checkout -- .
git clean -fd 2>/dev/null

# Restore state files
cp autoresearch.jsonl.bak autoresearch.jsonl 2>/dev/null || true
cp autoresearch.md.bak autoresearch.md 2>/dev/null || true
cp autoresearch.ideas.md.bak autoresearch.ideas.md 2>/dev/null || true
rm -f autoresearch.jsonl.bak autoresearch.md.bak autoresearch.ideas.md.bak
6. Update Research Journal

After every few experiments (or after significant findings), update the "What's Been Tried" section in autoresearch.md. Include:

  • What worked and why
  • What didn't work and why
  • Dead ends to avoid
  • Current best result and how it was achieved
7. Maintain Ideas Backlog

When you discover promising but deferred optimizations, append them as bullet points to autoresearch.ideas.md. Don't let good ideas get lost. Prune stale or tried entries.

8. Loop

Go back to step 1.

State Files Reference

FileFormatPurpose
autoresearch.jsonlJSON LinesAppend-only experiment log. One JSON object per line.
autoresearch.mdMarkdownLiving research document. Objective, what's been tried, current best.
autoresearch.ideas.mdMarkdownHypothesis backlog. Bullet points of promising ideas to try.
autoresearch.shBashBenchmark script. Outputs METRIC name=value lines.
autoresearch.checks.shBashOptional correctness checks (tests, types, lint).

JSONL Schema

Each line in autoresearch.jsonl is either a config header or an experiment result:

Config header (first line, or on re-init):

{"type": "config", "name": "...", "metricName": "...", "metricUnit": "...", "bestDirection": "lower|higher"}

Experiment result:

{
  "run": 1,
  "commit": "abc1234",
  "metric": 1.234,
  "metrics": {"compile_us": 4200, "render_us": 9800},
  "status": "keep|discard|crash|checks_failed",
  "description": "what was tried",
  "timestamp": 1711600000000,
  "segment": 0,
  "confidence": 2.1,
  "asi": {"hypothesis": "...", "rollback_reason": "...", "next_action_hint": "..."}
}

ASI (Actionable Side Information)

Always record ASI with every experiment. At minimum: {"hypothesis": "what you tried"}. On discard/crash, also include rollback_reason and next_action_hint. Add any other key/value pairs that capture what you learned — dead ends, surprising findings, error details, bottlenecks.

ASI is the only structured memory that survives reverts. Without it, future iterations waste time re-discovering the same dead ends.

Confidence Scoring

After 3+ experiments, the helper script computes a confidence score using Median Absolute Deviation (MAD):

ConfidenceMeaning
>= 2.0xImprovement is likely real
1.0-2.0xAbove noise but marginal
< 1.0xWithin noise — consider re-running to confirm

The score is advisory — it never auto-discards. If confidence is below 1.0x, consider re-running the same experiment to confirm before keeping.

Context Management

Droid sessions have finite context. To handle this gracefully:

  1. Track experiment count in the current session. After ~15 experiments, context is getting heavy.
  2. Save state proactively — all state lives in files (jsonl, md), so a new session can resume immediately.
  3. When context is getting exhausted: update autoresearch.md with current findings, commit state files, and stop. The next session reads the files and continues.
  4. On resume: read autoresearch.md, autoresearch.jsonl, and git log --oneline -20 to understand where things stand. Check current status:
python3 autoresearch_helper.py status --jsonl autoresearch.jsonl

Loop Rules Summary

  • LOOP FOREVER. Never ask "should I continue?"
  • Primary metric is king. Improved -> keep. Worse/equal -> discard.
  • Annotate every run with ASI. Record what you learned, not just what you did.
  • Watch the confidence score. < 1.0x means within noise — re-run to confirm.
  • Simpler is better. Removing code for equal perf = keep.
  • Don't thrash. Repeatedly reverting the same idea? Try something structurally different.
  • Crashes: fix if trivial, otherwise log and move on.
  • Think longer when stuck. Re-read source files, study the data, reason about what's actually happening. The best ideas come from deep understanding.
  • Resuming: read autoresearch.md + git log, continue looping.

Finalization

When the experiment loop ends (termination condition met, user interrupts, or context exhausted), finalize the results into clean, reviewable branches. This is the last phase of an autoresearch session.

Step 1: Summarize Results

python3 autoresearch_helper.py summary --jsonl autoresearch.jsonl

Review the git log for actual commits:

git log --oneline --stat $(git merge-base HEAD main)..HEAD

Step 2: Group Changes

Group kept experiments into logical changesets. Each group should:

  • Represent a single coherent optimization or change
  • Not share modified files with other groups (so branches can merge independently)
  • Have a clear description of what it achieves and the metric improvement

Present the proposed grouping to the user for approval:

Group 1: "Reduce model depth from 8 to 6"
  Files: train.py (DEPTH, HEAD_DIM, N_EMBED)
  Metric improvement: val_bpb 1.15 -> 1.08 (-6.1%)
  Experiments: #3, #7, #12

Group 2: "Switch to cosine LR schedule"
  Files: train.py (lr_schedule, warmup_steps)
  Metric improvement: val_bpb 1.08 -> 1.05 (-2.8%)
  Experiments: #15, #18

Wait for user confirmation before proceeding. In mission worker mode, proceed with the best grouping without waiting for confirmation.

Step 3: Resolve File Conflicts

If groups share files, resolve before creating branches:

  • Merge the groups into one (if changes are related)
  • Split the file changes more carefully (if they're truly independent modifications to different parts)
  • Ask the user which group gets priority

Groups must not share files — each branch must be independently mergeable. If all changes touch the same file and can't be separated, create a single finalized branch with all improvements combined.

Step 4: Create Clean Branches

For each group:

merge_base=$(git merge-base HEAD main)
git checkout -b autoresearch/finalize/<group-name> $merge_base
git checkout autoresearch/<session-branch> -- <file1> <file2> ...
git commit -m "<group description>

Autoresearch results:
- Metric: <name> improved from <baseline> to <best> (<delta>%)
- Confidence: <score>x noise floor
- Experiments: <count> total, <kept> kept"

Step 5: Verify and Report

For each finalized branch, run the benchmark to confirm the improvement holds, run any checks if applicable, and verify it merges cleanly with main.

Present a summary to the user:

Created 2 clean branches from 20 experiments:

  autoresearch/finalize/reduce-depth
    val_bpb: 1.15 -> 1.08 (-6.1%)
    Ready for review

  autoresearch/finalize/cosine-schedule
    val_bpb: 1.08 -> 1.05 (-2.8%)
    Ready for review

Original experiment branch preserved: autoresearch/<session-branch>

The original experiment branch is always preserved — finalization creates new branches.

Mission Worker Mode

When running as a mission worker, the feature description specifies the optimization goal, termination condition, files in scope, and constraints. Read it carefully, follow the same loop procedure above, and respect the termination condition. When the condition is met, run finalization and report results in the handoff.

平台分布

Codex

38.66%
按下载量换算167

Claude

29.83%
按下载量换算129

Cursor

18.45%
按下载量换算80

Gemini CLI

9.87%
按下载量换算43

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills