agentleFS
PKU-DAIRPKU-DAIR/AutoSci/.claude/skills/research/SKILL.md

research

Skill1.7k starsChanged 34 days agoMITView on GitHub

End-to-end research orchestrator — idea discovery → experiment design → execution → verdict → paper writing, with human gates and session-resumable state

We split this skill into the rules it gives an agent

44 rules. 0 are common, 32 are distinctive, and 12 are very specific to this project.

  • 0

    Common

    Most of the 161 edited versions we read keep these.

  • 32

    Distinctive

    This author's own choices. Worth a look.

  • 12

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    All other wiki entity writes are delegated to sub-skills (do not directly write to ideas/experiments/methods/)

    line 55
  2. Very specific:

    If --start-from is specified, read wiki/outputs/pipeline-progress.md to restore state

    line 64
  3. Very specific:

    If file path: read RESEARCH_BRIEF.md, extract direction, domain, constraints, target_venue

    line 69
  4. Distinctive:

    If text: use as direction.

    line 70
  5. Very specific:

    If wiki/outputs/pipeline-progress.md exists and status == running:

    line 74
  6. Distinctive:

    Read direction, current_stage, started, slug

    line 75
  7. Distinctive:

    Use AskUserQuestion to prompt the user:

    line 76
  8. Very specific:

    If --auto or user selects [1]: auto-set --start-from {current_stage}, continue execution

    line 87
  9. Distinctive:

    If user selects [2]: continue creating new pipeline (overwrite old progress file)

    line 88
  10. Very specific:

    If user selects [3]: call /exp-status --pipeline {slug} then exit without continuing

    line 89
  11. Distinctive:

    Read progress file, restore idea_slug, experiment_slugs, stage3a_deployed, linked_idea_slugs, monitoring_cron_id

    line 93
  12. Distinctive:

    If progress file does not exist: report error and exit.

    line 95
  13. Very specific:

    Trigger condition: run python3 tools/research_wiki.py maturity wiki/ --json.

    line 143
  14. Distinctive:

    If DeepXiv is unavailable: skip.

    line 154
  15. Distinctive:

    Read the generated ideas and sort them according to the pilot experiment results and priority.

    line 204
  16. Distinctive:

    Update pipeline-progress: Stage 1 → completed, record generated idea slugs

    line 205
  17. Distinctive:

    Use AskUserQuestion to prompt user to select one idea (or enter "stop" to halt)

    line 216
  18. Distinctive:

    If user selects stop: save progress, terminate pipeline

    line 217
  19. Distinctive:

    Update pipeline-progress: Gate 1 → passed, record idea_slug

    line 220
  20. Distinctive:

    Update selected idea status: proposed → in_progress

    line 221
  21. Very specific:

    Read generated experiment slugs (pages in wiki/experiments/ where linked_idea == idea_slug,and retrieve the detailed specs of the …

    line 233
  22. Distinctive:

    Update pipeline-progress: Stage 2 → completed, record experiment_slugs

    line 234
  23. Distinctive:

    If deploy fails: record to pipeline-progress with a warning (baseline deploy failure gets a stronger warning), but continue deploying …

    line 253
  24. Distinctive:

    After all experiments are deployed, compute ETA, save progress, and end the current session.

    line 271
  25. Distinctive:

    If outcome == failed and this is the baseline experiment → terminate pipeline, report baseline cannot be reproduced

    line 319
  26. Distinctive:

    If outcome == failed and this is a validation experiment → record failure, continue collecting remaining experiments, proceed to Stage 4 …

    line 320
  27. Distinctive:

    If outcome == inconclusive → record and continue

    line 321
  28. Distinctive:

    Update pipeline-progress: Stage 3 → completed

    line 324
  29. Distinctive:

    Update the status of linked idea: in_progress -> tested

    line 335
  30. Very specific:

    Call /exp-eval for each completed experiment:

    line 341
  31. Distinctive:

    Read the latest status of the primary linked idea (and any supporting ideas)

    line 349
  32. Very specific:

    Call /refine for the corresponding experimental blocks that need improvement to optimize the experiment plan:

    line 356
  33. Distinctive:

    Update pipeline-progress: Stage 4 → completed, record linked_idea_slugs

    line 365
  34. Distinctive:

    Use AskUserQuestion to prompt user: ready for paper / need more experiments / stop here

    line 379
  35. Distinctive:

    If "need more experiments": return to Stage 2 for replanning

    line 380
  36. Distinctive:

    If "stop here": save progress, generate final report (without paper)

    line 381
  37. Distinctive:

    Update pipeline-progress: Gate 2 → passed

    line 384
  38. Distinctive:

    Call sub-skills in sequence: /paper-plan → /paper-draft → /refine → /paper-compile

    line 388
  39. Distinctive:

    Update pipeline-progress: Stage 5 → completed, status: completed

    line 416
  40. Distinctive:

    Update pipeline-progress: status: completed

    line 487
  41. Distinctive:

    Gates and Stages must save progress: every Gate and Stage must save pipeline-progress.md when completed or entering await

    line 492
  42. Distinctive:

    Stage 3b ends the session: after Stage 3b completes, the current session ends.

    line 495
  43. Very specific:

    Auto-recovery first: if no --start-from is given and an unfinished pipeline exists, default to prompting the user to resume rather than …

    line 503
  44. Very specific:

    User selects view status (auto-recovery detection [3]): call /exp-status --pipeline {slug} then exit without starting a new pipeline

    line 518

“Common” is measured: kept by at least 6 in 10 of the 161 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/research

End-to-end research orchestrator that composes all skills into a complete research workflow. Stage 0 (Bootstrap) + 5 Stages + 2 Human Gates, covering the full pipeline from empty wiki to paper submission. Zero-friction entry: if the wiki is empty, Bootstrap is triggered automatically (search + auto-ingest 5 papers); no need to run /init manually. Every Gate and Stage saves progress to wiki/outputs/pipeline-progress.md, supporting cross-session recovery.

Stage 3 is non-blocking: experiments are deployed and control returns immediately (--auto mode automatically sets up a CronCreate to monitor every 30 minutes). When all experiments finish, Stage 4 is triggered automatically. Use /exp-status at any time to check progress.

--auto mode skips manual confirmation (automatically selects the top-1 idea). --skip-paper runs the research without writing a paper.

Inputs

  • direction: research direction description or path to a RESEARCH_BRIEF.md file
    • Text form: one-sentence description of the research direction (e.g. "sparse LoRA for edge devices")
    • File form: structured RESEARCH_BRIEF.md (containing domain, constraints, target venues)
  • --auto (optional): fully automatic mode; Gate 1 auto-selects top-1 idea, Gate 2 auto-continues, Stage 3b auto-creates CronCreate
  • --start-from <stage> (optional): resume execution from the specified stage
    • Valid values: stage1, stage2, stage3, stage3-collect, stage3-check, stage4, stage5
    • stage3-collect: skip deploy, go directly to Stage 3c (collect results from already-deployed experiments)
    • stage3-check: check experiment status only (equivalent to /exp-status --pipeline {slug}), do not continue execution
    • Requires wiki/outputs/pipeline-progress.md to exist
  • --skip-paper (optional): run research only (Stages 1-4), skip paper writing (Stage 5), but still run /exp-eval (Stage 4)
  • --venue (optional): target conference (ICLR / NeurIPS / ICML / ACL / CVPR), passed to /paper-plan

Outputs

  • Wiki updates (delegated to sub-skills): ideas/, experiments/, methods/, outputs/, graph/
  • wiki/outputs/pipeline-progress.md — pipeline progress snapshot (for recovery)
  • wiki/outputs/PIPELINE_REPORT.md — full pipeline report
  • paper/ directory (if not --skip-paper) — submittable paper
  • wiki/log.md — log appended after each stage

Wiki Interaction

Reads

  • wiki/graph/context_brief.md — global context (passed to sub-skills)
  • wiki/graph/open_questions.md — knowledge gaps (passed to /ideate)
  • wiki/ideas/*.md — Gate 1 selection, Stage 4 verdict, Stage 5 paper planning
  • wiki/experiments/*.md — Stage 3-4 status checks
  • wiki/methods/*.md — Stage 5 paper writing context
  • wiki/outputs/pipeline-progress.md — --start-from state recovery
  • wiki/papers/*.md — Stage 5 paper writing context

Writes

  • wiki/outputs/pipeline-progress.md — save progress at each Gate (wiki entity writes are delegated to sub-skills)
  • wiki/outputs/PIPELINE_REPORT.md — final report
  • wiki/log.md — append log entries
  • All other wiki entity writes are delegated to sub-skills (do not directly write to ideas/experiments/methods/)

Graph edges created

  • None directly — all graph edges are delegated to sub-skills (/ideate, /exp-design, /exp-eval each create their own edges)

Workflow

Precondition:

  1. Confirm working directory is the wiki project root (containing wiki/, raw/, tools/)
  2. If --start-from is specified, read wiki/outputs/pipeline-progress.md to restore state

Step 0: Initialize

  1. Parse input:
    • If file path: read RESEARCH_BRIEF.md, extract direction, domain, constraints, target_venue
    • If text: use as direction; leave domain/constraints blank
    • Generate slug: python3 tools/research_wiki.py slug "{direction}"
  2. Auto-recovery detection (when --start-from is not specified):
    • If wiki/outputs/pipeline-progress.md exists and status == running:
      • Read direction, current_stage, started, slug
      • Use AskUserQuestion to prompt the user:
        Unfinished pipeline detected:
        Direction: {direction}
        Current stage: {current_stage}
        Started: {started}
        
        [1] Resume from {current_stage} (recommended)
        [2] Start a new pipeline (will overwrite old progress)
        [3] View experiment status first (/exp-status --pipeline {slug})
      • If --auto or user selects [1]: auto-set --start-from {current_stage}, continue execution
      • If user selects [2]: continue creating new pipeline (overwrite old progress file)
      • If user selects [3]: call /exp-status --pipeline {slug} then exit without continuing
  3. Check recovery (when --start-from is specified):
    • If wiki/outputs/pipeline-progress.md exists:
      • Read progress file, restore idea_slug, experiment_slugs, stage3a_deployed, linked_idea_slugs, monitoring_cron_id
      • Jump to specified stage
    • If progress file does not exist: report error and exit; prompt user to run the full pipeline first
    • --start-from stage3-check: equivalent to calling /exp-status --pipeline {slug}; display status then exit
    • --start-from stage3-collect: skip Stage 3a+3b; go directly to Stage 3c (collect already-deployed experiments)
  4. Create progress file wiki/outputs/pipeline-progress.md:
    ---
    slug: "{pipeline-slug}"
    direction: "{research direction}"
    status: running
    current_stage: stage1
    started: YYYY-MM-DD
    mode: auto|interactive
    skip_paper: true|false
    venue: "{venue}"
    idea_slug: ""
    experiment_slugs: []
    stage3a_deployed: []
    linked_idea_slugs: []
    iteration_count: 0
    ---
    ## Stage Log
    - Stage 0 (Bootstrap): skipped
    - Stage 1: pending
    - Gate 1: pending
    - Stage 2: pending
    - Stage 3a (Deploy): pending
    - Stage 3b (Await): pending
    - Stage 3c (Collect): pending
    - Stage 4: pending
    - Gate 2: pending
    - Stage 5: pending
  5. Append log:
    python3 tools/research_wiki.py log wiki/ \
      "research | started | direction: {direction} | mode: {auto|interactive}"
  6. Snapshot wiki state (for Growth Report in Step Final):
    python3 tools/research_wiki.py maturity wiki/ --json
    Save returned JSON to memory variable maturity_before.

Stage 0: Bootstrap (triggered automatically when wiki is empty)

Trigger condition: run python3 tools/research_wiki.py maturity wiki/ --json. If level == "cold" and papers < 3: enter Bootstrap automatically. Otherwise skip and proceed to Stage 1.

  1. Initialize wiki structure (if not yet initialized):
    python3 tools/research_wiki.py init wiki/
  2. Search for relevant papers (use Agent tool with 3 parallel searches):
    • DeepXiv: python3 tools/fetch_deepxiv.py search "{direction}" --mode hybrid --limit 20
    • Semantic Scholar: python3 tools/fetch_s2.py search "{direction}" --limit 20
    • arXiv: python3 tools/fetch_arxiv.py (using direction keywords)
    • If DeepXiv is unavailable: skip; use only S2 + arXiv
  3. Merge, rank, and select top 5:
    • Deduplicate by arxiv_id
    • Ranking priority: DeepXiv relevance score > S2 citation count > recency
    • Select top 5 (5 = minimum threshold for cold→warm)
  4. Auto-ingest each paper:
    Skill: ingest
    Args: "{arxiv_url_or_path}"
    Output progress after each ingest: [{i}/5] Ingested: {paper_title}
  5. Rebuild derived data:
    python3 tools/research_wiki.py rebuild-context-brief wiki/
    python3 tools/research_wiki.py rebuild-open-questions wiki/
  6. Bootstrap report:
    python3 tools/research_wiki.py maturity wiki/ --json
    Output to terminal:
    Bootstrap complete:
    Papers: {N} | Concepts: {K} | Methods: {Mt} | Edges: {E}
    Maturity: cold → {new_level}
    Proceeding to Stage 1: Idea Discovery...
  7. Log + update progress:
    python3 tools/research_wiki.py log wiki/ \
      "research | stage0-bootstrap | auto-ingested {N} papers | maturity: {level}"
    python3 tools/research_wiki.py set-meta \
      wiki/outputs/pipeline-progress.md current_stage stage1

Stage 1: Idea Discovery

Call /ideate:

Skill: ideate
Args: "{direction}" --auto

After completion:

  1. Read the generated ideas and sort them according to the pilot experiment results and priority.
  2. Update pipeline-progress: Stage 1 → completed, record generated idea slugs
  3. Append log

Gate 1: Select Idea

If --auto mode:

  • Automatically select the highest-priority (top-1) idea
  • Output selection result to terminal without waiting for confirmation

If interactive mode:

  • List all generated ideas (slug, title, priority, novelty score,pilot result)
  • Use AskUserQuestion to prompt user to select one idea (or enter "stop" to halt)
  • If user selects stop: save progress, terminate pipeline

Save progress:

  • Update pipeline-progress: Gate 1 → passed, record idea_slug
  • Update selected idea status: proposed → in_progress

Stage 2: Experiment Design

Call /exp-design:

Skill: exp-design
Args: "{idea_slug}"

After completion:

  1. Read generated experiment slugs (pages in wiki/experiments/ where linked_idea == idea_slug,and retrieve the detailed specs of the experiment block from experiments/designs/{slug}-master.md based on the exp-slug)
  2. Update pipeline-progress: Stage 2 → completed, record experiment_slugs

Stage 3: Experiment Execution (non-blocking)

Stage 3 is divided into three sub-stages, allowing experiments to run asynchronously in the background without blocking the session.

Stage 3a: Deploy All

Deploy each experiment in run order (baseline → validation → ablation → robustness) by calling /exp-run {experiment_slug} (default deploy mode, Phase 1+2):

Skill: exp-run
Args: "{experiment_slug}"

(Default deploy mode, Phase 1+2: returns immediately after deployment, does not wait for experiment to finish)

After each deployment:

  • Record deployment result (success/failure) in memory
  • If deploy fails: record to pipeline-progress with a warning (baseline deploy failure gets a stronger warning), but continue deploying remaining experiments (do not abort)

After all deployments complete, update pipeline-progress.md:

python3 tools/research_wiki.py set-meta \
  wiki/outputs/pipeline-progress.md current_stage stage3-await
python3 tools/research_wiki.py set-meta \
  wiki/outputs/pipeline-progress.md stage3a_deployed \
  "[{experiment_slug_1}, {experiment_slug_2}, ...]"

Append log:

python3 tools/research_wiki.py log wiki/ \
  "research | stage3a | deployed {N} experiments | pipeline: {slug}"

Stage 3b: Await (non-blocking)

After all experiments are deployed, compute ETA, save progress, and end the current session.

  1. Update pipeline-progress:
    python3 tools/research_wiki.py set-meta \
      wiki/outputs/pipeline-progress.md current_stage stage3-await
  2. Compute estimated completion time for each experiment: For each deployed experiment, read started and estimated_hours from frontmatter:
    • eta = started + estimated_hours
    • recommended_return = max(all etas) + 30-minute buffer, rounded up to nearest hour or half-hour
  3. Append log:
    python3 tools/research_wiki.py log wiki/ \
      "research | stage3b | awaiting {N} experiments | latest eta: {YYYY-MM-DD HH:MM} | pipeline: {slug}"
  4. Output instructions then end current session:
    Stage 3a complete: {N} experiments all deployed:
    
    Experiment                      Environment     Est. Duration   Est. Completion
    ──────────────────────────────  ──────────────  ─────────────   ───────────────
    exp-foo-baseline                local           ~8h             Tomorrow 09:30
    exp-foo-validation              remote (gpu1)   ~6h             Today 23:00
    exp-foo-ablation                local           ~4h             Today 21:00
    
    Latest completion: Tomorrow 09:30 (exp-foo-baseline)
    Recommended time to return: Tomorrow 10:00+
    
      /exp-status                              ← confirm all experiments complete
      /research --start-from stage3-collect    ← collect results and continue
    
    Progress saved to wiki/outputs/pipeline-progress.md; current session can be closed.

Stage 3c: Collect (triggered after experiments complete)

Trigger: user manually runs /research --start-from stage3-collect

For each deployed experiment (read from stage3a_deployed list):

Skill: exp-run
Args: "{experiment_slug} --collect"

(Collect mode, Phase 3+4: check completion status and collect results)

Decision after each collect:

  • If outcome == failed and this is the baseline experiment → terminate pipeline, report baseline cannot be reproduced
  • If outcome == failed and this is a validation experiment → record failure, continue collecting remaining experiments, proceed to Stage 4 evaluation
  • If outcome == inconclusive → record and continue

After all collects complete:

  • Update pipeline-progress: Stage 3 → completed
    python3 tools/research_wiki.py set-meta \
      wiki/outputs/pipeline-progress.md current_stage stage4
  • Append log:
    python3 tools/research_wiki.py log wiki/ \
      "research | stage3c | collected {N} experiments | pipeline: {slug}"
  • Update the status of linked idea: in_progress -> tested
  • Proceed to Stage 4

Stage 4: Verdict & Iteration

Call /exp-eval for each completed experiment:

Skill: exp-eval
Args: "{experiment_slug}" --auto

Evaluate whether the linked idea is sufficient:

  1. Read the latest status of the primary linked idea (and any supporting ideas)
  2. Determine whether iteration is needed:
    • Sufficient (primary linked idea has been transitioned to validated, OR ≥1 supporting experiment has outcome=succeeded) → proceed to Gate 2
    • Insufficient (idea remains proposedorin_progressortested and all linked experiments are failed/inconclusive, or idea is failed) → enter iteration

Iteration path (when insufficient, up to 1 retry):

  1. Analyze the cause of failure
  2. Call /refine for the corresponding experimental blocks that need improvement to optimize the experiment plan:
    Skill: refine
    Args: "{experiment_plan_slug}" --max-rounds 2 --focus evidence
  3. Re-run Stage 3 → Stage 4 for new/modified experiments
  4. Maximum 2 iterations (prevents infinite loops); each stage has at most 1 auto-retry

After completion:

  • Update pipeline-progress: Stage 4 → completed, record linked_idea_slugs

Gate 2: Confirm Paper Ready

If --skip-paper: skip Gate 2 and Stage 5, generate final report directly

If --auto mode: automatically continue, enter Stage 5

If interactive mode:

  • Display idea status summary:
    Idea: {slug} | Status: {status} | Novelty: {novelty_score}
    Linked experiments: {count} ({succeeded}/{inconclusive}/{failed})
  • Use AskUserQuestion to prompt user: ready for paper / need more experiments / stop here
  • If "need more experiments": return to Stage 2 for replanning
  • If "stop here": save progress, generate final report (without paper)

Save progress:

  • Update pipeline-progress: Gate 2 → passed

Stage 5: Paper Writing

Call sub-skills in sequence: /paper-plan → /paper-draft → /refine → /paper-compile

5a. Call /paper-plan:

Skill: paper-plan
Args: "{linked_idea_slugs}" --venue {venue}

(passes the validated idea slug(s) collected in Stage 4 to /paper-plan)

5b. Call /paper-draft:

Skill: paper-draft
Args: "wiki/outputs/PAPER_PLAN.md" --review

5c. Call /refine on paper:

Skill: refine
Args: "paper/main.tex" --max-rounds 3 --target-score 8 --focus writing

5d. Call /paper-compile:

Skill: paper-compile
Args: "paper/"

After completion:

  • Update pipeline-progress: Stage 5 → completed, status: completed

Step Final: Pipeline Report

Generate wiki/outputs/PIPELINE_REPORT.md:

# Research Pipeline Report

## Stage Summary
| Stage | Status | Duration |
|-------|--------|----------|
| Stage 0: Bootstrap | completed/skipped | ... |
| Stage 1: Idea Discovery | completed | ... |
| Gate 1: Idea Selection | passed | ... |
| Stage 2: Experiment Design | completed | ... |
| Stage 3a: Deploy Experiments | completed | ... |
| Stage 3b: Await (async) | completed | ... |
| Stage 3c: Collect Results | completed | ... |
| Stage 4: Verdict | completed | ... |
| Gate 2: Paper Ready | passed | ... |
| Stage 5: Paper Writing | completed | ... |

## Selected Idea
- **Idea**: [[{idea_slug}]] — {idea title}
- **Priority**: {N}
- **Novelty score**: {score}

## Idea Trail
| Idea | Initial Status | Final Status | Novelty (start → end) |
|------|----------------|--------------|------------------------|
| [[{slug}]] | proposed | validated | 3 → 4 |

## Experiment Results
| Experiment | Outcome | Key Result |
|-----------|---------|------------|
| [[{slug}]] | succeeded | {result} |

## Iteration History
- Total iterations: {N}
- Reason for iteration: {idea evidence insufficient / ...}

## Deliverables
- Ideas: +{N} created, {N} validated
- Experiments: +{N} created, {N} completed
- Methods: +{N} created/updated
- Graph edges: +{N}
- Paper: paper/main.pdf (if applicable)

## Wiki Growth (pipeline total)
| Metric | Before | After | Delta |
|--------|--------|-------|-------|
| Papers | {N} | {N} | +{N} |
| Methods | {N} | {N} | +{N} |
| Ideas | {N} | {N} | +{N} |
| Experiments | {N} | {N} | +{N} |
| Edges | {N} | {N} | +{N} |
| Maturity | {level} | {level} | {status} |
| Coverage | {%} | {%} | +{%} |
(Data from comparing `maturity_before` from Step 0 against a fresh call to `maturity --json` here. Only rows with delta != 0 are shown.)

## Next Steps
- {recommendations based on remaining gaps or unresolved issues}

Append log:

python3 tools/research_wiki.py log wiki/ \
  "research | completed | idea: {slug} | linked ideas: {N} updated | paper: {yes/no}"

Update pipeline-progress: status: completed

Constraints

  • Orchestrator does not directly modify wiki entities or embed sub-skill logic: all wiki modifications are delegated to sub-skills; the pipeline only coordinates by calling them via the Skill tool
  • Gates and Stages must save progress: every Gate and Stage must save pipeline-progress.md when completed or entering await
  • Stage 3a deploy failures do not abort: record a warning and continue deploying; do not terminate early (baseline collect failure is what triggers termination)
  • Baseline collect failure terminates: in Stage 3c, if baseline outcome == failed, terminate the pipeline
  • Stage 3b ends the session: after Stage 3b completes, the current session ends; do not continue waiting for experiments
  • Maximum 2 iterations: Stage 4 iterates at most 2 times to prevent infinite loops
  • --auto does not skip computation: auto mode skips human confirmation but skips no computation steps
  • --skip-paper still runs Stage 4 /exp-eval: idea/experiment updates must be completed even when not writing a paper
  • Pass sub-skill parameters through: correctly pass domain, --venue, and other parameters to sub-skills
  • Log every Stage: append a log.md audit entry after each Stage completes
  • Do not re-run completed stages: --start-from skips already-completed stages
  • Progress file at wiki/outputs/pipeline-progress.md: consistent location for easy discovery and recovery
  • Auto-recovery first: if no --start-from is given and an unfinished pipeline exists, default to prompting the user to resume rather than starting fresh

Error Handling

  • pipeline-progress missing but --start-from specified: report error; prompt user to run the full pipeline first
  • pipeline-progress corrupted or malformed: attempt to infer progress from current wiki state (read ideas/experiments statuses), recover to the nearest Gate
  • Sub-skill call fails: record error to pipeline-progress, report the failed stage, suggest --start-from to resume
  • All ideas generation fails: terminate pipeline; suggest the user adjust the research direction
  • All experiment deploys fail: terminate pipeline (Stage 3a); generate failure report; suggest checking GPU/SSH configuration
  • Stage 3c baseline collect fails: terminate pipeline; report baseline cannot be reproduced; suggest re-running /exp-design
  • All experiment collects fail (non-baseline): proceed to Stage 4 evaluation (treat failures as evidence)
  • Gate user selects stop: save progress to pipeline-progress; generate partial report
  • RESEARCH_BRIEF.md malformed: fall back to plain-text direction; ignore structured fields
  • Wiki empty (no papers/concepts): auto-trigger Stage 0 Bootstrap (search + auto-ingest 5 papers)
  • Idea evidence still insufficient after iteration: annotate report with "idea evidence insufficient after max iterations"; let user decide whether to continue
  • User selects view status (auto-recovery detection [3]): call /exp-status --pipeline {slug} then exit without starting a new pipeline

Dependencies

Skills(via Skill tool)

  • /ingest — Stage 0 Bootstrap auto-ingest
  • /ideate — Stage 1 idea discovery
  • /exp-design — Stage 2 experiment design
  • /exp-run — Stage 3a (deploy mode) and Stage 3c (--collect mode)
  • /exp-status — user manually checks experiment progress; --auto-advance can automatically trigger Stage 4 when all complete
  • /exp-eval — Stage 4 verdict
  • /refine — Stage 4 iteration + Stage 5 paper improvement
  • /paper-plan — Stage 5 paper planning
  • /paper-draft — Stage 5 paper writing
  • /paper-compile — Stage 5 paper compilation

Tools(via Bash)

  • python3 tools/research_wiki.py slug "{title}" — generate pipeline slug
  • python3 tools/research_wiki.py set-meta <path> <field> <value> — update pipeline-progress fields
  • python3 tools/research_wiki.py log wiki/ "<message>" — append log entry
  • python3 tools/research_wiki.py maturity wiki/ --json — check wiki maturity (Stage 0 trigger + Growth Report)
  • python3 tools/research_wiki.py init wiki/ — initialize wiki structure (Stage 0)
  • python3 tools/fetch_deepxiv.py search "{query}" --mode hybrid --limit 20 — DeepXiv semantic search (Stage 0)
  • python3 tools/fetch_s2.py search "{query}" --limit 20 — Semantic Scholar search (Stage 0)
  • python3 tools/fetch_arxiv.py — arXiv RSS search (Stage 0)

MCP Servers

  • None directly — all Review LLM interactions are used indirectly via sub-skills

Claude Code Native

  • Read — read pipeline-progress, wiki pages, RESEARCH_BRIEF
  • Write — write pipeline-progress, PIPELINE_REPORT
  • Glob — find experiments, ideas, methods
  • Skill — call sub-skills (core capability)
  • AskUserQuestion — user interaction at Gates and auto-recovery detection

Download now (ZIP)

Trending

More talk lately.thin dataabout the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 0 mentionsMar 2026: 0 mentionsApr 2026: 0 mentionsMay 2026: 0 mentionsJun 2026: 0 mentionsJul 2026: 0 mentionsAug 2026: 0 mentionsSep 2026: 0 mentionsOct 2026: 1 mentionNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the PKU-DAIR/AutoSci repository that our weekly crawl found: only 1 in all, so this is a hint, not a trend. There is no adoption data for this file yet.

Who's talking about PKU-DAIR/AutoSci

The biggest 1 of 1 mention linking to the repository that our crawl found. Each line is their own headline.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.