
Survey Generation
- 1 installs
- 255 repo stars
- Updated February 27, 2026
- lingzhi227/claude-research-skills
This is a copy of survey-generation by lingzhi227 - installs and ranking accrue to the original listing.
Helps with ai & agent building tasks.
About
survey-generation is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- survey-generation
- AI & Agent Building
- AI-coding skill
Survey Generation by the numbers
- 1 all-time installs (skills.sh)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/lingzhi227/claude-research-skills --skill survey-generationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 255 |
| Last updated | February 27, 2026 |
| Repository | lingzhi227/claude-research-skills ↗ |
What it does
Helps with ai & agent building tasks.
Files
Survey Generation
Generate complete academic survey papers with structured outline, RAG-based writing, and citation validation.
Input
$0— Survey topic or research area
Scripts
Literature search
python ~/.claude/skills/deep-research/scripts/search_semantic_scholar.py \
--query "relevant search query" --max-results 50References
- Survey prompts (outline, writing, citation, coherence):
~/.claude/skills/survey-generation/references/survey-prompts.md
Workflow (from AutoSurvey)
Step 1: Collect Papers
1. Search Semantic Scholar / arXiv for papers on the topic 2. Collect 50-200 relevant papers with titles and abstracts 3. Filter by relevance and citation count
Step 2: Generate Outline (Multi-LLM Parallel)
1. Generate N rough outlines independently (parallel) 2. Merge outlines into a single comprehensive outline 3. Expand each section into subsections 4. Edit final outline to remove redundancies
Step 3: Write Subsections (RAG-Based)
For each subsection: 1. Retrieve relevant papers for the subsection topic 2. Generate content with inline citations [paper_title] 3. Enforce minimum word count per subsection 4. Only cite papers from the provided list
Step 4: Validate Citations
For each subsection: 1. Check that cited paper titles are correct 2. Verify citations support the claims made 3. Remove or correct unsupported citations 4. Use NLI (Natural Language Inference) for claim-source faithfulness
Step 5: Enhance Local Coherence
For each subsection: 1. Read previous and following subsections 2. Refine transitions and flow 3. Preserve core content and citations 4. Ensure smooth reading experience
Step 6: Convert Citations to BibTeX
1. Replace [paper_title] with \cite{key} 2. Generate BibTeX entries for all cited papers 3. Validate all citation keys exist in .bib file
Output Structure
survey/
├── main.tex # Complete survey paper
├── references.bib # All citations
├── outline.json # Survey outline
└── sections/ # Individual section filesRules
- Only cite papers from the collected paper list — never hallucinate citations
- Each subsection must meet minimum word count
- No duplicate subsections across sections
- Citation validation is mandatory before final output
- Local coherence enhancement must preserve all citations
- The survey should be comprehensive and logically organized
Related Skills
- Upstream: deep-research, literature-search, literature-review
- See also: related-work-writing
Survey Generation Prompts
Verbatim prompts extracted from AutoSurvey (src/prompt.py).
1. Rough Outline Generation (Parallel)
You wants to write a overall and comprehensive academic survey about "[TOPIC]".
You are provided with a list of papers related to the topic below:
---
[PAPER LIST]
---
You need to draft a outline based on the given papers.
The outline should contains a title and several sections.
Each section follows with a brief sentence to describe what to write in this section.
The outline is supposed to be comprehensive and contains [SECTION NUM] sections.
Return in the format:
<format>
Title: [TITLE OF THE SURVEY]
Section 1: [NAME OF SECTION 1]
Description 1: [DESCRIPTION OF SENTCTION 1]
Section 2: [NAME OF SECTION 2]
Description 2: [DESCRIPTION OF SENTCTION 2]
...
Section K: [NAME OF SECTION K]
Description K: [DESCRIPTION OF SENTCTION K]
</format>
The outline:2. Outline Merging
You are an expert in artificial intelligence who wants to write a overall survey about [TOPIC].
You are provided with a list of outlines as candidates below:
---
[OUTLINE LIST]
---
Each outline contains a title and several sections.
Each section follows with a brief sentence to describe what to write in this section.
You need to generate a final outline based on these provided outlines to make the final outline show comprehensive insights of the topic and more logical.
Return the in the format:
<format>
Title: [TITLE OF THE SURVEY]
Section 1: [NAME OF SECTION 1]
Description 1: [DESCRIPTION OF SENTCTION 1]
Section 2: [NAME OF SECTION 2]
Description 2: [DESCRIPTION OF SENTCTION 2]
...
Section K: [NAME OF SECTION K]
Description K: [DESCRIPTION OF SENTCTION K]
</format>
Only return the final outline without any other informations:3. Subsection Outline Expansion
You are an expert in artificial intelligence who wants to write a overall survey about [TOPIC].
You have created a overall outline below:
---
[OVERALL OUTLINE]
---
The outline contains a title and several sections.
Each section follows with a brief sentence to describe what to write in this section.
<instruction>
You need to enrich the section [SECTION NAME].
The description of [SECTION NAME]: [SECTION DESCRIPTION]
You need to generate the framwork containing several subsections based on the overall outlines.
Each subsection follows with a brief sentence to describe what to write in this subsection.
These papers provided for references:
---
[PAPER LIST]
---
Return the outline in the format:
<format>
Subsection 1: [NAME OF SUBSECTION 1]
Description 1: [DESCRIPTION OF SUBSENTCTION 1]
Subsection 2: [NAME OF SUBSECTION 2]
Description 2: [DESCRIPTION OF SUBSENTCTION 2]
...
Subsection K: [NAME OF SUBSECTION K]
Description K: [DESCRIPTION OF SUBSENTCTION K]
</format>
</instruction>
Only return the outline without any other informations:4. Final Outline Deduplication
You are an expert in artificial intelligence who wants to write a overall survey about [TOPIC].
You have created a draft outline below:
---
[OVERALL OUTLINE]
---
The outline contains a title and several sections.
Each section follows with a brief sentence to describe what to write in this section.
Under each section, there are several subsections.
Each subsection also follows with a brief sentence of descripition.
Some of the subsections may be repeated or overlaped.
You need to modify the outline to make it both comprehensive and logically coherent with no repeated subsections.
Repeated subsections among sections are not allowed!
Return the final outline in the format:
<format>
# [TITLE OF SURVEY]
## [NAME OF SECTION 1]
Description: [DESCRIPTION OF SECTION 1]
### [NAME OF SUBSECTION 1]
Description: [DESCRIPTION OF SUBSECTION 1]
### [NAME OF SUBSECTION 2]
Description: [DESCRIPTION OF SUBSECTION 2]
...
### [NAME OF SUBSECTION L]
Description: [DESCRIPTION OF SUBSECTION L]
## [NAME OF SECTION 2]
...
## [NAME OF SECTION K]
...
</format>
Only return the final outline without any other informations:5. RAG-Based Subsection Writing
You are an expert in artificial intelligence who wants to write a overall and comprehensive survey about [TOPIC].
You have created a overall outline below:
---
[OVERALL OUTLINE]
---
Below are a list of papers for references:
---
[PAPER LIST]
---
<instruction>
Now you need to write the content for the subsection:
"[SUBSECTION NAME]" under the section: "[SECTION NAME]"
The details of what to write in this subsection called [SUBSECTION NAME] is in this descripition:
---
[DESCRIPTION]
---
Here is the requirement you must follow:
1. The content you write must be more than [WORD NUM] words.
2. When writing sentences that are based on specific papers above, you cite the "paper_title" in a '[]' format to support your content. An example of citation: 'the emergence of large language models (LLMs) [Language models are few-shot learners; PaLM: Scaling language modeling with pathways]'
Note that the "paper_title" is not allowed to appear without a '[]' format. Once you mention the 'paper_title', it must be included in '[]'. Papers not existing above are not allowed to cite!!!
Remember that you can only cite the paper provided above and only cite the "paper_title"!!!
3. Only when the main part of the paper support your claims, you cite it.
Here's a concise guideline for when to cite papers in a survey:
---
1. Summarizing Research: Cite sources when summarizing the existing literature.
2. Using Specific Concepts or Data: Provide citations when discussing specific theories, models, or data.
3. Comparing Findings: Cite relevant studies when comparing or contrasting different findings.
4. Highlighting Research Gaps: Cite previous research when pointing out gaps your survey addresses.
5. Using Established Methods: Cite the creators of methodologies you employ in your survey.
6. Supporting Arguments: Cite sources that back up your conclusions and arguments.
7. Suggesting Future Research: Reference studies related to proposed future research directions.
---
</instruction>
Return the content of subsection "[SUBSECTION NAME]" in the format:
<format>
[CONTENT OF SUBSECTION]
</format>
Only return the content more than [WORD NUM] words you write for the subsection [SUBSECTION NAME] without any other information:6. Citation Validation
You are an expert in artificial intelligence who wants to write a overall and comprehensive survey about [TOPIC].
Below are a list of papers for references:
---
[PAPER LIST]
---
You have written a subsection below:
---
[SUBSECTION]
---
<instruction>
The sentences that are based on specific papers above are followed with the citation of "paper_title" in "[]".
For example 'the emergence of large language models (LLMs) [Language models are few-shot learners; Language models are unsupervised multitask learners; PaLM: Scaling language modeling with pathways]'
Here's a concise guideline for when to cite papers in a survey:
---
1. Summarizing Research: Cite sources when summarizing the existing literature.
2. Using Specific Concepts or Data: Provide citations when discussing specific theories, models, or data.
3. Comparing Findings: Cite relevant studies when comparing or contrasting different findings.
4. Highlighting Research Gaps: Cite previous research when pointing out gaps your survey addresses.
5. Using Established Methods: Cite the creators of methodologies you employ in your survey.
6. Supporting Arguments: Cite sources that back up your conclusions and arguments.
7. Suggesting Future Research: Reference studies related to proposed future research directions.
---
Now you need to check whether the citations of "paper_title" in this subsection is correct.
A correct citation means that, the content of corresponding paper can support the sentences you write.
Once the citation can not support the sentence you write, correct the paper_title in '[]' or just remove it.
Remember that you can only cite the 'paper_title' provided above!!!
Any other informations like authors are not allowed cited!!!
Do not change any other things except the citations!!!
</instruction>
Only return the subsection with correct citations:7. Local Coherence Enhancement (LCE)
You are an expert in artificial intelligence who wants to write a overall and comprehensive survey about [TOPIC].
Now you need to help to refine one of the subsection to improve the coherence of your survey.
You are provied with the content of the subsection along with the previous subsections and following subsections.
Previous Subsection:
---
[PREVIOUS]
---
Following Subsection:
---
[FOLLOWING]
---
Subsection to Refine:
---
[SUBSECTION]
---
If the content of Previous Subsection is empty, it means that the subsection to refine is the first subsection.
If the content of Following Subsection is empty, it means that the subsection to refine is the last subsection.
Now refine the subsection to enhance coherence, and ensure that the content of the subsection flow more smoothly with the previous and following subsections.
Remember that keep all the essence and core information of the subsection intact. Do not modify any citations in [] following the sentences.
Only return the whole refined content of the subsection without any other informations (like "Here is the refined subsection:")!
The subsection content:8. NLI-Based Citation Faithfulness Check
---
Claim:
[CLAIM]
---
Source:
[SOURCE]
---
Claim:
[CLAIM]
---
Is the Claim faithful to the Source?
A Claim is faithful to the Source if the core part in the Claim can be supported by the Source.
Only reply with 'Yes' or 'No':Pipeline Execution Order
1. Collect papers → paper_list
2. Generate N rough outlines in parallel → outline_list
3. Merge outlines → merged_outline
4. Expand each section into subsections → full_outline
5. Deduplicate and edit final outline → final_outline
6. For each subsection (can parallelize):
a. Retrieve relevant papers for subsection
b. Write subsection content with citations
c. Validate citations
7. For each subsection sequentially:
a. Apply Local Coherence Enhancement (needs adjacent sections)
8. Convert [paper_title] citations to \cite{key}
9. Generate BibTeX entries
10. Compile final survey