
Literature Review
- 3.4k installs
- 255 repo stars
- Updated February 27, 2026
- lingzhi227/agent-research-skills
literature-review is an agent skill that conducts multi-perspective literature reviews by generating expert personas, running grounded Q&A dialogues with Semantic Scholar, OpenAlex, and arXiv searches, and synthesizing c
About
literature-review is a Claude Code skill from lingzhi227/agent-research-skills that packages dialogue prompts extracted from STORM at Stanford. It guides agents through persona generation by selecting Wikipedia-editor-style experts, finding related topics for contextual breadth, and structuring multi-perspective discussions before writing or building. Developers reach for literature-review when starting research-heavy features, technical investigations, or content projects that benefit from structured expert viewpoints instead of a single-pass summary. The skill fits pre-implementation discovery where diverse angles reduce blind spots in requirements, architecture choices, or domain understanding.
- Extracted from Stanford STORM research framework
- Generates related Wikipedia topics with direct URLs
- Creates multiple expert personas with distinct focus areas
- Produces focused expert roundtable participants including opposing viewpoints
- Provides ready-to-use dialogue prompts for agentic literature review
Literature Review by the numbers
- 3,354 all-time installs (skills.sh)
- +133 installs in the week ending Aug 5, 2026 (Skillselion tracking)
- Ranked #239 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
What literature-review says it does
Every sentence in the review must be supported by gathered information
npx skills add https://github.com/lingzhi227/agent-research-skills --skill literature-reviewAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 3.4k |
|---|---|
| repo stars | ★ 255 |
| Security audit | 2 / 3 scanners passed |
| Last updated | February 27, 2026 |
| Repository | lingzhi227/agent-research-skills ↗ |
How do you produce a comprehensive, citation-grounded literature review on a new research topic with diverse expert angles?
Generate expert personas and focused discussion prompts that produce higher-quality, multi-perspective research before starting any creative or implementation work.
Who is it for?
Researchers starting a new project or writing a survey section who need systematic multi-perspective search and synthesis rather than a single-pass summary.
Skip if: Skip when you only need quick persona brainstorming without literature search, or when the topic has no retrievable papers to cite.
When should I use this skill?
Starting a new research project, writing a survey section, or requesting a comprehensive literature review on a topic.
What you get
Structured review with hierarchical outline, per-section cited summaries, paper database table, and explicit knowledge gaps for further search.
- hierarchical outline
- cited review sections
- paper summary table
By the numbers
- Three to five expert personas each with three to five dialogue turns
- Four-step workflow from persona generation through synthesis and review writing
Files
Literature Review
Conduct deep literature reviews through multi-perspective dialogue and systematic search.
Input
$0— Research topic or question$1— Optional: specific focus or angle
References
- Multi-perspective dialogue prompts (STORM):
~/.claude/skills/literature-review/references/dialogue-prompts.md - Literature review workflow (AgentLaboratory):
~/.claude/skills/literature-review/references/review-workflow.md
Scripts (from literature-search skill)
# Search Semantic Scholar
python ~/.claude/skills/deep-research/scripts/search_semantic_scholar.py --query "topic" --max-results 20
# Search OpenAlex
python ~/.claude/skills/literature-search/scripts/search_openalex.py --query "topic" --max-results 20
# Search arXiv
python ~/.claude/skills/deep-research/scripts/search_arxiv.py --query "topic" --max-results 10Workflow
Step 1: Generate Expert Personas (from STORM)
Given the topic, create 3-5 diverse expert personas:
- Each represents a different perspective, role, or research angle
- Example: "ML systems researcher focused on efficiency", "Theoretical statistician concerned with guarantees"
- Use the persona generation prompts from references
Step 2: Multi-Perspective Dialogue
For each persona, simulate a multi-turn Q&A conversation: 1. Persona asks a question from their unique angle 2. Generate search queries from the question 3. Search literature using the search scripts 4. Synthesize an answer grounded in retrieved papers with inline citations 5. Record the dialogue turn with search results 6. Repeat for 3-5 turns per persona 7. End when persona says "Thank you so much for your help!"
Step 3: Synthesize Knowledge
- Combine all persona conversations into a unified knowledge base
- Remove redundancy across personas
- Organize by theme/subtopic
- Generate an outline based on the collected information
Step 4: Generate Literature Review
- Write a structured review organized by the generated outline
- Every claim must be supported by a citation
- Include a summary table of key papers (method, contribution, limitations)
Output
A structured literature review with: 1. Outline — Hierarchical topic structure 2. Per-section summaries — Each grounded in retrieved papers 3. Paper database — Structured entries for all reviewed papers 4. Knowledge gaps — Identified areas needing further investigation
Rules
- Every sentence in the review must be supported by gathered information
- If information is not found, explicitly state the gap
- Cite broadly — cover diverse approaches, not just the most popular
- Include recent papers (last 2-3 years) alongside foundational work
- Use inline citations: "Smith et al. [1] propose..."
Related Skills
- Upstream: literature-search, deep-research
- Downstream: related-work-writing, research-planning
- See also: survey-generation
Literature Review Dialogue Prompts Reference
Extracted from STORM (Stanford).
1. Persona Generation
Find Related Topics
I'm writing a Wikipedia page for a topic mentioned below. Please identify and recommend some Wikipedia pages on closely related subjects. I'm looking for examples that provide insights into interesting aspects commonly associated with this topic, or examples that help me understand the typical content and structure included in Wikipedia pages for similar topics.
Please list the urls in separate lines.Generate Expert Personas
You need to select a group of Wikipedia editors who will work together to create a comprehensive article on the topic. Each of them represents a different perspective, role, or affiliation related to this topic. You can use other Wikipedia pages of related topics for inspiration. For each editor, add a description of what they will focus on.
Give your answer in the following format: 1. short summary of editor 1: description\n2. short summary of editor 2: description\n...Generate Focused Experts
You need to select a group of speakers who will be suitable to have roundtable discussion on the [topic] of specific [focus].
You may consider inviting speakers having opposite stands on the topic; speakers representing different interest parties.
Ensure that the selected speakers are directly connected to the specific context and scenario provided.
For each speaker, add a description of their interests and what they will focus on during the discussion.
Strictly follow format below:
1. [speaker 1 role]: [speaker 1 short description]
2. [speaker 2 role]: [speaker 2 short description]2. Multi-Turn Q&A Dialogue
Ask Question (basic)
You are an experienced Wikipedia writer. You are chatting with an expert to get information for the topic you want to contribute. Ask good questions to get more useful information relevant to the topic.
When you have no more question to ask, say "Thank you so much for your help!" to end the conversation.
Please only ask a question at a time and don't ask what you have asked before. Your questions should be related to the topic you want to write.Ask Question with Persona
You are an experienced Wikipedia writer and want to edit a specific page. Besides your identity as a Wikipedia writer, you have specific focus when researching the topic.
Now, you are chatting with an expert to get information. Ask good questions to get more useful information.
When you have no more question to ask, say "Thank you so much for your help!" to end the conversation.
Please only ask a question at a time and don't ask what you have asked before. Your questions should be related to the topic you want to write.Convert Question to Search Queries
You want to answer the question using Google search. What do you type in the search box?
Write the queries you will use in the following format:
- query 1
- query 2
...
- query nAnswer Question (grounded in search results)
You are an expert who can use information effectively. You are chatting with a Wikipedia writer who wants to write a Wikipedia page on topic you know. You have gathered the related information and will now use the information to form a response.
Make your response as informative as possible, ensuring that every sentence is supported by the gathered information. If the [gathered information] is not directly related to the [topic] or [question], provide the most relevant answer based on the available information. If no appropriate answer can be formulated, respond with, "I cannot answer this question based on the available information," and explain any limitations or gaps.3. Grounded Discussion Focus
Your job is to find next discussion focus in a roundtable conversation. You will be given previous conversation summary and some information that might assist you discover new discussion focus.
Note that the new discussion focus should bring new angle and perspective to the discussion and avoid repetition. The new discussion focus should be grounded on the available information and push the boundaries of the current discussion for broader exploration.
The new discussion focus should have natural flow from last utterance in the conversation.
Use [1][2] in line to ground your question.4. Outline Generation
Initial Outline
Write an outline for a Wikipedia page.
Here is the format of your writing:
1. Use "#" Title" to indicate section title, "##" Title" to indicate subsection title, "###" Title" to indicate subsubsection title, and so on.
2. Do not include other information.
3. Do not include topic name itself in the outline.Outline Refinement from Conversations
Improve an outline for a Wikipedia page. You already have a draft outline that covers the general information. Now you want to improve it based on the information learned from an information-seeking conversation to make it more informative.
Here is the format of your writing:
1. Use "#" Title" to indicate section title, "##" Title" to indicate subsection title, "###" Title" to indicate subsubsection title, and so on.
2. Do not include other information.
3. Do not include topic name itself in the outline.5. Core Code Pattern: Conversation Simulator
class ConvSimulator:
def forward(self, topic, persona, ground_truth_url, callback_handler):
dlg_history = []
for _ in range(self.max_turn):
# Persona asks question
user_utterance = self.wiki_writer(
topic=topic, persona=persona, dialogue_turns=dlg_history
).question
# Check termination
if "Thank you so much for your help!" in user_utterance:
break
# Expert answers with grounded information
expert_output = self.topic_expert(
topic=topic, question=user_utterance,
ground_truth_url=ground_truth_url
)
dlg_turn = DialogueTurn(
agent_utterance=expert_output.answer,
user_utterance=user_utterance,
search_queries=expert_output.queries,
search_results=expert_output.searched_results,
)
dlg_history.append(dlg_turn)6. Concurrent Persona Execution
def _run_conversation(self, conv_simulator, topic, considered_personas):
conversations = []
max_workers = min(self.max_thread_num, len(considered_personas))
with ThreadPoolExecutor(max_workers=max_workers) as executor:
future_to_persona = {
executor.submit(conv_simulator, topic, persona, ...): persona
for persona in considered_personas
}
for future in as_completed(future_to_persona):
persona = future_to_persona[future]
conv = future.result()
conversations.append((persona, conv.dlg_history))
return conversationsKey Parameters
| Parameter | Default | Description |
|---|---|---|
| max_turn | 3-5 | Dialogue turns per persona |
| num_personas | 3-5 | Number of expert perspectives |
| max_search_queries | 3 | Queries per question |
| word_limit | 1000 | Max words per expert answer |
| max_thread_num | 5 | Concurrent persona threads |
Literature Review Workflow Reference
Extracted from AgentLaboratory.
PhD Student Literature Review Phase
Phase Prompt
Your goal is to perform a literature review for the presented task and add papers to the literature review.
You have access to arXiv and can perform two search operations:
(1) finding many different paper summaries from a search query
(2) getting a single full paper text for an arXiv paper.Available Commands
SUMMARY — Search for papers
search query here
Returns: List of paper summaries matching the query from arXiv.
FULL_TEXT — Get complete paper
arXiv_paper_ID
Returns: Full text of the specified arXiv paper.
ADD_PAPER — Add paper to review
arXiv_paper_ID PAPER_SUMMARY
Adds the paper with your summary to the official literature review.
Rules
- Single command per turn
- Use ADD_PAPER when you find a relevant paper
- Don't use SUMMARY too many times (be targeted)
- Include three backticks at top and bottom of commands
Workflow Pattern
def literature_review(self):
arx_eng = ArxivSearch()
resp = self.phd.inference(self.research_topic, "literature review", step=0)
for _i in range(max_tries):
feedback = ""
if "```SUMMARY" in resp:
query = extract_prompt(resp, "SUMMARY")
papers = arx_eng.find_papers_by_str(query, N=num_papers)
feedback = f"Papers related to '{query}':\n{papers}"
elif "```FULL_TEXT" in resp:
paper_id = extract_prompt(resp, "FULL_TEXT")
full_text = arx_eng.retrieve_full_paper_text(paper_id)
feedback = full_text # with expiration marker
elif "```ADD_PAPER" in resp:
paper_info = extract_prompt(resp, "ADD_PAPER")
feedback, text = self.phd.add_review(paper_info, arx_eng)
# Check if enough papers collected
if len(self.phd.lit_review) >= num_papers_target:
lit_review_sum = self.phd.format_review()
return
resp = self.phd.inference(
self.research_topic, "literature review",
feedback=feedback, step=_i + 1
)Review Entry Structure
Each paper in the review contains:
{
"arxiv_id": "2301.12345",
"title": "Paper Title",
"summary": "Your summary of the paper and its relevance to the research topic"
}Integration with Paper Writing
The formatted literature review (lit_review_sum) is passed to: 1. Plan Formulation — Postdoc uses it to guide experiment planning 2. Paper Writing — Provided as context for Related Work and Introduction sections 3. Result Interpretation — Used to compare findings with prior work
Key Parameters
| Parameter | Default | Description |
|---|---|---|
| num_papers_target | 5-10 | Papers to collect before stopping |
| max_tries | 20 | Maximum search iterations |
| num_papers (per query) | 10 | Papers returned per SUMMARY query |
Related skills
Forks & variants (2)
Literature Review has 2 known copies in the catalog totaling 13 installs. They canonicalize to this original listing.
- lingzhi227 - 12 installs
- lingzhi227 - 1 installs
FAQ
What workflow does literature-review follow?
Generate 3-5 expert personas, run multi-turn grounded Q&A with literature search per question, synthesize themes, then write a structured cited review with paper table and gaps.
Which search sources does it use?
Semantic Scholar, OpenAlex, and arXiv via bundled search scripts from literature-search and deep-research companion skills.
What citation rules apply?
Every sentence must be supported by gathered information; state gaps explicitly; cite broadly across approaches and include recent plus foundational papers.
Is Literature Review safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.