Idea spark agentic
Agentic variant of the idea-spark skill (microsoft/ResearchStudio): Claude Code sub-agents with WebSearch/WebFetch replace API connectors - no API keys required
npx -y skills add yysxjz/idea-spark-agenticAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 18 days oldThe repository was created 18 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Agentic variant of idea-spark. Generates ONE reviewer-defensible, implementable research idea from a stated direction. Phase 0 and Phase 3.1 retrieval use Claude Code native WebSearch/WebFetch sub-agents instead of API connectors - no .env file or API keys required. Reuses the same 5-phase pipeline and ideation-pattern vocabulary as idea-spark.
SKILL.md
10.2 KB, ~2.6k tokens by cl100k_base, as published. Nobody here has run it
Idea Spark - Agentic Skill
Convert an under-specified research direction into ONE reviewer-defensible Oral-level research proposal via a 5-phase workflow. This is the agentic variant: Phase 0 literature grounding and Phase 3.1 collision checking are performed by isolated Claude Code sub-agents using WebSearch/WebFetch, so no .env, OpenReview, Semantic Scholar, OpenAlex, or arXiv API credentials are needed.
Everything else (ideation patterns, sub-patterns, Phase 1-4 prompts, validators, card renderers) is contract-compatible with the original idea-spark skill.
When to use
- Same as
idea-spark: "Give me a research idea in {area}", "What's the bottleneck?", "Help me sharpen this direction into an Oral-level proposal." - Prefer this variant when you do not have connector API keys or want the retrieval agent to reason about relevance, year windows, and cross-community aliases rather than relying on BM25 query matching.
When NOT to use
- Same as
idea-spark: code review, pure summarization, cross-decade surveys, unconstrained brainstorming, engineering-integration tasks. - Do not use if you require deterministic, reproducible connector-backed retrieval (use legacy
idea-sparkinstead).
Setup (first use only)
- Copy this directory into your Claude Code skills folder —
<project>/.claude/skills/idea-spark-agenticfor one project, or~/.claude/skills/idea-spark-agenticfor all projects — and make sure theWebSearch,WebFetch, andAgenttools are permitted. - No
.envis required. - Optional: install
pymupdfandbeautifulsoup4for full-text fetch quality (otherwise fulltext falls back to abstracts):pip install pymupdf beautifulsoup4 - Optional: install
xelatexortectonicif you want PDF idea cards in addition to Markdown.
How to run: the next loop
The canonical driver is the run-state navigator:
python3 "$SKILL_DIR/scripts/run.py" next --dir "$RUN_DIR" --query "<user's research question>"
Run-dir convention (same as idea-spark): $PWD/ideaspark_run/<topic-slug>. One run = one directory. Never reuse a directory that already contains a phase0/.
The host loop is:
- Run
next. - Do what it says (
bash→ run the command;llm_subagent→ spawn an isolated sub-agent with ONLY the listed file paths). - Run
nextagain. Repeat until terminal state (DONE,do_not_generate, orphase_3_failed).
Use this checklist:
- Phase 0: deterministic setup → agentic retrieval sub-agent →
lit_results.json+lit_table.md+.lit_grounding_mode - Phase 0+: full-text fetch (
phase0_fulltext) - MANDATORY before Phase 1 - Phase 1: bottleneck identification →
proceedordo_not_generate - Phase 2: gap×pattern selection + candidate generation (ONE sub-agent, TWO outputs) → citation gate → coherence gate
- Phase 3: collision retrieval setup → agentic collision sub-agent → assemble → audit (5 checks) → revise/merge/re-audit or abandon→retry
- Phase 4: skeleton → fill → assemble → implementability audit → validate → render → return 3 cards inline
Context discipline
A full run accumulates ~180-250k tokens of intermediate state. Run every LLM-driven phase in an isolated context (sub-agent or subprocess). Write every phase artifact directly to disk; never paraphrase large JSON into chat. Compact the parent context between phases. See idea-spark design-notes for the rationale.
Phase reference
Orchestrator entry points
| Phase | Entry point |
|---|---|
| navigator | next --dir "$RUN_DIR" [--query "..."] |
| Phase 0 setup | phase0 --query "<user text>" --out $RUN_DIR/phase0/ |
| Phase 0+ full-text (mandatory) | phase0_fulltext --out $RUN_DIR/phase0/ |
| Phase 1 anchor top-up | phase1_fulltext_topup --out $RUN_DIR/phase0/ --paper-id <anchor paper_id> |
| Phase 3.1 setup | phase3_collision --idea-json <canonical candidate> --out $RUN_DIR/phase3_collision/ |
| Phase 3.1 assembly | phase3_collision_assemble --sig .sig_raw.json --alias .alias_raw.json --out $RUN_DIR/phase3_collision/ |
| Phase 3.3 merger | phase3_merge_revisions --phase2 <canonical> --revisions <p3.3-patch> --critique <p3.2-report> --out $RUN_DIR/phase3_revise/ |
| Phase 2.3 merger | phase3_merge_revisions --phase2 <p2.2-output> --revisions <p2.3-output> --out $RUN_DIR/phase2_coherence/ --out-name refined_candidate.json |
| Phase 4 skeleton | phase4_skeleton --candidate <final_candidate-or-p2.2> --phase1 ... --phase2-select ... --phase3-critique ... [--phase3-revise ...] --phase0-dir $RUN_DIR/phase0/ [--collision ...] --out $RUN_DIR/phase4/ |
| Phase 4 assemble | phase4_assemble --skeleton $RUN_DIR/phase4/phase4_skeleton.json --fill-map $RUN_DIR/phase4/fill_map.json --out $RUN_DIR/phase4/ |
| Phase 4 render | phase4_render --expansion $RUN_DIR/phase4/phase4_expansion.json --out $RUN_DIR/phase4/ |
| Validators | validate --phase2 ... [--phase3 ...] [--phase4 ...] [--phase4-impl ...] |
The LLM-driven phases (1 / 2.1 / 2.2 / 2.3 / 3.2 / 3.3 / 4.fill / 4.1.5 / falsification re-audit) have no orchestrator subcommand: read the prompt at references/system-prompts/<phase>.txt, gather the inputs listed at its top, and Write the JSON described under Output: to $RUN_DIR/<phase>/<phase>_output.json.
Phase 0 - Agentic literature grounding
Phase 0 is split into a deterministic setup step and an LLM sub-agent step.
Step 0a - setup (Bash):
python3 "$SKILL_DIR/scripts/run.py" phase0 --query "<user's research question>" --out "$RUN_DIR/phase0/"
This writes:
$RUN_DIR/phase0/query.txt- the raw user query.$RUN_DIR/phase0/user_refs.json- URL/ID references extracted from the query.
Step 0b - agentic retrieval (sub-agent):
Spawn an isolated sub-agent with references/agentic-retrieval-prompt.md as its system prompt. Pass ONLY these file paths:
$RUN_DIR/phase0/query.txt$RUN_DIR/phase0/user_refs.jsonreferences/intent-recognition.mdreferences/pattern-summary-rubric.mdreferences/schemas.mdreferences/intake-routing.md
The sub-agent:
- Checks
intake-routing.mdOOD triggers. If OOD, writes$RUN_DIR/do_not_generate.mdand stops. - Derives 4-6 search queries per
intent-recognition.mdMap mode (including one ESCAPE-MECHANISM query in solution vocabulary). - Runs
WebSearchfor each query with year filters, thenWebFetchon promising URLs. - Deduplicates to ~30-50 unique papers.
- Tags each paper with 1-3 ideation patterns per
pattern-summary-rubric.md. - Writes:
$RUN_DIR/phase0/lit_results.json- deduplicated paper records (retrieved_via: websearch,source: websearch).$RUN_DIR/phase0/lit_table.md- exact 9-column table required by Phase 1.$RUN_DIR/phase0/.lit_grounding_mode- sentinel containingagentic.
Step 0c - full-text fetch (Bash, mandatory):
python3 "$SKILL_DIR/scripts/run.py" phase0_fulltext --out "$RUN_DIR/phase0/"
Reuses scripts/fetch_sections.py (arXiv HTML first, then PDF fallbacks). No API keys. Phase 1 hard-gates on fulltext_cache.json.
Phase 1 - Bottleneck identification
One isolated LLM call. Prompt: references/system-prompts/bottleneck_identify.txt (which now accepts .lit_grounding_mode == agentic). Inputs: user query + intake, phase0/lit_table.md, phase0/fulltext_cache.json, phase0/lit_results.json. Output phase1/phase1_output.json with state ∈ {proceed, do_not_generate}.
Phase 2 - Selection + generation
Identical to idea-spark. Run 2.1 and 2.2 back-to-back in ONE isolated sub-agent, writing BOTH phase2_select_output.json and phase2_generate_output.json. Then run the deterministic citation gate (validate --phase2 ...), then the coherence gate (2.3, fresh context).
Phase 3 - Quality gauntlet
3.1 collision - agentic (setup + sub-agent + assembly):
Setup:
python3 "$SKILL_DIR/scripts/run.py" phase3_collision --idea-json "$RUN_DIR/phase2_coherence/refined_candidate.json" --out "$RUN_DIR/phase3_collision/"
This writes candidate.json and .agentic_collision_pending.
Sub-agent: spawn with references/agentic-collision-prompt.md. Inputs:
$RUN_DIR/phase3_collision/candidate.jsonreferences/intent-recognition.mdreferences/schemas.md
The sub-agent runs WebSearch for signature_terms[] (last ~10 months) and alias_terms[] (last ~48 months), WebFetch promising URLs, deduplicates per channel, and writes .sig_raw.json + .alias_raw.json.
Assembly:
python3 "$SKILL_DIR/scripts/run.py" phase3_collision_assemble --sig "$RUN_DIR/phase3_collision/.sig_raw.json" --alias "$RUN_DIR/phase3_collision/.alias_raw.json" --out "$RUN_DIR/phase3_collision/"
This scores relevance, truncates per channel to ≤120 hits, and writes collision_hits.json, collision_hits.full.json, and .lit_grounding_mode = agentic.
3.2 audit, 3.3 revise, retry, falsification re-audit: identical to idea-spark.
Phase 4 - Expansion + packaging
Identical to idea-spark: skeleton → fill → assemble → implementability audit → validate → render.
Validators
python3 "$SKILL_DIR/scripts/run.py" validate \
--phase2 <canonical candidate file> \
--phase3 <phase3_critique_output.json or phase3_revise_output.json> \
--phase4 $RUN_DIR/phase4/phase4_expansion.json \
--phase4-impl $RUN_DIR/phase4/phase4_implementability.json
Same validators as idea-spark. Retry budget cap = 2.
Configuration
IDEASPARK_DEFAULT_COMPUTE- optional standing compute profile, read from the shell environment (not.env). Precedence: user query > this env var > factory default.
Output surface policy
Same as idea-spark: no calendar projections, no experiment matrix / ablation plan / baseline table. The skill produces IDEA + falsifiability + feasibility judgment.
What ships with it: 87 files
944.5 KB alongside SKILL.md, 16 of them executable
references/
- agentic-collision-prompt.md4.4 KB
- agentic-retrieval-prompt.md7.8 KB
- anti-patterns.md5.7 KB
- design-notes.md21.3 KB
- ideation-patterns/adapt_via_conditioning.md13.1 KB
- ideation-patterns/algebraic_equivalence_unification.md12.6 KB
- ideation-patterns/architectural_operator_substitution.md13.1 KB
- ideation-patterns/assumption_audit_and_pivot.md12.7 KB
- ideation-patterns/characterize_limit_then_surpass.md11.1 KB
- ideation-patterns/companion-combos.md7.1 KB
- ideation-patterns/controlled_diagnostic_design.md11.9 KB
- ideation-patterns/decompose_and_delegate.md13.4 KB
- ideation-patterns/generative_process_redesign.md12.1 KB
- ideation-patterns/heterogeneous_decomposition.md14.2 KB
- ideation-patterns/overview.md13.0 KB
- ideation-patterns/reframe_as_solvable_object.md12.6 KB
- ideation-patterns/relax_discrete_search_to_continuous.md13.4 KB
- ideation-patterns/self_supervised_signal_engineering.md13.4 KB
- ideation-patterns/structural_prior_encoding.md14.1 KB
- ideation-patterns/targeted_self_supervised_objective.md11.0 KB
- ideation-patterns/unify_into_shared_representation.md14.4 KB
- ideation-sub-patterns/C00.md9.3 KB
- ideation-sub-patterns/C01.md8.7 KB
- ideation-sub-patterns/C02.md8.5 KB
- ideation-sub-patterns/C03.md8.4 KB
- ideation-sub-patterns/C04.md8.2 KB
- ideation-sub-patterns/C05.md9.4 KB
- ideation-sub-patterns/C06.md8.2 KB
- ideation-sub-patterns/C07.md9.4 KB
- ideation-sub-patterns/C08.md8.8 KB
- ideation-sub-patterns/C09.md8.3 KB
- ideation-sub-patterns/C10.md8.1 KB
- ideation-sub-patterns/C11.md9.5 KB
- ideation-sub-patterns/C12.md9.2 KB
- ideation-sub-patterns/C13.md8.8 KB
- CLAUDE.md6.7 KB
- .gitignore77 B
- LICENSE1.2 KB
- README.md7.8 KB
- README.zh-CN.md7.6 KB
47 more files not listed here. See all 87 in the repository.