Best for
- Use when user says "找idea全流程", "idea discovery pipeline", "从零开始找方向", or wants the complete idea exploration workflow.
wanshuiyin/Auto-claude-code-research-in-sleep/skills/idea-discovery/SKILL.md
Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.
Decision brief
Orchestrate a complete idea discovery workflow for: $ARGUMENTS
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep --skill "skills/idea-discovery"Inspect the Agent Skill "idea-discovery" from https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep/blob/014c16e0e58198e4230fafd246b0e6203892422f/skills/idea-discovery/SKILL.md at commit 014c16e0e58198e4230fafd246b0e6203892422f. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
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…
Before starting any other phase, check for a detailed research brief in the project:
Skip entirely if REFPAPER is false.
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 invocat…
Invoke /idea-creator with the landscape context (and idea-stage/REFPAPERSUMMARY.md if available):
Permission review
The documentation asks the agent to create, modify, or delete local files.
**OUTPUT_DIR = `idea-stage/`** — All idea-stage outputs go here. Create the directory if it doesn't exist.The documentation asks the agent to run terminal commands or scripts.
non-terminal phase and re-run the gate before finalizing.The documentation asks the agent to create, modify, or delete local files.
- **[Output Versioning Protocol](../shared-references/output-versioning.md)** — write timestamped file first, then copy to fixed nameEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 90/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 15,246 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Orchestrate a complete idea discovery workflow for: $ARGUMENTS
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/IDEA_REPORT.md with ranked ideas, plus a refined proposal (refine-logs/FINAL_PROPOSAL.md) and experiment plan (refine-logs/EXPERIMENT_PLAN.md) for the top idea.
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.gpt-5.6-sol — Model used via Codex MCP. Must be an OpenAI model (e.g., gpt-5.6-sol, o3, gpt-4o). Passed to sub-skills.idea-stage/ — All idea-stage outputs go here. Create the directory if it doesn't exist.true, /research-lit downloads the top relevant arXiv PDFs during Phase 1. When false (default), only fetches metadata. Passed through to /research-lit.true, generate compact summary files for short-context models and session recovery. Writes idea-stage/IDEA_CANDIDATES.md (top 3-5 ideas only) at the end of this workflow. Downstream skills read this instead of the full idea-stage/IDEA_REPORT.md.true (default), auto-render idea-stage/IDEA_REPORT.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.idea-stage/REF_PAPER_SUMMARY.md), then idea generation uses it as context. Combine with base repo for "improve this paper with this codebase" workflows..aris/runs/<run_id>.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.04329or/idea-discovery "topic" — compact: true.
Resolve AUTO_PROCEED once from $ARGUMENTS before Phase 0 and keep that mode
for the entire workflow.
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, and
end 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 workflow. 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.
RESUMABLE = true)Resolve run_state.py and idea_discovery_gate.py through the same canonical
helper chain used by /research-pipeline: .aris/tools/ → tools/ →
$ARIS_REPO/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 <run_id> from the direction slug and date, then start
this ordered state record with --executor <actual-Claude-model> (for example,
claude-sonnet-4.5):
research-lit,idea-creator,novelty-check,research-review,research-refine-pipeline
For each phase, mark running on entry and done --artifact <path> only after
its artifact is present. Use these artifact locators so the final gate can
check the canonical report rather than scattered scratch files:
| Phase | Artifact locator |
|---|---|
research-lit | idea-stage/IDEA_REPORT.md#literature-landscape |
idea-creator | idea-stage/IDEA_REPORT.md#ranked-ideas |
novelty-check | idea-stage/IDEA_REPORT.md#novelty-verification |
research-review | idea-stage/IDEA_REPORT.md#external-critical-review |
research-refine-pipeline | refine-logs/FINAL_PROPOSAL.md |
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. 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.md
The 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: <stage> evidence missing lines to the report; do not
present the workflow as complete. On — resume <run_id>, start from the first
non-terminal phase and re-run the gate before finalizing.
Before starting any other phase, check for a detailed research brief in the project:
RESEARCH_BRIEF.md in the project root (or path passed as $ARGUMENTS)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/RESEARCH_BRIEF_TEMPLATE.md RESEARCH_BRIEF.md— keep it to ~1-2 pages (4-8k chars); long material goes in separate files referenced by path.
Skip entirely if REF_PAPER is false.
Summarize the reference paper before searching the literature:
If arXiv URL (e.g., https://arxiv.org/abs/2406.04329):
/arxiv "ARXIV_ID" — download to fetch the PDFIf local PDF path (e.g., papers/reference.pdf):
If other URL:
Generate idea-stage/REF_PAPER_SUMMARY.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/REF_PAPER_SUMMARY.md as additional context — /research-lit searches for related and competing work, /idea-creator generates ideas that build on or improve the reference paper.
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/IDEA_REPORT.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:
gemini-cli is available🚦 Checkpoint: Present the landscape summary to the user.
When AUTO_PROCEED=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.
When AUTO_PROCEED=false (blocking): present the same findings, ask
Does this match your understanding? Should I adjust the scope before generating ideas?,
then end the turn.
/research-lit with adjusted scope, and present again. Repeat until the user is satisfied.Invoke /idea-creator with the landscape context (and idea-stage/REF_PAPER_SUMMARY.md if available):
/idea-creator "$ARGUMENTS" — composed: idea-stage/IDEA_REPORT.md
/idea-creator owns idea-stage/IDEA_REPORT.md as the canonical deliverable; the — composed: directive tells it to fold the survey/novelty findings in rather than emitting LIT_LANDSCAPE.md / RESEARCH_REVIEW.md / MANIFEST.md alongside.
What this does:
idea-stage/REF_PAPER_SUMMARY.md exists, include it as context — ideas should build on, improve, or extend the reference paperidea-stage/IDEA_REPORT.md🚦 Checkpoint: Present idea-stage/IDEA_REPORT.md ranked ideas to the user.
When AUTO_PROCEED=true (non-blocking): report the automatic selection and
continue immediately in the same turn, without a question:
💡 Generated X ideas, filtered to Y, piloted Z. Top results:
1. [Idea 1] — Pilot: POSITIVE (+X%)
2. [Idea 2] — Pilot: WEAK POSITIVE (+Y%)
3. [Idea 3] — Pilot: NEGATIVE, eliminated
AUTO_PROCEED: selected [top-ranked idea(s)]. Continuing to Phase 3.
When AUTO_PROCEED=false (blocking): present the same ranking, ask
Which ideas should I validate further? Or should I regenerate with different constraints?,
then end the turn.
.aris/runs/<run_id>.iterations.jsonl) and forbid a candidate too close to one already
tried — enforced direction diversity; when an overnight heartbeat drives the run,
record each chosen direction via iteration_log.py note ... --direction "<frame>"
so later ticks can reject near-duplicates (see
shared-references/external-cadence.md →
Stall detection & forced structural pivot). Repeat until the user selects at least 1 idea.For each top idea (positive pilot signal), run a thorough novelty check:
/novelty-check "[top idea 1 description]"
/novelty-check "[top idea 2 description]"
What this does:
Update idea-stage/IDEA_REPORT.md with deep novelty results. Eliminate any idea that turns out to be already published.
For the surviving top idea(s), get a sharp outside read — strongest case, named risks, and the cheapest discriminating next experiment; the core hypothesis is not up for rewriting:
/research-review "[top idea with hypothesis + pilot results]" — composed: idea-stage/IDEA_REPORT.md
In composed mode /research-review folds its conclusions into idea-stage/IDEA_REPORT.md and cites the .aris/traces/… path instead of writing a standalone review .md in the project root.
What this does:
Update idea-stage/IDEA_REPORT.md with reviewer feedback and revised plan.
After review, refine the top idea into a concrete proposal and plan experiments:
/research-refine-pipeline "[top idea description + pilot results + reviewer feedback]"
What this does:
refine-logs/FINAL_PROPOSAL.md, refine-logs/EXPERIMENT_PLAN.md, refine-logs/EXPERIMENT_TRACKER.md🚦 Checkpoint: Present the refined proposal summary.
When AUTO_PROCEED=true (non-blocking): report that the proposal was
selected and continue immediately in the same turn, without a question:
🔬 Method refined and experiment plan ready:
- Problem anchor: [anchored problem]
- Method thesis: [one sentence]
- Dominant contribution: [what's new]
- Must-run experiments: [N blocks]
- First 3 runs to launch: [list]
AUTO_PROCEED: accepted the top proposal. Continuing to Final Report.
When AUTO_PROCEED=false (blocking): present the same summary, ask
Proceed to implementation? Or adjust the proposal?, then end the turn.
/research-refine for another round.Finalize idea-stage/IDEA_REPORT.md with all accumulated information:
# Idea Discovery Report
**Direction**: $ARGUMENTS
**Date**: [today]
**Pipeline**: research-lit → idea-creator → novelty-check → research-review → research-refine-pipeline
## Executive Summary
[2-3 sentences: best idea, key evidence, recommended next step]
## Literature Landscape
[from Phase 1]
## Ranked Ideas
[from Phase 2, updated with Phase 3-4 results]
## Novelty Verification
[from Phase 3]
## External Critical Review
[from Phase 4]
### 🏆 Idea 1: [title] — RECOMMENDED
- Pilot: POSITIVE (+X%)
- Novelty: CONFIRMED (closest: [paper], differentiation: [what's different])
- Reviewer score: X/10
- Next step: implement full experiment → /auto-review-loop
### Idea 2: [title] — BACKUP
...
## Eliminated Ideas
[ideas killed at each phase, with reasons]
## Refined Proposal
- Proposal: `refine-logs/FINAL_PROPOSAL.md`
- Experiment plan: `refine-logs/EXPERIMENT_PLAN.md`
- Tracker: `refine-logs/EXPERIMENT_TRACKER.md`
## Next Steps
- [ ] /run-experiment to deploy experiments from the plan
- [ ] /auto-review-loop to iterate until submission-ready
- [ ] Or invoke /research-pipeline for the complete end-to-end flow
Before presenting this report as complete, run the per-stage evidence gate
above. A BLOCKED gate result is part of the report, not a warning to omit.
Skip entirely if COMPACT is false.
Write idea-stage/IDEA_CANDIDATES.md — a lean summary of the top 3-5 surviving ideas:
# Idea Candidates
| # | Idea | Pilot Signal | Novelty | Reviewer Score | Status |
|---|------|-------------|---------|---------------|--------|
| 1 | [title] | +X% | Confirmed | X/10 | RECOMMENDED |
| 2 | [title] | +Y% | Confirmed | X/10 | BACKUP |
| 3 | [title] | Negative | — | — | ELIMINATED |
## Active Idea: #1 — [title]
- Hypothesis: [one sentence]
- Key evidence: [pilot result]
- Next step: /experiment-bridge or /research-refine
This file is intentionally small (~30 lines) so downstream skills and session recovery can read it without loading the full idea-stage/IDEA_REPORT.md (~200+ lines).
When Phase 4 ends with a RECOMMENDED idea, create idea-stage/docs/research_contract.md
from templates/RESEARCH_CONTRACT_TEMPLATE.md (resolve the template from the repo
root or $ARIS_REPO/templates/), filling in: the selected idea + selection
rationale, core claims, minimum convincing evidence, and the next-step pointer.
Skip only when the run produced no RECOMMENDED idea.
This file is the focused working contract for the W1 → W1.5 handoff:
/experiment-bridge implements against it, and /result-to-claim +
/ablation-planner read it as the claims source. It is also the #2
session-recovery file (docs/SESSION_RECOVERY_GUIDE.md) — a crashed session
reloads the ACTIVE idea from this contract instead of the full idea pool.
Follow these shared protocols for all output files:
- Output Composition Protocol — ONE canonical deliverable per pipeline; fold sub-skill findings in, don't scatter overlapping
.mdfiles- Output Versioning Protocol — write timestamped file first, then copy to fixed name
- Output Manifest Protocol — maintain
MANIFEST.mdonly above the 15-artifact threshold (not "log every output")- Output Language Protocol — respect the project's language setting
This pipeline runs its sub-skills in composed mode (see
output-composition.md): it owns a single
canonical deliverable and folds every sub-skill's findings into it rather than letting
each emit its own overlapping file. Concretely, for this workflow:
idea-stage/IDEA_REPORT.md is the single canonical deliverable. Sub-skills'
intermediate findings (literature landscape, novelty notes, external review) are
folded into it as sections/appendices — they do NOT become standalone files just
because a sub-skill could emit one. If a sub-skill writes a scratch file, inline its
unique content into the report and delete the scratch when the phase closes.— composed: idea-stage/IDEA_REPORT.md to every sub-skill (/research-lit,
/idea-creator, /research-review) so they fold instead of scatter. This is the
explicit signal; without it a sub-skill stays standalone by design.refine-logs/ (FINAL_PROPOSAL.md /
EXPERIMENT_PLAN.md / EXPERIMENT_TRACKER.md). Do NOT also restate them as separate
files under idea-stage/; the report links to them, it does not copy them.MANIFEST.md for a handful of files — only above the 15-artifact threshold in
output-manifest.md.pilot_results.jsonl or a small summary). Delete launcher logs, smoke files, and
redundant *_summary.json once the numbers are in the report..aris/traces/… (the audit trail); do not
ALSO keep a human-facing copy under idea-stage/ — cite the trace path from the report.idea-stage/ top level should be roughly: IDEA_REPORT.md
(+ .html), the pilot script + results, and the refine-logs/ dir. Nothing else
unless it carries content not in the report.RENDER_HTML = true)After Phase 4 finalizes idea-stage/IDEA_REPORT.md (and the optional IDEA_CANDIDATES.md), invoke /render-html on the report so the user has a single-file HTML view for tablet / phone reading:
/render-html "idea-stage/IDEA_REPORT.md" --no-review
--no-review is intentional: source MD already passed this skill's own novelty + cross-model review. HTML render is a structural conversion, not a new claim-audit gate. Output lands at idea-stage/IDEA_REPORT.html with embedded source SHA256 + render timestamp.
Non-blocking: if /render-html fails (helper missing, Codex MCP unavailable, file write error), log the failure and continue — the HTML view is a convenience artifact, not a Phase 4 prerequisite.
Skip this step if RENDER_HTML = false.
Large file handling: If the Write tool fails due to file size, immediately retry using Bash (cat << 'EOF' > file) to write in chunks. Do NOT ask the user for permission — just do it silently.
Don't skip phases. Each phase filters and validates — skipping leads to wasted effort later.
Checkpoint between phases. Briefly summarize what was found. With AUTO_PROCEED=true, state the selected next action and keep executing in the same turn; with false, ask and end the turn.
Let pilots kill, not vibes. A cheap pilot that says no beats a month of implementation that says no — but the kill needs empirical signal or a named published paper, not taste. Talking yourself out of ideas on paper is how pipelines end up with nothing to run.
Empirical signal > theoretical appeal. An idea with a positive pilot outranks a "sounds great" idea without evidence.
Document everything — inside the one report, not in scattered files. Dead ends and eliminated ideas are valuable, so record them as sections of idea-stage/IDEA_REPORT.md (see Output hygiene above). Do not spawn a separate .md per phase.
Be honest with the reviewer. Include negative results and failed pilots in the review prompt.
Feishu notifications are optional. If ~/.claude/feishu.json exists, send checkpoint at each phase transition and pipeline_done at final report. If absent/off, skip silently.
After this pipeline produces a validated top idea:
/idea-discovery "direction" ← you are here (Workflow 1, includes method refinement + experiment planning)
/run-experiment ← deploy experiments from the plan
/auto-review-loop "top idea" ← Workflow 2: iterate until submission-ready
Or use /research-pipeline for the full end-to-end flow.
Frequently asked questions
Orchestrate a complete idea discovery workflow for: $ARGUMENTS
The source record exposes this install command: npx skills add https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep --skill "skills/idea-discovery". Inspect the command and pinned source before running it.
Static rules flagged write-files, exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
wanshuiyin/Auto-claude-code-research-in-sleep
Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.
prowler-cloud/prowler
PostgreSQL indexing best practices for Prowler: index design, partial indexes, partitioned table indexing, EXPLAIN ANALYZE validation, concurrent operations, monitoring, and maintenance. Trigger: When creating or modifying PostgreSQL indexes, analyzing query performance with EXPLAIN, debugging slow queries, reviewing index usage statistics, reindexing, dropping indexes, or working with partitioned table indexes. Also trigger when discussing index strategies, partial indexes, or index maintenance
brucesongs/kali-claw
Insecure Design (OWASP A06:2025) focuses on security flaws in system architecture and design phases, rather than code implementation-level bugs.