Skip to content
Back to skills

Knowledge Literature Review

ASecurity

Conduct structured literature reviews by searching arXiv, building citation graphs via Semantic Scholar, and storing papers locally in the knowledge base. Use when asked to: review literature on a topic, map a research area, find key papers or state-of-the-art methods, explore citation networks, build a reading list, identify research gaps, expand from a seed paper to find related work, or understand what has been published in a field.

  • 8 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 20, 2026
researchgobashapi

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 20, 2026

npx -y skills add tstapler/dotfiles --skill knowledge-literature-review --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Knowledge Literature Review?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Knowledge Literature Review
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tstapler-knowledge-literature-review/badge)](https://www.skillsdirectory.com/skills/tstapler-knowledge-literature-review)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: knowledge-literature-review
description: Conduct structured literature reviews by searching arXiv, building citation graphs via Semantic Scholar, and storing papers locally in the knowledge base. Use when asked to: review literature on a topic, map a research area, find key papers or state-of-the-art methods, explore citation networks, build a reading list, identify research gaps, expand from a seed paper to find related work, or understand what has been published in a field.
---

# Literature Review Skill

Systematically survey a research area via arXiv + Semantic Scholar, store every paper locally, build a citation graph, and surface the most important work.

## Storage Layout

All data lives in `LITERATURE_DIR` (default: `~/Documents/personal-wiki/literature/`):

```
literature/
├── papers/           # One JSON file per paper
│   └── 2105_12345.json
├── graph.json        # Citation edges (rebuilt by build_graph.py)
└── index.json        # Fast lookup: paper_id → file path + title
```

Set `LITERATURE_DIR` env var to override the default location.

## Scripts

All scripts use `uv run` for dependency management. Run from any directory.

| Script | Purpose |
|--------|---------|
| `fetch_papers.py` | Search arXiv, fetch metadata + references/citations from Semantic Scholar, save locally |
| `build_graph.py` | Rebuild graph.json, compute metrics, rank papers |
| `visualize_graph.py` | Output DOT (Graphviz) or interactive HTML |

Scripts location: `~/.claude/skills/knowledge-literature-review/scripts/`

## Core Workflow

### 1. Seed the corpus

Search by topic:
```bash
uv run ~/.claude/skills/knowledge-literature-review/scripts/fetch_papers.py search "3D semantic instance segmentation" --max 30
```

**Start from a known paper (snowball — recommended for focused reviews):**
```bash
# Full snowball: seed → its references + papers citing it → their citers (newest work)
uv run ~/.claude/skills/knowledge-literature-review/scripts/fetch_papers.py snowball arxiv:2105.12345

# With S2 semantic recommendations too
uv run ~/.claude/skills/knowledge-literature-review/scripts/fetch_papers.py snowball arxiv:2105.12345 --recommendations

# Just find what cited the seed (forward only, newest first)
uv run ~/.claude/skills/knowledge-literature-review/scripts/fetch_papers.py expand arxiv:2105.12345 --direction forward

# Just follow references (backward, what the seed builds on)
uv run ~/.claude/skills/knowledge-literature-review/scripts/fetch_papers.py expand arxiv:2105.12345 --direction backward --depth 2
```

### 2. Build and analyze the graph

```bash
uv run ~/.claude/skills/knowledge-literature-review/scripts/build_graph.py build
uv run ~/.claude/skills/knowledge-literature-review/scripts/build_graph.py top --n 20
uv run ~/.claude/skills/knowledge-literature-review/scripts/build_graph.py stats
```

### 3. Visualize

```bash
uv run ~/.claude/skills/knowledge-literature-review/scripts/visualize_graph.py html > /tmp/literature_graph.html
# Then open /tmp/literature_graph.html in browser

uv run ~/.claude/skills/knowledge-literature-review/scripts/visualize_graph.py dot > /tmp/graph.dot
dot -Tsvg /tmp/graph.dot > /tmp/graph.svg
```

> For synthesizing the key papers into Zettelkasten notes in Logseq, apply the `knowledge-synthesis` skill.

### 4. Create wiki pages for key papers

For each highly-cited paper surfaced by `build_graph.py top`, create a Logseq page:
- File: `~/Documents/personal-wiki/logseq/pages/Paper - {Title}.md`
- Link from the daily Knowledge Synthesis Zettel
- Follow the knowledge-synthesis pattern for bidirectional linking

## When Conducting a Literature Review

1. **Start broad**: search 2-3 keyword variants, collect 30-50 papers
2. **Identify anchors**: run `build_graph.py top` — papers with highest in-corpus citation count are likely landmark works
3. **Expand depth**: run `expand` on the top 5 anchor papers (depth 1 or 2)
4. **Rebuild and re-rank**: `build_graph.py build && build_graph.py top`
5. **Find clusters**: `build_graph.py clusters` to identify sub-topics
6. **Identify gaps**: papers in your query that are poorly connected to the main cluster may represent niche or emerging work
7. **Synthesize**: run `/knowledge:synthesize-knowledge` on key papers

## Snowball vs Expand vs Search

| Command | Best for |
|---------|---------|
| `snowball` | Starting from one known paper — discovers both older foundations AND newest follow-up work |
| `expand --direction forward` | Finding only papers that cited a given paper (what built on it) |
| `expand --direction backward` | Deep-diving the reference tree (what it was built on) |
| `search` | Broad topic discovery when you don't have a seed paper |

The `snowball` command is the primary entry point for seed-paper reviews. It:
1. Fetches the seed's references (backward)
2. Fetches papers that cite the seed (forward, newest first)
3. Fetches citers of round-1 papers (second-order = most recent related work)
4. Optionally adds S2 semantic recommendations (similar papers by embedding)

## Rate Limits

- Semantic Scholar: 100 req/5 min unauthenticated. Set `S2_API_KEY` env var for higher limits (free key at semanticscholar.org).
- arXiv: no auth needed, be polite (3 sec delay between requests).
- `fetch_papers.py` handles rate limiting automatically with exponential backoff.

## Paper JSON Format

See `reference.md` for full schema. Key fields:
- `id`: canonical form `arxiv:XXXX.XXXXX`
- `references`: list of paper IDs this paper cites (outgoing edges)
- `cited_by`: list of paper IDs that cite this paper (incoming, within corpus)
- `citation_count`: Semantic Scholar's total citation count (not just within corpus)
- `tags`, `notes`: user-editable fields for annotation

---

## Related Skills

| Skill | When to apply |
|-------|--------------|
| `knowledge-synthesis` | Synthesize key papers into interconnected Zettelkasten notes |
| `notebooklm` | Load papers into NotebookLM for source-grounded Q&A |
| `meta-research-workflow` | Systematic web research when no seed paper is known |
| `mermaid-diagrams` | Visualize citation graphs or research concept maps |
| `knowledge-confluence-sync` | Publish the literature review to Confluence |

## Token Budget
- SKILL.md: ~800 tokens
- reference.md: ~400 tokens (loaded on demand)
- Scripts: read only when executing

Files in this skill

  • SKILL.md6.2 KB
  • reference.md1.9 KB
  • scripts/build_graph.py10.3 KB
  • scripts/fetch_papers.py34.1 KB
  • scripts/visualize_graph.py8.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…