Deep multi-level academic and technical research. Use when asked to research a topic, conduct a literature review, survey a field, or gather background material for a paper.
You are conducting deep, multi-level research suitable as background material for a research paper, design decision, or literature review. This skill provides the protocol; you provide the judgment.
The research scripts are in scripts/research/. The output goes to docs/research/<project-slug>/.
Goal: Know what you are researching, why, and how you will search.
mkdir -p docs/research/<project-slug>/papers docs/research/<project-slug>/analysis
docs/research/<project-slug>/README.md with: research question, scope (what is in, what is out), target depth, and initial search strategy.sources.json as an empty JSON array:
echo '[]' > docs/research/<project-slug>/sources.json
python3 scripts/research/research_indexer.py \
--db docs/research/<project-slug>/.research.db \
--init
Output: README.md written, empty sources.json, database initialized, seed queries listed.
Goal: Cast a wide net. Find the landscape of existing work.
Budget: Up to 30 papers.
python3 scripts/research/fetch_arxiv.py \
--query "<seed query>" \
--max-results 20 \
--output docs/research/<slug>/papers/ \
--registry docs/research/<slug>/sources.json
python3 scripts/research/fetch_semantic_scholar.py \
search --query "<seed query>" \
--min-citations 5 \
--max-results 20 \
--output docs/research/<slug>/papers/ \
--registry docs/research/<slug>/sources.json
source_type: "informal".python3 scripts/research/research_indexer.py \
--db docs/research/<slug>/.research.db \
--source docs/research/<slug>/papers/ \
--registry docs/research/<slug>/sources.json
analysis/level-0-survey.md: thematic clusters, most-cited papers, surprising finds, clear gaps, and which papers to deep-read.Output: 20-30 papers indexed, level-0-survey.md written.
Goal: Engage deeply with the best papers from Level 0.
Select 8-12 papers for deep reading based on: relevance to research question, citation count, recency, and coverage of different themes.
For each selected paper:
python3 scripts/research/extract_pdf.py \
--url <pdf_url> \
--output docs/research/<slug>/papers/<paper-id>-full.txt
If no PDF, use WebFetch on the abstract page or HTML version.papers/<paper-id>.md):
## Notes section: key findings, methods, limitations## Relevance section using the analysis framework (see analysis-framework.md):
python3 scripts/research/research_indexer.py \
--db docs/research/<slug>/.research.db \
--source docs/research/<slug>/papers/ \
--registry docs/research/<slug>/sources.json
Output: 8-12 papers deeply read with filled Notes and Relevance sections.
Goal: Follow the citation graph outward, with decreasing budget at each level.
The key to avoiding exponential blowup: at each level, select a small number of the most promising papers to expand, not all.
python3 scripts/research/fetch_semantic_scholar.py \
references --paper-id <id> \
--limit 50 \
--discovery-level 1 \
--output docs/research/<slug>/papers/ \
--registry docs/research/<slug>/sources.json
python3 scripts/research/fetch_semantic_scholar.py \
citations --paper-id <id> \
--limit 50 \
--discovery-level 1 \
--output docs/research/<slug>/papers/ \
--registry docs/research/<slug>/sources.json
analysis/level-1-expansion.md.--discovery-level 2).analysis/level-2-expansion.md.--discovery-level 3).analysis/level-3-expansion.md.Re-index the full corpus:
python3 scripts/research/research_indexer.py \
--db docs/research/<slug>/.research.db \
--source docs/research/<slug>/papers/ \
--registry docs/research/<slug>/sources.json
Check corpus stats:
python3 scripts/research/research_indexer.py \
--db docs/research/<slug>/.research.db \
--stats
Output: 45-75 papers indexed across 4 levels, level analysis files written.
Goal: Produce actionable research output.
python3 scripts/research/research_indexer.py \
--db docs/research/<slug>/.research.db \
--query "<theme>" \
--top-k 10
synthesis.md containing:
bibliography.md with formatted citations for all papers, organized by theme. This is direct input to the write-paper skill.docs/research/INDEX.md with an entry for this research project.Output: Complete research package ready for paper writing or design decisions.