idea-discovery skill
Workflow 1: Full idea discovery pipeline to go from a broad research direction to validated, pilot-tested ideas. Use when user says \"找idea全流程\", \"idea discovery pipeline\", \"从零开始找方向\", or wants the complete idea exploration workflow.
Is the idea-discovery skill safe?
Clean: nothing in its files matched our rules. We read 1 file in the folder on 2026-09-28.
No findings.
Install the idea-discovery skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep.git /tmp/Auto-claude-code-research-in-sleep mkdir -p ~/.claude/skills cp -r /tmp/Auto-claude-code-research-in-sleep/skills/idea-discovery ~/.claude/skills/idea-discovery
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
Workflow 1: Idea Discovery Pipeline
Orchestrate a complete idea discovery workflow for: $ARGUMENTS
Overview
This skill chains sub-skills into a single automated pipeline:
/research-lit → /idea-creator → /novelty-check → /research-review → /research-refine-pipeline
(survey) (brainstorm) (verify novel) (critical feedback) (refine method + plan experiments)Each phase builds on the previous one's output. The final deliverables are a validated idea-stage/IDEAREPORT.md with ranked ideas, plus a refined proposal (refine-logs/FINALPROPOSAL.md) and experiment plan (refine-logs/EXPERIMENT_PLAN.md) for the top idea.
Constants
- PILOTMAXHOURS = 2 — Skip any pilot experiment estimated to take > 2 hours per GPU. Flag as "needs manual pilot" in the report.
- PILOTTIMEOUTHOURS = 3 — Hard timeout: kill any running pilot that exceeds 3 hours. Collect partial results if available.
- MAXPILOTIDEAS = 3 — Run pilots for at most 3 top ideas in parallel. Additional ideas are validated on paper only.
- MAXTOTALGPUHOURS = 8** — Total GPU budget across all pilots. If exceeded, skip remaining pilots and note in report.
- AUTOPROCEED = true** — When true, checkpoints are informational: report the selected option and continue in the same turn. Set to false to ask for explicit user confirmation and end the turn at each selection checkpoint.
- REVIEWERMODEL = gpt-6-astra** — Model used via Codex MCP. Must be an OpenAI model (e.g., gpt-6-astra, o3, gpt-4o). Passed to sub-skills.
- OUTPUTDIR = idea-stage/** — All idea-stage outputs go here. Create the directory if it doesn't exist.
- ARXIVDOWNLOAD = false** — When true, /research-lit downloads the top relevant arXiv PDFs during Phase 1. When false (default), only fetches metadata. Passed through to /research-lit.
- COMPACT = false — When true, generate compact summary files for short-context models and session recovery. Writes idea-stage/IDEACANDIDATES.md (top 3-5 ideas only) at the end of this workflow. Downstream skills read this instead of the full idea-stage/IDEAREPORT.md.
- RENDERHTML = true — When true (default), auto-render idea-stage/IDEAREPORT.md to HTML at workflow end via /render-html. Uses --no-review (the source MD already went through novelty + cross-model review during Phase 3). Set false to skip, or pass — render html: false.
- REFPAPER = false — Reference paper to base ideas on. Accepts: local PDF path, arXiv URL, or any paper URL. When set, the paper is summarized first (idea-stage/REFPAPER_SUMMARY.md), then idea generation uses it as context. Combine with base repo for "improve this paper with this codebase" workflows.
- RESUMABLE = true — Record stage evidence under .aris/runs/.json and require a deterministic evidence gate before declaring the final report complete.
💡 These are defaults. Override by telling the skill, e.g., /idea-discovery "topic" — ref paper: https://arxiv.org/abs/2406.04329 or /idea-discovery "topic" — compact: true.
Checkpoint execution rule
Resolve AUTO_PROCEED once from $ARGUMENTS before Phase 0 and keep that mode for the entire workflow.
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.
- AUTOPROCEED=true is non-blocking.** A checkpoint is a progress update,
end the turn. Resume only after an explicit reply.
- AUTOPROCEED=false is blocking.** Present the options, ask the user, and
Never implement auto-proceed as “ask, then continue if there is no response.” Once a turn ends, silence cannot resume the workflow. The user can still interrupt a non-blocking run at any time.
This rule governs only AUTOPROCEED-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 AUTOPROCEED=true.
Per-stage evidence gate (RESUMABLE = true)
Resolve runstate.py and ideadiscoverygate.py through the same canonical helper chain used by /research-pipeline: .aris/tools/ → tools/ → $ARISREPO/tools/ → ~/.aris/repo/tools/. If either helper is unavailable, the final report is BLOCKED; do not silently continue without a state record.
For a new run, derive from the direction slug and date, then start this ordered state record with --executor (for example, claude-sonnet-4.5):
research-lit,idea-creator,novelty-check,research-review,research-refine-pipelineFor each phase, mark running on entry and done --artifact only after its artifact is present. Use these artifact locators so the final gate can check the canonical report rather than scattered scratch files:
novelty-check and research-review are reviewer-bearing phases. A done status or a heading alone is not review evidence. After each phase has folded substantive findings into its anchored report section, first record it done, then, only after the configured reviewer actually returns a positive, identity-bearing verdict, record the cross-family receipt using the actual returned model and durable thread/trace id:
<resolved-python> <resolved-run_state.py> accept . <run_id> novelty-check --verdict-id "<thread-or-trace-id>" --reviewer "<actual-reviewer-model>"
<resolved-python> <resolved-run_state.py> accept . <run_id> research-review --verdict-id "<thread-or-trace-id>" --reviewer "<actual-reviewer-model>"Never invent either value and never call accept without the positive verdict required by the run-state contract. For novelty-check, both PROCEED and PROCEED WITH CAUTION are positive verdicts — caution is guidance for the pilot, not a rejection; only ABANDON is negative. For research-review, positive means the review's bottom line does not argue for abandoning the idea — a list of named risks is not a rejection. If the review ends without a clear stance, ask the same reviewer thread for a one-line verdict (proceed or abandon) and record on that answer; never infer positivity from silence. A negative verdict does not grant a review receipt. Leave the phase done and the final gate BLOCKED, select a surviving or new idea, then re-run that reviewer-bearing phase. Do the same if the reviewer is unavailable, returns no valid identity/response, or its output was not folded into the report.
At the end of Phase 5, run:
<resolved-python> <resolved-idea_discovery_gate.py> . <run_id> --report idea-stage/IDEA_REPORT.mdThe gate writes its result to gates.idea-discovery-evidence in the run state. On PASS, it has validated (but never created) the two review receipts, all required artifacts, and non-empty anchored report sections. Per-phase acceptance stays with each stage's own cross-model gate. On a non-zero exit, it writes explicit BLOCKED: evidence missing lines to the report; do not present the workflow as complete. On — resume , start from the first non-terminal phase and re-run the gate before finalizing.
Pipeline
Phase 0: Load Research Brief (if available)
Before starting any other phase, check for a detailed research brief in the project:
- Look for RESEARCH_BRIEF.md in the project root (or path passed as $ARGUMENTS)
- If found, read it and extract:
- Problem statement and context
- Constraints (compute, data, timeline, venue)
- What the user already tried / what didn't work
- Domain knowledge and non-goals
- Existing results (if any)
- Use this as the primary context for all subsequent phases — it replaces the one-line prompt
- If both RESEARCH_BRIEF.md and a one-line $ARGUMENTS exist, merge them (brief takes priority for details, argument sets the direction)
If no brief exists, proceed normally with $ARGUMENTS as the research direction.
💡 Create a brief from the template: cp templates/RESEARCHBRIEFTEMPLATE.md RESEARCH_BRIEF.md — keep it to ~1-2 pages (4-8k chars); long material goes in separate files referenced by path.
Phase 0.5: Reference Paper Summary (when REF_PAPER is set)
Skip entirely if REFPAPER is false.**
Summarize the reference paper before searching the literature:
- If arXiv URL (e.g., https://arxiv.org/abs/2406.04329):
- Invoke /arxiv "ARXIV_ID" — download to fetch the PDF
- Read the first 5 pages (title, abstract, intro, method overview)
- If local PDF path (e.g., papers/reference.pdf):
- Read the PDF directly (first 5 pages)
- If other URL:
- Fetch and extract content via WebFetch
- Generate idea-stage/REFPAPERSUMMARY.md:
# Reference Paper Summary
**Title**: [paper title]
**Authors**: [authors]
**Venue**: [venue, year]
## What They Did
[2-3 sentences: core method and contribution]
## Key Results
[Main quantitative findings]
## Limitations & Open Questions
[What the paper didn't solve, acknowledged weaknesses, future work suggestions]
## Potential Improvement Directions
[Based on the limitations, what could be improved or extended?]
## Codebase
[If `base repo` is also set: link to the repo and note which parts correspond to the paper]🚦 Checkpoint: Present the summary to the user:
📄 Reference paper summarized:
- Title: [title]
- Key limitation: [main gap]
- Improvement directions: [2-3 bullets]
Proceeding to literature survey with this as context.Phase 1 and Phase 2 will use idea-stage/REFPAPERSUMMARY.md as additional context — /research-lit searches for related and competing work, /idea-creator generates ideas that build on or improve the reference paper.
Phase 1: Literature Survey
Invoke /research-lit to map the research landscape. Idea discovery is exactly the place where Gemini's AI-driven broad coverage adds value, so include gemini as a source by default unless the user already specified an explicit — sources: directive in their idea-discovery invocation:
# If $ARGUMENTS already contains "— sources:", pass through unchanged
# (the user is in control of source selection):
/research-lit "$ARGUMENTS" — composed: idea-stage/IDEA_REPORT.md
# Otherwise (the common case), include gemini explicitly for broader discovery:
/research-lit "$ARGUMENTS" — sources: all, gemini — composed: idea-stage/IDEA_REPORT.md— composed: idea-stage/IDEAREPORT.md puts /research-lit in composed mode (see Output hygiene above): it returns the landscape for folding into the report instead of writing a standalone landscape file. The report doesn't exist yet at Phase 1 — the directive names the forthcoming* canonical doc, and /idea-creator creates it in Phase 2.
If gemini-cli is not installed, /research-lit skips the Gemini source gracefully with a warning — no break to the pipeline. Users who want to force-disable Gemini in idea-discovery can pass /idea-discovery "topic" — sources: all explicitly (which becomes the literal source list, no auto-injection).
What this does:
- Search arXiv, Google Scholar, Semantic Scholar for recent papers
- Plus Gemini-driven broad discovery (sub-problem decomposition, naming variants, alias coverage) when gemini-cli is available
- Build a landscape map: sub-directions, approaches, open problems
- Identify structural gaps and recurring limitations
- Output a literature summary (saved to working notes)
🚦 Checkpoint: Present the landscape summary to the user.
When AUTOPROCEED=true (non-blocking):** report the selected direction and continue immediately in the same turn, without a question:
📚 Literature survey complete. Here's what I found:
- [key findings, gaps, open problems]
AUTO_PROCEED: selected [top-ranked direction]. Continuing to Phase 2.More skills from wanshuiyin/Auto-claude-code-research-in-sleep
- Aablation-plannerUse when main results pass result-to-claim (claim_supported=yes or partial) and ablation studies are needed for paper submission.
- Aablation-plannerUse when main results pass result-to-claim (`claim_supported = yes` or `partial`) and ablation studies are needed for paper submission. A secondary Codex agent designs ablations from a reviewer's perspective; the local executor reviews feasibility and implements.
- AalphaxivQuick single-paper lookup via AlphaXiv LLM-optimized summaries with tiered source fallback. Use when user says "explain this paper", "summarize paper", pastes an arXiv/AlphaXiv URL, or provides a bare arXiv ID for quick understanding - not for broad literature search.
- AalphaxivQuick single-paper lookup via AlphaXiv LLM-optimized summaries with tiered source fallback. Use when user says "explain this paper", "summarize paper", pastes an arXiv/AlphaXiv URL, or provides a bare arXiv ID for quick understanding - not for broad literature search.
- Aanalyze-resultsAnalyze ML experiment results, compute statistics, generate comparison tables and insights. Use when user says "analyze results", "compare", or needs to interpret experimental data.
- Aanalyze-resultsAnalyze ML experiment results, compute statistics, generate comparison tables and insights. Use when user says \"analyze results\", \"compare\", or needs to interpret experimental data.
- AarxivSearch, download, and summarize academic papers from arXiv. Use when user says "search arxiv", "download paper", "fetch arxiv", "arxiv search", "get paper pdf", or wants to find and save papers from arXiv to the local paper library.
- AarxivSearch, download, and summarize academic papers from arXiv. Use when user says \"search arxiv\", \"download paper\", \"fetch arxiv\", \"arxiv search\", \"get paper pdf\", or wants to find and save papers from arXiv to the local paper library.
- Aauto-paper-improvement-loopAutonomously improve a generated paper via GPT-6-Astra xhigh review → implement fixes → recompile, for 2 rounds. Use when user says \"改论文\", \"improve paper\", \"论文润色循环\", \"auto improve\", or wants to iteratively polish a generated paper.
- Aauto-paper-improvement-loopAutonomously improve a generated paper via Claude review through claude-review MCP → implement fixes → recompile, for 2 rounds. Use when user says \"改论文\", \"improve paper\", \"论文润色循环\", \"auto improve\", or wants to iteratively polish a generated paper.
- Aauto-paper-improvement-loopAutonomously improve a generated paper via Gemini review through gemini-review MCP → implement fixes → recompile, for 2 rounds. Use when user says \"改论文\", \"improve paper\", \"论文润色循环\", \"auto improve\", or wants to iteratively polish a generated paper.
- Aauto-paper-improvement-loopAutonomously improve a generated paper via GPT-6-Astra xhigh review → implement fixes → recompile, for 2 rounds. Use when user says \"改论文\", \"improve paper\", \"论文润色循环\", \"auto improve\", or wants to iteratively polish a generated paper.