From research
Use when the user wants a literature search across multiple sources for a research question, NOT for summarizing a single known paper (that's paper-summarizer). Performs multi-pass search across arxiv, OpenAlex, and Semantic Scholar, deduplicates results, runs every candidate through citation-check before it can be cited, and optionally produces structured summaries via paper-summarizer. Activates on phrases like "find papers on", "what's the literature on", "do a lit review for", "find recent work in", "search for papers about", or any task that produces a multi-paper bibliography.
How this skill is triggered — by the user, by Claude, or both
Slash command
/research:lit-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are running a literature search for Sidd's research. Output is a bibliography of papers actually relevant to the user's question. **Hard requirement: nothing enters the output unless it has passed `citation-check` existence + metadata.** Confabulated citations are the failure mode this skill exists to prevent.
You are running a literature search for Sidd's research. Output is a bibliography of papers actually relevant to the user's question. Hard requirement: nothing enters the output unless it has passed citation-check existence + metadata. Confabulated citations are the failure mode this skill exists to prevent.
citation-check checks 1 (existence) and 2 (metadata) before inclusion. Check 3 (claim grounding) is run only on papers the user actually wants to cite, since it's expensive.Before searching, restate the user's question in the form of a search-friendly research question. Confirm with the user if it's ambiguous. Write it down — it's needed for the report at the end.
Then derive search facets:
Run each pass and log the queries used, the source, and the raw count of results. Sources, in order of preference for AI/ML topics:
WebFetch https://export.arxiv.org/api/query?search_query=...&sortBy=submittedDate&max_results=50 or use the arxiv API endpoint. Best for preprints, recent CS work.WebFetch https://api.openalex.org/works?search=...&filter=publication_year:2024-. Best for citation graph, broad coverage including non-CS fields.https://api.semanticscholar.org/graph/v1/paper/search?query=.... Best for semantic ranking and "papers similar to" recommendations.For each source, run at least two queries:
Save raw query results as JSON, one file per (source, query) pair, named with a hash of the query so re-running is idempotent. Put them in a lit-review/<topic-slug>/raw/ directory, parented under whatever location the project uses for research data (honor an existing convention, else default to a .research/ or research/ directory at the project root). Tell the user the chosen path.
Auto-gitignore the chosen output directory before writing the first file, per the canonical rule in ai-analysis SKILL.md § Auto-gitignore.
Merge results across sources using this priority order for matching:
After merging, each unique paper has a record with all source IDs (DOI, arxiv ID, OpenAlex ID, Semantic Scholar ID) listed.
For each unique paper that passes initial relevance filtering, run citation-check checks 1 and 2:
Drop any paper that fails existence. Flag (do not drop) papers with metadata mismatches — note the diff for the user to resolve.
For each verified paper, classify relevance to the research question:
| Tier | Meaning | Action |
|---|---|---|
| A | Directly addresses the question | Include in main bibliography, queue for paper-summarizer |
| B | Closely related, useful context | Include in main bibliography |
| C | Tangentially related | Include in "see also" section |
| D | Same keywords, different topic | Drop |
Triage is based on title + abstract only at this stage. Don't read full text yet — paper-summarizer does that.
If the user wants summaries (or by default, for the top 5 tier-A papers), invoke paper-summarizer for each. The summarizer picks its own output location per its rules.
Output a markdown document REPORT.md in the same lit-review/<topic-slug>/ directory as the raw query results from Step 2:
# Literature review: <research question>
**Run on:** <date>
**Time scope:** <e.g. 2023-present>
**Sources searched:** arxiv, OpenAlex, Semantic Scholar
**Queries run:** <count>
**Raw results retrieved:** <count>
**After dedup:** <count>
**Verified (passed citation-check):** <count>
**Tier A:** <count> | **Tier B:** <count> | **Tier C:** <count>
## Tier A — directly addresses the question
| # | Citation | DOI / arxiv | Why relevant | Summary path |
|---|----------|-------------|--------------|--------------|
## Tier B — context and adjacent work
| # | Citation | DOI / arxiv | Why relevant |
|---|----------|-------------|--------------|
## Tier C — see also
...
## Search queries used (for replication)
| Source | Query | Date | Result count | Raw file |
|--------|-------|------|---------------|----------|
## Verification failures and warnings
...
## Coverage caveats
- Sources NOT searched: <e.g. "did not search PubMed since topic is CS-only">
- Time-scope cutoff: <date>
- Language: English only unless specified
- Anything else that limits the review's coverage
Citations are formatted using the cascade in citation-check (detect from manuscript → ask user → BibTeX fallback).
If you use any LLM API calls for query expansion, semantic re-ranking, or relevance classification, log them per the Raw call logging protocol in ai-analysis/SKILL.md. Use a run-id that ties them to this lit-review run, and honor that same location-selection logic for where the per-call JSON files go.
WebFetch — arxiv API, OpenAlex API, Semantic Scholar API, individual paper landing pages.WebSearch — when API search misses a known relevant paper and you need to find it by partial info.mcp__exa__* — semantic search across academic content; useful when keyword search is too narrow.mcp__firecrawl__* — for sources that block plain WebFetch.Write — to save raw query results, the report, and the bibliography.openAccessPdf field.npx claudepluginhub siddvoh/sidds-claude-plugins --plugin researchGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.