deep-research
Conduct systematic academic literature reviews in 6 phases, producing structured notes, a curated paper database, and a synthesized final report. Output is organized by phase for clarity.
By lingzhi227 · 1,666 installs
npx skills add lingzhi227/agent-research-skills --skill deep-research
Source repository · Upstream listing
Deep Research Skill
Trigger
Activate this skill when the user wants to:
"Research a topic", "literature review", "find papers about", "survey papers on"
"Deep dive into [topic]", "what's the state of the art in [topic]"
Uses /research <topic slash command
Overview
This skill conducts systematic academic literature reviews in 6 phases, producing structured notes, a curated paper database, and a synthesized final report. Output is organized by phase for clarity.
Installation : ~/.claude/skills/deep research/ — scripts, references, and this skill definition.
Output : .//Users/lingzhi/Code/deep research output/{slug}/ relative to the current working directory.
CRITICAL: Strict Sequential Phase Execution
You MUST execute all 6 phases in strict order: 1 → 2 → 3 → 4 → 5 → 6. NEVER skip any phase.
This is the single most important rule of this skill. Violations include:
❌ Jumping from Phase 2 to Phase 5/6 (skipping Deep Dive and Code)
❌ Writing synthesis or report before completing Phase 3 deep reading
❌ Producing a final report based only on abstracts/titles from search results
❌ Combining or merging phases (e.g., doing "Phase 3 5 together")
Phase Gate Protocol
Before starting Phase N+1, you MUST verify that Phase N's required output files exist on disk. If they don't exist, you have NOT completed that phase.
Phase Gate: Required Output Files
1 → 2 phase1 frontier/frontier.md exists AND contains ≥10 papers
2 → 3 phase2 survey/survey.md exists AND paper db.jsonl has 35 80 papers
3 → 4 phase3 deep dive/selection.md AND phase3 deep dive/deep dive.md exist AND deep dive.md contains detailed notes for ≥8 papers
4 → 5 phase4 code/code repos.md exists AND contains ≥3 repositories
5 → 6 phase5 synthesis/synthesis.md AND phase5 synthesis/gaps.md exist
After completing each phase, print a phase completion checkpoint:
Why Every Phase Matters
Phase 3 (Deep Dive) is where you actually READ papers — without it, your synthesis is superficial and based only on abstracts
Phase 4 (Code & Tools) grounds the research in practical implementations — without it, you miss the open source ecosystem
Phase 5 (Synthesis) requires deep knowledge from Phase 3 — you cannot synthesize papers you haven't read
Phase 6 (Report) assembles content from ALL prior phases — it should cite specific findings from Phase 3 notes
Paper Quality Policy
Peer reviewed conference papers take priority over arXiv preprints. Many arXiv papers have not undergone peer review and may contain unverified claims.
Source Priority (highest to lowest)
1. Top AI conferences : NeurIPS, ICLR, ICML, ACL, EMNLP, NAACL, AAAI, IJCAI, CVPR, KDD, CoRL
2. Peer reviewed journals : JMLR, TACL, Nature, Science, etc.
3. Workshop papers : NeurIPS/ICML workshops (lower bar but still reviewed)
4. arXiv preprints with high citations : Likely high quality but unverified
5. Recent arXiv preprints : Use cautiously, note "preprint" status explicitly
When to Use arXiv Papers
As supplementary evidence alongside peer reviewed work
For very recent results (< 3 months old) not yet at conferences
When a peer reviewed version doesn't exist yet — note (preprint) in citations
For survey/review papers (these are useful even without peer review)
Search Tools (by priority)
1. paper finder (primary — conference papers only)
Location : /Users/lingzhi/Code/documents/tool/paper finder/paper finder.py
Searches ai paper finder.info (HuggingFace Space) for published conference papers. Supports filtering by conference + year. Outputs JSONL with BibTeX.
Config example:
2. search semantic scholar.py (supplementary — citation data + broader coverage)
Location : /Users/lingzhi/.claude/skills/deep research/scripts/search semantic scholar.py
Supports peer reviewed only and top conferences filters. API key: /Users/lingzhi/Code/keys.md (field S2 API Key )
3. search arxiv.py (supplementary — latest preprints)
Location : /Users/lingzhi/.claude/skills/deep research/scripts/search arxiv.py
For searching recent papers not yet published at conferences. Mark citations with (preprint) .
Other Scripts
Script Location Key Flags
download papers.py ~/.claude/skills/deep research/scripts/ jsonl , output dir , max downloads , sort by citations
extract pdf.py ~/.claude/skills/deep research/scripts/ pdf , pdf dir , output dir , sections only
paper db.py ~/.claude/skills/deep research/scripts/ subcommands: merge , search , filter , tag , stats , add , export
bibtex manager.py ~/.claude/skills/deep research/scripts/ jsonl , output , keys only
compile report.py ~/.claude/skills/deep research/scripts/ topic dir
WebFetch Mode (no Bash)
1. Paper discovery : WebSearch + WebFetch to query Semantic Scholar/arXiv APIs
2. Paper reading : WebFetch on ar5iv HTML or Read tool on downloaded PDFs
3. Writing : Write tool for JSONL, notes, report files
6 Phase Workflow
Phase 1: Frontier
Search the latest conference proceedings and preprints to understand current trends.
1. Write phase1 frontier/paper finder config.yaml targeting latest 1 2 years
2. Run paper finder scrape
3. WebSearch for latest accepted paper lists
4. Identify trending directions, key breakthroughs
→ Output: phase1 frontier/frontier.md , phase1 frontier/search results/
Phase 2: Survey
Build a comprehensive landscape with broader time range. Target 35 80 papers after filtering.
1. Write phase2 survey/paper finder config.yaml covering 2023 2025
2. Run paper finder + Semantic Scholar + arXiv
3. Merge all results: python /Users/lingzhi/.claude/skills/deep research/scripts/paper db.py merge
4. Filter to 35 80 most relevant: python /Users/lingzhi/.claude/skills/deep research/scripts/paper db.py filter min score 0.80 max papers 70
5. Cluster by theme, write survey notes
→ Output: phase2 survey/survey.md , phase2 survey/search results/ , paper db.jsonl
Phase 3: Deep Dive ⚠️ DO NOT SKIP
This phase is MANDATORY. You must actually READ 8 15 full papers, not just their abstracts.
1. Select 8 15 papers from paper db.jsonl with rationale → write phase3 deep dive/selection.md
2. Download PDFs: python download papers.py jsonl paper db.jsonl output dir phase3 deep dive/papers/ sort by citations max downloads 15
3. For EACH selected paper, read the full text (PDF via Read or HTML via WebFetch on ar5iv)
4. Write detailed structured notes per paper (see note format.md template): problem, contributions, methodology, experiments, limitations, connections
5. Write ALL notes → phase3 deep dive/deep dive.md
Phase 3 Gate : deep dive.md must contain detailed notes for ≥8 papers, each with methodology and experiment sections filled in. Abstract only summaries do NOT count.
→ Output: phase3 deep dive/selection.md , phase3 deep dive/deep dive.md , phase3 deep dive/papers/
Phase 4: Code & Tools ⚠️ DO NOT SKIP
This phase is MANDATORY. You must survey the open source ecosystem.
1. Extract GitHub URLs from papers read in Phase 3
2. WebSearch for implementations: "site:github.com {method name}", "site:paperswithcode.com {topic}"
3. For each repo found: record URL, stars, language, last updated, documentation quality
4. Search for related benchmarks and datasets
5. Write → phase4 code/code repos.md (must contain ≥3 repositories)
Phase 4 Gate : code repos.md must exist and contain at least 3 repositories with metadata.
→ Output: phase4 code/code repos.md
Phase 5: Synthesis (REQUIRES Phase 3 + 4 complete)
Cross paper analysis. Weight peer reviewed findings higher .
This phase MUST build on the detailed notes from Phase 3 and the code landscape from Phase 4.
Taxonomy, comparative tables, gap analysis.
Before starting : Verify phase3 deep dive/deep dive.md and phase4 code/code repos.md exist. If not, go back and complete those phases first.
→ Output: phase5 synthesis/synthesis.md , phase5 synthesis/gaps.md
Phase 6: Compilation (REQUIRES Phase 1 5 complete)
Assemble final report from ALL prior phase outputs. Mark preprint citations with (preprint) suffix.
Before starting : Verify ALL phase outputs exist:
phase1 frontier/frontier.md
phase2 survey/survey.md
phase3 deep dive/deep dive.md
phase4 code/code repos.md
phase5 synthesis/synthesis.md + gaps.md
If ANY are missing, go back and complete the missing phase(s) first.
→ Output: phase6 report/report.md , phase6 report/references.bib
Output Directory
Key Conventions
Paper IDs : Use arxiv id when available, otherwise Semantic Scholar paperId
Citations : [@key] format, key = firstAuthorYearWord (e.g., [@vaswani2017attention] )
JSONL schema : title, authors, abstract, year, venue, venue normalized, peer reviewed , citationCount, paperId, arxiv id, pdf url, tags, source
Preprint marking : Always note (preprint) when citing non peer reviewed work
Incremental saves : Each phase writes to disk immediately
Paper count : Target 35 80 papers in final paper db.jsonl (use paper db.py filter )
References
/Users/lingzhi/.claude/skills/deep research/references/workflow phases.md — Detailed 6 phase methodology
/Users/lingzhi/.claude/skills/deep research/references/note format.md — Note templates, BibTeX format, report structure
/Users/lingzhi/.claude/skills/deep research/references/api reference.md — arXiv, Semantic Scholar, ar5iv API guide
Related Skills
Downstream: [literature search](../literature search/), [literature review](../literature review/), [citation management](../citation management/)
See also: [novelty assessment](../novelty assessment/), [survey generation](../survey generation/)