soumit17

Llamaindex Literature Review — Development skill for Claude Code

Development community

Event-driven literature review agent built with LlamaIndex Workflows: ingests arXiv papers, researches sub-questions in parallel, pauses for human outline approval, and writes a fully cited review.

How to install Llamaindex Literature Review

This entry records only its repository, not the path inside it, so there is no exact command to give. Open soumit17/llamaindex-literature-review and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Llamaindex Literature Review does

Event-driven literature review agent built with LlamaIndex Workflows: ingests arXiv papers, researches sub-questions in parallel, pauses for human outline approval, and writes a fully cited review. Includes durable runs, retries, a multi-agent AgentWorkflow variant, and evals, all powered by Claude.

Alternatives in Development

  • Ars Outline — ARS academic-paper outline-only mode — detailed outline + evidence map 4.5k ★
  • Last30days Skill — Claude Code skill that researches any topic across Reddit + X from the last 30 days, then writes copy-paste-re 4.4k ★
  • Chapter Outline — 生成章纲 skill 669 ★

README

LitReview (P2): LlamaIndex Workflows

Turns a research question into a cited mini literature review over ~25 arXiv papers. Full spec: [p2-llamaindex-workflows-literature-review.md](p2-llamaindex-workflows-literature-review.md). Version pins and every deviation from the spec: [docs/decisions.md](docs/decisions.md).

**Status:** M0 (scaffold and Workflows fundamentals) done.

Setup

uv sync                      # creates .venv (Python 3.12) from uv.lock
cp .env.example .env         # then put your ANTHROPIC_API_KEY in .env
uv run pytest                # $0: network is blocked, no model calls

M0: run it yourself

Command Cost What to look at
uv run litreview hello Ada $0 The Progress events streamed by the loop, then the custom stop event
uv run litreview hello Ada --debug-steps $0 Internal StepStateChanged events: each step going running → not_running, and which event it consumed and produced
uv run litreview hello "" $0 The branch: start returns Greeted directly and tick never runs
uv run litreview tiny $0 The same engine with steps written as plain functions
uv run litreview draw $0 Writes docs/hello_flow.html (open it in a browser) and docs/hello_flow.md
uv run litreview smoke ~$0.0001 One live Haiku call through the injected LLM Resource
uv run litreview cost $0 Spend so far from runs/costs.jsonl

How a Workflows run flows

There is no graph definition anywhere. Each `@step` declares the event type it accepts (its parameter annotation) and what it can emit (its return annotation). At run time:

  1. wf.run(start_event=Greet(...)) puts the start event on the queue.
  2. The runtime finds the step whose input type matches exactly (start takes Greet) and runs it.
  3. Whatever it returns becomes the next event. Tick routes to tick; Greeted is a StopEvent, so the run ends.
  4. Branch: return a different event type (`sta