Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Full end-to-end research pipeline: from a broad research direction through idea discovery, experiments, and review all the way to a polished paper PDF. Use when user says "全流程", "full pipeline", "从找idea到投稿", "end-to-end research", or wants the complete autonomous research lifecycle.
.claude/skills/wanshuiyin-research-pipeline/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 72% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 259% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 79% | 0% |
> External cadence is fire-control only. An overnight scheduler may check > process/file progress, update a heartbeat, and nudge a stalled phase. It must > never rerun or replace a reviewer verdict. Register the state file with > watchdog.py, unregister on completion, and use iteration_log.py to trigger > structural pivots after repeated no-progress iterations. See > external-cadence.md.
End-to-end autonomous research workflow for: $ARGUMENTS
true, every selection checkpoint is informational: report the choice and continue in the same turn. When false, ask for explicit user confirmation and end the turn at the checkpoint.true, /research-lit downloads the top relevant arXiv PDFs during literature survey. When false (default), only fetches metadata via arXiv API. Passed through to /idea-discovery → /research-lit.true, the auto-review loops (Stage 3) pause after each round's review to let you see the score and provide custom modification instructions before fixes are implemented. When false (default), loops run fully autonomously. Passed through to /auto-review-loop.medium (default): standard MCP review. hard: adds Reviewer Memory + Debate Protocol. nightmare: GPT reads repo directly via codex exec + memory + debate. Passed through to /auto-review-loop.false to skip. Passed through to /experiment-bridge./experiment-bridge clones the repo first and implements experiments on top of it. When false (default), writes code from scratch or reuses existing project files. Passed through to /experiment-bridge.true, generates compact summary files for short-context models and session recovery. Passed through to /idea-discovery and /experiment-bridge.true, automatically invoke Workflow 3 (/paper-writing) after Stage 4. VENUE is needed only when Stage 5 begins — a missing venue defers paper writing; it never blocks Stages 1-4. When false (default), Stage 4 generates NARRATIVE_REPORT.md and stops — user invokes /paper-writing manually.ICLR, NeurIPS, ICML, CVPR, ACL, AAAI, ACM, IEEE_CONF, IEEE_JOURNAL. No default: a missing venue defers paper writing — it never blocks Stages 1-4 and is never guessed.true (default), auto-render NARRATIVE_REPORT.md to HTML at Stage 4 completion via /render-html. Uses --no-review because Stage 3 already produced a traced same-family provisional review. Set false to skip. Rendering failure is non-blocking..aris/runs/ and resumefrom the first non-terminal phase. Same-family Codex review produces provisional; deterministic or overlay gates produce accepted.
> 💡 Override via argument, e.g., /research-pipeline "topic" — AUTO_PROCEED: false, human checkpoint: true, difficulty: nightmare, code review: false, base repo: https://github.com/org/project, auto_write: true, venue: NeurIPS.
Resolve AUTO_PROCEED once from $ARGUMENTS before Stage 1 and pass that resolved value to nested workflows.
AUTO_PROCEED=true is non-blocking. A checkpoint is a progress update,not a question. State the result and the automatically selected next action, then continue executing in the same turn. Do not ask for confirmation, request user input, sleep, wait for silence, or end the turn at a checkpoint.
AUTO_PROCEED=false is blocking. Present the options, ask the user, andend the turn. Resume only after an explicit reply.
Never implement auto-proceed as “ask, then continue if there is no response.” Once a turn ends, silence cannot resume the pipeline. The user can still interrupt a non-blocking run at any time.
This rule governs only AUTO_PROCEED-controlled selection checkpoints. If the user explicitly enables a Feishu interactive gate, that external approval or reply is an intentional blocking exception; wait for that user-controlled gate rather than treating it as a silence timeout. Feishu off/push-only modes remain non-blocking under AUTO_PROCEED=true.
This skill chains the entire research lifecycle into a single pipeline:
/idea-discovery → /experiment-bridge → /auto-review-loop → /paper-writing (optional)
├── Workflow 1 ──┤├── Workflow 1.5 ──┤├── Workflow 2 ───┤ ├── Workflow 3 ──┤It orchestrates up to four major workflows in sequence. Workflow 3 (paper writing) is optional and controlled by AUTO_WRITE.
When RESUMABLE=true, resolve helpers through the Codex manifest:
bashif [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills-codex.txt ]; then ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills-codex.txt 2>/dev/null) || true fi RUN_STATE="" ITER_LOG="" WATCHDOG="" [ -n "${ARIS_REPO:-}" ] && [ -f "$ARIS_REPO/tools/run_state.py" ] && RUN_STATE="$ARIS_REPO/tools/run_state.py" [ -n "${ARIS_REPO:-}" ] && [ -f "$ARIS_REPO/tools/iteration_log.py" ] && ITER_LOG="$ARIS_REPO/tools/iteration_log.py" [ -n "${ARIS_REPO:-}" ] && [ -f "$ARIS_REPO/tools/watchdog.py" ] && WATCHDOG="$ARIS_REPO/tools/watchdog.py" [ -z "$RUN_STATE" ] && [ -f tools/run_state.py ] && RUN_STATE="tools/run_state.py" [ -z "$ITER_LOG" ] && [ -f tools/iteration_log.py ] && ITER_LOG="tools/iteration_log.py" [ -z "$WATCHDOG" ] && [ -f tools/watchdog.py ] && WATCHDOG="tools/watchdog.py"
Warn-and-skip state tracking if RUN_STATE cannot be resolved; never pretend it was persisted. Phases are idea-discovery,experiment-bridge,auto-review-loop,summary,paper-writing.
python3 "$RUN_STATE" start . "$RUN_ID" --executor codex-gpt-6-astra --provisional-advances --phases "idea-discovery,experiment-bridge,auto-review-loop,summary,paper-writing" (the --provisional-advances policy is what lets a same-family provisional verdict close a phase for resume — without it, mainline semantics apply and provisional phases stay open).python3 "$RUN_STATE" resume . "$RUN_ID"; restart the returned phase.running, then done --artifact <path>.--verdict-id <trace-or-agent-id>. This is terminal for resume but not accepted.
accept.AUTO_WRITE=false, mark paper-writing as skipped after summary.| Phase | Terminal record | |---|---| | idea-discovery | base Codex → provisional; overlay jury → accepted | | experiment-bridge | deterministic job/result completion → accepted | | auto-review-loop | base Codex positive STOP → provisional; overlay → accepted | | summary | deterministic file/render result → accepted | | paper-writing | verifier report; overall_assurance=provisional stays provisional |
For an unattended loop, touch the run state at the start of every tick, register it once with watchdog.py --register as type loop, and unregister on completion. After each tick run iteration_log.py note <root> <run_id> <phase> <new-finding-count>: pivot=structural requires a genuinely different approach; pivot=human surfaces the stall. Neither result is a quality verdict. See resumable-runs.md.
If RESEARCH_BRIEF.md exists in the project root, it will be automatically loaded as detailed context (replaces one-line prompt). See templates/RESEARCH_BRIEF_TEMPLATE.md.
Invoke the idea discovery pipeline:
/idea-discovery "$ARGUMENTS" — AUTO_PROCEED: $AUTO_PROCEEDThis internally runs: /research-lit → /idea-creator → /novelty-check → /research-review
Output: idea-stage/IDEA_REPORT.md with ranked, validated, pilot-tested ideas.
Review Tracing follows the downstream review skills. Stage 1 and Stage 3 preserve reviewer prompts/responses through their own trace protocols so the final handoff can be audited.
🚦 Gate 1 — Idea Selection:
After idea-stage/IDEA_REPORT.md is generated, present the top ideas.
If AUTO_PROCEED=true (non-blocking): report the selection and continue immediately in the same turn. Do not phrase the update as a question:
📋 Idea Discovery complete. Top ideas:
1. [Idea 1 title] — Pilot: POSITIVE (+X%), Novelty: CONFIRMED
2. [Idea 2 title] — Pilot: WEAK POSITIVE (+Y%), Novelty: CONFIRMED
3. [Idea 3 title] — Pilot: NEGATIVE, eliminated
AUTO_PROCEED: selected Idea 1 — [title]. Continuing to Stage 2.If AUTO_PROCEED=false (blocking): present the same ranking, ask Recommended: Idea 1. Shall I proceed with implementation?, then end the turn. The user may:
/experiment-bridge reads refine-logs/EXPERIMENT_PLAN.md already generated by /idea-discovery./idea-discovery with refined constraints, and present again.idea-stage/IDEA_REPORT.md for future reference.> ⚠️ This gate waits for user confirmation when AUTO_PROCEED=false. When true, it auto-proceeds after presenting results. The rest of the pipeline (Stages 2-3) is expensive (GPU time + multiple review rounds), so set AUTO_PROCEED=false if you want a final review checkpoint before committing GPU resources.
Once the idea is selected (automatically or by the user), delegate implementation and deployment to /experiment-bridge:
/experiment-bridge "$CHOSEN_IDEA_TITLE" — code review: $CODE_REVIEW, base repo: $BASE_REPO, compact: $COMPACT> 💡 Queue routing is automatic: /experiment-bridge Phase 4 routes each milestone by job count — ≤5 jobs → /run-experiment, ≥10 jobs or teacher→student phase dependencies → /experiment-queue (with OOM retry, wave gating, crash-safe state). No manual override is needed.
What this does (fully autonomous):
refine-logs/EXPERIMENT_PLAN.md — extracts milestones, run order, compute budget/codex:rescue fallback)/run-experiment, ≥10 → /experiment-queue with OOM retry, wave gating, crash-safe state)refine-logs/EXPERIMENT_TRACKER.md, runs /training-check if W&B is configured/ablation-planner if main results are positiveOutput:
refine-logs/EXPERIMENT_RESULTS.md — structured results by milestonerefine-logs/EXPERIMENT_TRACKER.md — updated run-by-run statusEXPERIMENT_LOG.md (when COMPACT=true) — session-recovery-friendly logMonitor progress (while experiments run):
/monitor-experiment [server]Wait for /experiment-bridge to complete and report its handoff summary before proceeding.
Once initial results are in, start the autonomous improvement loop:
/auto-review-loop "$ARGUMENTS — [chosen idea title], difficulty: $REVIEWER_DIFFICULTY"What this does (up to 4 rounds):
Output: review-stage/AUTO_REVIEW.md with full review history and final assessment.
After the auto-review loop completes, prepare the handoff for paper writing.
Step 1: Write a final research status report (same as before).
Step 2: Generate NARRATIVE_REPORT.md from:
IDEA_REPORT.md (chosen idea, hypothesis, novelty justification)AUTO_REVIEW.md (review history, weaknesses fixed, remaining limitations)The narrative report must contain:
Output: NARRATIVE_REPORT.md + research pipeline report.
markdown# Research Pipeline Report **Direction**: $ARGUMENTS **Chosen Idea**: [title] **Date**: [start] → [end] **Pipeline**: idea-discovery → experiment-bridge → auto-review-loop ## Journey Summary - Ideas generated: X → filtered to Y → piloted Z → chose 1 - Implementation: [brief description of what was built] - Experiments: [number of GPU experiments, total compute time] - Review rounds: N/4, final score: X/10 ## Writing Handoff - NARRATIVE_REPORT.md: ✅ generated - Venue: [VENUE or "not set — run /paper-writing manually"] - Manual figures needed: [list or "none"] ## Remaining TODOs (if any) - [items flagged by reviewer that weren't addressed]
This is the Stage 6: Paper Writing handoff in the broader research lifecycle; it is numbered Stage 5 here because this consolidated pipeline counts the writing handoff after the Stage 4 narrative report.
Skip this stage if AUTO_WRITE=false (default). Present the /paper-writing command for manual use:
📝 Research complete. To write the paper:
/paper-writing "NARRATIVE_REPORT.md" — venue: <VENUE>, AUTO_PROCEED: $AUTO_PROCEEDIf AUTO_WRITE=true:
🚦 Gate 2 — Writing Checkpoint:
📝 Research pipeline complete. Ready for Workflow 3.
- Venue: [VENUE]
- Input: NARRATIVE_REPORT.md
- Manual figures required: [list or none]
- Next step: /paper-writing "NARRATIVE_REPORT.md" — venue: [VENUE], AUTO_PROCEED: $AUTO_PROCEED
Proceeding with paper writing...Checks before proceeding (venue binds HERE — Stages 1-4 are venue-independent):
VENUE is missing: with AUTO_PROCEED=false, ask now. WithAUTO_PROCEED=true, do not guess and do not wait — stamp "VENUE NOT SPECIFIED — paper writing deferred" in the report and checkpoint, leave the paper-writing phase pending, and finish the run cleanly for a later resume. Never silently pick a venue.
AUTO_PROCEED=false, pause and listthem. With AUTO_PROCEED=true, record "paper writing deferred (manual figures: <list>)" and finish cleanly the same way.
Then invoke:
/paper-writing "NARRATIVE_REPORT.md" — venue: $VENUE, AUTO_PROCEED: $AUTO_PROCEEDPass the resolved AUTO_PROCEED explicitly so Workflow 3 cannot silently fall back to its own default mode.
This delegates to Workflow 3 which handles its own phases: /paper-plan → /paper-figure → /paper-write → /paper-compile → /auto-paper-improvement-loop
When Workflow 3 finishes, update the pipeline report with:
paper/main.pdf)Output: paper/ directory with LaTeX source, compiled PDF, and PAPER_IMPROVEMENT_LOG.md.
RENDER_HTML = true)After Stage 4 finalizes NARRATIVE_REPORT.md (before paper writing branches), invoke /render-html on the narrative report:
/render-html "NARRATIVE_REPORT.md" --no-review--no-review is intentional: this is an internal handoff doc, not reviewer-facing — the claims already received a traced same-family provisional review in Stage 3. Output: NARRATIVE_REPORT.html next to the MD, with embedded source SHA256.
Non-blocking: if /render-html fails (helper missing, file write error, etc.), log the failure and continue Stage 4 — the HTML view is a convenience artifact, not a pipeline prerequisite.
Skip this step if RENDER_HTML = false.
> Follow these shared protocols for all output files: > - Output Versioning Protocol — write timestamped file first, then copy to fixed name > - Output Manifest Protocol — log every output to MANIFEST.md > - Output Language Protocol — respect the project's language setting
cat << 'EOF' > file) to write in chunks. Do NOT ask the user for permission — just do it silently.false, do not proceed without user confirmation. When true, report the top selection and continue in the same turn without asking or waiting.| Stage | Duration | Can sleep? | |-------|----------|------------| | 1. Idea Discovery | 30-60 min | Yes if AUTO_PROCEED=true | | 2. Experiment Bridge | 30-120 min (implement + review + deploy + collect) | Yes ✅ | | 3. Auto Review | 1-4 hours (depends on experiments) | Yes ✅ |
Sweet spot: Run Stage 1 in the evening, launch Stage 2-3 before bed, wake up to a reviewed paper.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 57,251 | 19,353 | -66% | 1 | 1 | 0% | 8,295 | 5,770 | -30% | 0 | 0 | — |
case-02 | fail→fail | 32,864 | 18,913 | -42% | 1 | 1 | 0% | 5,158 | 5,760 | +12% | 0 | 0 | — |
case-03 | fail→pass | 51,945 | 21,630 | -58% | 1 | 1 | 0% | 6,323 | 6,785 | +7% | 0 | 0 | — |
case-04 | fail→fail | 42,286 | 19,436 | -54% | 1 | 1 | 0% | 5,687 | 5,628 | -1% | 0 | 0 | — |
case-05 | fail→fail | 43,087 | 17,427 | -60% | 1 | 1 | 0% | 8,228 | 5,524 | -33% | 0 | 0 | — |
case-06 | fail→fail | 19,382 | 16,083 | -17% | 1 | 1 | 0% | 2,559 | 5,464 | +114% | 0 | 0 | — |
case-07 | fail→fail | 30,390 | 23,842 | -22% | 1 | 1 | 0% | 4,483 | 5,980 | +33% | 0 | 0 | — |
case-08 | fail→pass | 30,875 | 33,946 | +10% | 1 | 1 | 0% | 4,946 | 8,506 | +72% | 0 | 0 | — |
case-09 | fail→fail | 19,515 | 16,289 | -17% | 1 | 1 | 0% | 1,851 | 5,321 | +187% | 0 | 0 | — |
case-10 | fail→pass | 17,578 | 15,863 | -10% | 1 | 1 | 0% | 1,964 | 7,049 | +259% | 0 | 0 | — |
case-11 | fail→fail | 28,500 | 17,891 | -37% | 1 | 1 | 0% | 2,306 | 5,369 | +133% | 0 | 0 | — |
case-12 | pass→pass | 13,751 | 14,410 | +5% | 1 | 1 | 0% | 1,424 | 6,685 | +369% | 0 | 0 | — |
case-13 | pass→pass | 50,538 | 21,279 | -58% | 1 | 1 | 0% | 3,355 | 6,290 | +87% | 0 | 0 | — |
case-14 | pass→pass | 24,400 | 15,304 | -37% | 1 | 1 | 0% | 2,806 | 6,744 | +140% | 0 | 0 | — |
case-15 | fail→pass | 36,779 | 13,245 | -64% | 1 | 1 | 0% | 5,616 | 6,555 | +17% | 0 | 0 | — |
case-16 | pass→fail | 28,564 | 16,560 | -42% | 1 | 1 | 0% | 4,678 | 5,459 | +17% | 0 | 0 | — |
case-17 | fail→fail | 12,399 | 24,692 | +99% | 1 | 1 | 0% | 1,108 | 5,425 | +390% | 0 | 0 | — |
case-18 | pass→pass | 23,890 | 17,015 | -29% | 1 | 1 | 0% | 3,381 | 7,358 | +118% | 0 | 0 | — |
case-19 | fail→fail | 19,356 | 16,147 | -17% | 1 | 1 | 0% | 2,843 | 5,301 | +86% | 0 | 0 | — |
case-20 | fail→pass | 21,194 | 7,114 | -66% | 1 | 1 | 0% | 3,041 | 5,451 | +79% | 0 | 0 | — |
case-21 | fail→fail | 7,275 | 16,766 | +130% | 1 | 1 | 0% | 340 | 5,321 | +1465% | 0 | 0 | — |
case-22 | pass→pass | 18,328 | 17,154 | -6% | 1 | 1 | 0% | 2,604 | 7,469 | +187% | 0 | 0 | — |
case-23 | pass→pass | 18,501 | 18,349 | -1% | 1 | 1 | 0% | 2,694 | 7,768 | +188% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 11 counted toward the lift figure. The other 12 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +17 percentage points is the difference between those two pass rates over the 11 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 9/1/2026 | +36% |
| gemini-3.6-flash | verified | 8/24/2026 | +55% |
| gemini-3.6-flash | verified | 8/11/2026 | +56% |
Other measured skills in the registry, with their headline benchmark lift.