From corbis-literature-starter-kit
Generates publication-ready figures visualizing academic literature patterns: publication trends, citation landmarks, journal distributions, thematic evolution, method timelines, and coverage gap maps using Python, matplotlib, pandas, and numpy.
npx claudepluginhub agentic-assets/corbis-literature-starter-kitThis skill uses the workspace's default tool permissions.
Generate publication-ready figures that visualize the structure and evolution of an academic literature. These figures appear in survey papers, dissertation chapters, grant proposals, and paper introductions to motivate research gaps.
Creates publication-ready scientific figures with matplotlib/seaborn/plotly, including multi-panel layouts, error bars, significance annotations, colorblind-safe palettes, and journal formatting for Nature, Science, Cell.
Guides chart type selection by data structure, accessible color palettes like viridis and Okabe-Ito, figure composition, and journal formatting for scientific publications and talks.
This skill should be used when the user asks to "create a figure", "make a scientific figure", "create a paper figure", "generate a figure element", "make an icon", "plot data for a figure", "compose figure panels", "create a graphical abstract", "make a multi-panel figure", "generate a PDF figure", "create a Nature-style figure", "make a publication figure", "create a figure for my grant", "make a poster figure", "create a schematic diagram", or mentions scientific figures, figure elements, figure composition, figure panels, icons for papers, matplotlib/seaborn/ggplot plots for figures, or react-pdf figures.
Share bugs, ideas, or general feedback.
Generate publication-ready figures that visualize the structure and evolution of an academic literature. These figures appear in survey papers, dissertation chapters, grant proposals, and paper introductions to motivate research gaps.
/lit-review or /lit-search) and wants figuresRequires Python with matplotlib, pandas, and numpy. If not installed:
pip install matplotlib pandas numpy
| Key | Figure | What it shows |
|---|---|---|
timeline | Publication timeline | Papers per year, optionally stacked by journal |
citations | Citation landmark chart | Scatter of year vs. citations, top papers labeled |
journals | Journal distribution | Horizontal bars: which outlets publish most on the topic |
themes | Thematic evolution heatmap | Keyword frequency across year bins, showing focus shifts |
methods | Methods timeline | Stacked bar of identification strategies over time |
gapmap | Coverage gap map | Matrix: settings x methods, empty cells = research gaps |
| Input | Required? | Default |
|---|---|---|
| Topic or research question | Yes (if no existing data) | — |
| Existing paper data (JSON file, bib file, or reading list) | No | Run fresh Corbis searches |
| Which figures to generate | Yes (propose, user selects) | All 6 |
| Gap map row dimension | No | Geographic setting (auto-detected) |
| Gap map column dimension | No | Research method (auto-detected) |
If the user provides a topic but no existing data, run searches to build the dataset. If they point to an existing reading list or bib file from a prior /lit-review, use that as the starting point and enrich with get_paper_details to fill in missing citation counts and abstracts.
Option A — Use existing paper_set.json (preferred):
If output/paper_set.json exists, read it. This file is written by /lit-review, /brainstorm, /lit-search, and /idea. If it contains 40+ papers on the topic, use it directly. If it's small (<40), supplement with 2-3 search_papers queries.
Option B — Fresh search (no existing data):
Run 4-5 search_papers queries with matchCount: 20 each, varying keywords and year ranges to cover the topic broadly. Goal: 80-100 papers with metadata. For each paper, ensure you have: title, authors, year, journal, citedByCount, abstract, and fullText when available.
Call get_paper_details_batch (up to 25 IDs per call) on papers missing citation counts or abstracts. Prioritize high-citation and recent papers.
Deduplicate by id or title similarity.
Option C — User-provided data:
If the user points to a JSON file, reading list markdown, or .bib file from a prior /lit-review:
get_paper_details_batch to fill gapssearch_papers queriesSave the dataset:
Write the paper data to a JSON file at output/lit_landscape_data.json (or a topic-specific name). Format:
[
{
"title": "Paper Title",
"authors": ["Author One", "Author Two"],
"year": 2005,
"journal": "Journal Name",
"citedByCount": 1234,
"abstract": "Full abstract text..."
}
]
This file is the input to utils/lit_landscape.py.
Analyze the dataset and propose which figures would be most informative. Use these heuristics:
| Condition | Recommendation |
|---|---|
| Papers span 10+ years | Timeline is valuable |
| Papers span <10 years | Skip timeline or use 1-year bins |
| Citation range varies widely (max/min > 50) | Citation landmark chart is valuable |
| Papers come from 4+ journals | Journal distribution is valuable |
| Papers come from 1-2 journals | Skip journal distribution |
| Abstracts contain identifiable method keywords | Methods timeline is valuable |
| Abstracts lack method keywords | Skip methods timeline |
| Papers cover multiple settings/countries | Gap map is valuable |
| Topic is narrow/single-country | Propose custom gap map dimensions instead of setting x methods |
For the gap map, propose specific row and column dimensions based on the topic. Examples:
Present the proposal and wait for user approval.
Deliver this proposal:
# Literature Landscape — Figure Proposal
## Dataset: [N] papers, [min_year]-[max_year]
## Recommended figures:
1. ✅ Publication timeline — [reason]
2. ✅ Citation landmark chart — [reason]
3. ✅ Journal distribution — [reason]
4. ⬜ Thematic evolution — [reason to include or skip]
5. ⬜ Methods timeline — [reason to include or skip]
6. ✅ Coverage gap map — [proposed rows] x [proposed cols]
## Gap map dimensions:
- Rows: [list, e.g., "US, China, Europe, Emerging, Cross-country"]
- Columns: [list, e.g., "Event study, DiD, RDD, Panel/FE, Structural"]
Select which figures you want (or say "all"), and I'll generate them.
Checkpoint: Wait for user approval. Do not generate figures until the user confirms.
Run the Python utility:
python utils/lit_landscape.py output/lit_landscape_data.json \
--figures timeline citations journals themes methods gapmap \
--outdir output/figures \
--group-timeline-by journal \
--bin-size 3 \
--label-top-n 8
If the user specified custom gap map dimensions:
python utils/lit_landscape.py output/lit_landscape_data.json \
--figures gapmap \
--outdir output/figures \
--gapmap-rows "US,China,Europe,Emerging,Cross-country" \
--gapmap-cols "Event study,DiD,RDD,Panel/FE"
Verify each figure after generation:
For each generated figure, provide a 2-3 sentence interpretation of what it shows. Example:
## Figure Results
### Publication timeline (fig_timeline.pdf)
Publication on this topic accelerated sharply after 2005, with output tripling
between 2010-2015 and 2015-2020. Two journals account for the largest shares.
### Coverage gap map (fig_gapmap.pdf)
Three cells show zero papers: RDD studies in emerging markets, structural
models in the US, and DiD designs in cross-country samples. The RDD gap in
emerging markets may reflect data limitations rather than a true research
opportunity.
Lab notebook: Append an entry to notes/lab_notebook.md:
---
### [DATE] — Literature Landscape: [Topic]
**What was done**: Generated [N] landscape figures from [M] papers on [topic].
**Figures generated**:
- [fig_timeline.pdf]: [1-sentence finding]
- [fig_citations.pdf]: [1-sentence finding]
- ...
**Gaps identified** (from gap map):
- [Gap 1]
- [Gap 2]
**Output files**:
- Data: output/lit_landscape_data.json
- Figures: output/figures/fig_*.pdf
**Next steps**: [e.g., use gap map to inform /brainstorm, or include figures in paper]