Use when the user wants a comprehensive literature survey on a specific research topic. Outputs a complete PDF survey (6–20 pages, 60+ real citations, 100+ recommended) with LaTeX source, topic-specific publication figures, and a classified literature table. Single-stage, no Python runtime.
npx skills add https://github.com/ai4s-research/ai4s-skills --skill literature-survey
End-to-end literature survey builder. Single stage, full quality from the start. The agent (Claude Code / Cursor / Aider / Codex / …) does the entire build using its own tools (WebFetch, WebSearch, Write, Bash). This SKILL is procedure + reference playbooks + LaTeX template — no Python runtime, no LLM SDK.
The substantive work is decomposed into reference playbooks under references/:
| Reference | Topic |
|---|---|
| references/00-incremental-execution.md | how to actually do this without losing work: batch sizes, persistence, resume — read first |
| references/01-bibliography-expansion.md | grow bibliography.bib to 60+ real entries (100+ recommended) via WebFetch (no memory) |
| references/02-survey-figures.md | taxonomy / timeline / coverage-matrix / area-map figures |
| references/03-survey-section-playbook.md | per-section structure for survey-shaped papers |
| references/04-layout-discipline.md | tables, figures, floats, cross-refs, author + disclosure footnote |
| references/05-quality-gate.md | self-check before delivery |
Read the relevant reference _before_ writing, not after. The full pass does not fit in a single turn — references/00-incremental-execution.md is the only execution mode that completes.
paper-writer.research-explorer.experiment-suite.Confirm with the user:
Always tell the user that human review by a domain expert is recommended before publication or production use.
TOPIC="<topic>"
SLUG=$(python3 -c "import re,hashlib,sys; t=sys.argv[1]; n=re.sub(r'[\\s_]+','-',re.sub(r'[^\\w\\s-]','',t.lower().strip())).strip('-')[:40].rstrip('-'); h=hashlib.sha1(t.encode()).hexdigest()[:8]; print(f'{n}-{h}')" "$TOPIC")
TS=$(date +%Y-%m-%d_%H%M%S)
RUN=output/literature-survey/$SLUG/$TS/survey_paper
mkdir -p "$RUN/sections" "$RUN/figures"
cp -r literature-survey/templates/survey/. "$RUN/"
ln -sfn "$TS" "output/literature-survey/$SLUG/latest"
In commands below $RUN = output/literature-survey/<slug>/latest/survey_paper.
Open references/00-incremental-execution.md first. Then carry out the five tracks below across many turns, persisting state to $RUN/ after every batch.
Open: references/01-bibliography-expansion.md.
**First (§0 of that reference): read the topic's temporal/scope intent and pick
a search posture.** AI4S and similarly fast-moving fields default to at least
60% of references from the current calendar year and previous two years. If
the topic names a year or says "latest/recent", use the stricter recency-led
profile. Historical/theoretical surveys retain a timeline-spanning exception.
Then plan 12–20 query angles, weighted by the posture. For each angle: WebSearch → triage → WebFetch each kept candidate's abstract URL → extract canonical title/authors/year/venue/url → append a BibTeX entry to $RUN/bibliography.bib. Every entry must originate from a URL fetched in this session. Memory entries forbidden.
Hard stop: do not draft prose until the bibliography has ≥ 60 entries
(100+ recommended) and passes check_bibliography_freshness.py for the
recorded profile.
Open: references/02-survey-figures.md.
A survey is defined by how well it organises a field. Choose 6–10
topic-specific figures from the families that the evidence supports:
Never force a family to fill a slot. Save each figure into $RUN/figures/ with
reproducible source alongside.
Open: references/03-survey-section-playbook.md.
Survey sections differ in shape from research-paper sections. Order: introduction → background → methods (themed survey) → discussion → conclusion → related work → abstract last.
Open: references/04-layout-discipline.md.
Put each figure or table in the section whose prose first introduces or
interprets it, immediately after that paragraph in the source. Use standard
LaTeX floats with booktabs for tables and choose [htbp], [tbp], or [p]
from the artifact's size and narrative role; do not force a common position or
section. Use ~\cite{} and ~\ref{}. Let LaTeX assign citation, figure,
table, equation, and section numbers from 1 in first-appearance order; never
type display numbers manually. Set \author{AI4S Agent} with a \thanks
footnote that always recommends human review. Surveys carry no simulated
numerical experiments, so do not include a simulated clause.
cd "$RUN"
pdflatex -interaction=nonstopmode main.tex
bibtex main
pdflatex -interaction=nonstopmode main.tex
pdflatex -interaction=nonstopmode main.tex
Open: references/05-quality-gate.md. Survey-specific targets: ≥ 60 bib
entries (100+ recommended), ≥ 6 pages, and only figures justified by the topic's
evidence.
If a gate cannot honestly be met (e.g., the field is genuinely small), say so explicitly. Do not pad.
Report:
output/literature-survey/<slug>/latest/survey_paper/main.pdfoutput/literature-survey/<slug>/latest/survey_paper/ — complete LaTeX project (reproducible)output/literature-survey/<slug>/latest/literature_table.md — classified literature table (write this alongside the bib build)references/05-quality-gate.md.A downstream skill (e.g., paper-writer) computing the same slug for the same topic will look here:
output/literature-survey/<slug>/latest/survey_paper/bibliography.bib — bib starting point.import anthropic / import openai. The skill is SKILL.md + references + LaTeX template only.Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.
Efficient database search tool for bioRxiv preprint server. Use this skill when searching for life sciences preprints by keywords, authors, date ranges, or categories, retrieving paper metadata, downloading PDFs, or conducting literature reviews.
Query and analyze scholarly literature using the OpenAlex database. This skill should be used when searching for academic papers, analyzing research trends, finding works by authors or institutions, tracking citations, discovering open access publications, or conducting bibliometric analysis across 240M+ scholarly works. Use for literature searches, research output analysis, citation analysis, and academic database queries.
Access USPTO APIs for patent/trademark searches, examination history (PEDS), assignments, citations, office actions, TSDR, for IP analysis and prior art searches.
Multiagent AI system for scientific research assistance that automates research workflows from data analysis to publication. This skill should be used when generating research ideas from datasets, developing research methodologies, executing computational experiments, performing literature searches, or generating publication-ready papers in LaTeX format. Supports end-to-end research pipelines with customizable agent orchestration.
Automated LLM-driven hypothesis generation and testing on tabular datasets. Use when you want to systematically explore hypotheses about patterns in empirical data (e.g., deception detection, content analysis). Combines literature insights with data-driven hypothesis testing. For manual hypothesis formulation use hypothesis-generation; for creative ideation use scientific-brainstorming.
Take ai4s-research/literature-survey from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.