Research Summarizer
Read less. Understand more. Cite correctly.
Structured research summarization workflow that turns dense source material into actionable briefs. Built for product managers, analysts, founders, and anyone who reads more than they should have to.
Not a generic "summarize this" — a repeatable framework that extracts what matters, compares across sources, and formats citations properly.
Scope — Distinct From the research/ Domain
This skill summarizes documents the user already has (papers, articles, reports pasted or attached). It performs no web search and needs no MCP server. It is NOT:
research/litreview — academic literature discovery and review-guide generation (finds papers via Consensus/academic APIs)
research/dossier — entity due-diligence built from live web research
research/notebooklm — drives Google's NotebookLM product UI
research/research — the router for open-ended "research [topic]" requests that require searching
If the user asks you to find sources rather than digest supplied ones, route to the research/ domain instead.
When This Skill Activates
Recognize these patterns from the user:
- "Summarize this paper / article / report"
- "What are the key findings in this document?"
- "Compare these sources"
- "Extract citations from this PDF"
- "Give me a research brief on [topic]"
- "Break down this whitepaper"
- Any request involving: summarize, research brief, literature review, citation, source comparison
If the user has a document and wants structured understanding → this skill applies.
Workflow
Workflow 1 — Single Source Summary
Identify source type
- Academic paper → use IMRAD structure (Introduction, Methods, Results, Analysis, Discussion)
- Web article → use claim-evidence-implication structure
- Technical report → use executive summary structure
- Documentation → use reference summary structure
Scaffold the brief — python3 scripts/format_summary.py --template academic (or article/report/executive per source type), then fill in every section from the source:
Title: [exact title]
Author(s): [names]
Date: [publication date]
Source Type: [paper | article | report | documentation]
## Key Thesis
[1-2 sentences: the central argument or finding]
## Key Findings
1. [Finding with supporting evidence]
2. [Finding with supporting evidence]
3. [Finding with supporting evidence]
## Methodology
[How they arrived at these findings — data sources, sample size, approach]
## Limitations
- [What the source doesn't cover or gets wrong]
## Actionable Takeaways
- [What to do with this information]
## Notable Quotes
> "[Direct quote]" (p. X)
Assess quality
- Source credibility (peer-reviewed, reputable outlet, primary vs secondary)
- Evidence strength (data-backed, anecdotal, theoretical)
- Recency (when published, still relevant?)
- Bias indicators (funding source, author affiliation, methodology gaps)
Workflow 2 — Multi-Source Comparison
Collect sources (2-5 documents)
Summarize each using the single-source workflow above
Build comparison matrix
| Dimension | Source A | Source B | Source C |
|------------------|-----------------|-----------------|-----------------|
| Central Thesis | ... | ... | ... |
| Methodology | ... | ... | ... |
| Key Finding | ... | ... | ... |
| Sample/Scope | ... | ... | ... |
| Credibility | High/Med/Low | High/Med/Low | High/Med/Low |
Synthesize
- Where do sources agree? (convergent findings = stronger signal)
- Where do they disagree? (divergent findings = needs investigation)
- What gaps exist across all sources?
- What's the weight of evidence for each position?
Produce synthesis brief
## Consensus Findings
[What most sources agree on]
## Contested Points
[Where sources disagree, with strongest evidence for each side]
## Gaps
[What none of the sources address]
## Recommendation
[Based on weight of evidence, what should the reader believe/do?]
Workflow 3 — Citation Extraction
- Run the extractor —
python3 scripts/extract_citations.py document.txt --output json detects DOI/URL/author-year/numbered citations and deduplicates them
- Review and format the extracted list in the requested style (APA 7 default); manually catch citations the regex missed
- Classify citations by type:
- Primary sources (original research, data)
- Secondary sources (reviews, meta-analyses, commentary)
- Tertiary sources (textbooks, encyclopedias)
- Output sorted bibliography with classification tags
Supported citation formats:
- APA 7 (default) — social sciences, business
- IEEE — engineering, computer science
- Chicago — humanities, history
- Harvard — general academic
- MLA 9 — arts, humanities
Tooling
scripts/extract_citations.py
CLI utility for extracting and formatting citations from text.
Features:
- Regex-based citation detection (DOI, URL, author-year, numbered references)
- Multiple output formats (APA, IEEE, Chicago, Harvard, MLA)
- JSON export for integration with reference managers
- Deduplication of repeated citations
Usage:
# Extract citations from a file (APA format, default)
python3 scripts/extract_citations.py document.txt
# Specify format
python3 scripts/extract_citations.py document.txt --format ieee
# JSON output
python3 scripts/extract_citations.py document.txt --format apa --output json
# From stdin
cat paper.txt | python3 scripts/extract_citations.py --stdin
scripts/format_summary.py
CLI utility that emits blank structured summary scaffolds — you (the model) fill them in from the source. It does not analyze content itself.
Features:
- 6 templates: academic, article, report, executive, comparison, literature
- Configurable scaffold depth (brief, standard, detailed)
- Text and JSON output for downstream tooling
Usage:
# Generate structured summary template
python3 scripts/format_summary.py --template academic
# Brief executive summary format
python3 scripts/format_summary.py --template executive --length brief
# All templates listed
python3 scripts/format_summary.py --list-templates
# JSON output
python3 scripts/format_summary.py --template article --output json
Quality Assessment Framework
Rate every source on four dimensions:
| Dimension |
High |
Medium |
Low |
| Credibility |
Peer-reviewed, established author |
Reputable outlet, known author |
Blog, unknown author, no review |
| Evidence |
Large sample, rigorous method |
Moderate data, sound approach |
Anecdotal, no data, opinion |
| Recency |
Published within 2 years |
2-5 years old |
5+ years, may be outdated |
| Objectivity |
No conflicts, balanced view |
Minor affiliations disclosed |
Funded by interested party, one-sided |
Overall Rating:
- 4 Highs = Strong source — cite with confidence
- 2+ Mediums = Adequate source — cite with caveats
- 2+ Lows = Weak source — verify independently before citing
Summary Templates
See references/summary-templates.md for:
- Academic paper summary template (IMRAD)
- Web article summary template (claim-evidence-implication)
- Technical report template (executive summary)
- Comparative analysis template (matrix + synthesis)
- Literature review template (thematic organization)
See references/citation-formats.md for:
- APA 7 formatting rules and examples
- IEEE formatting rules and examples
- Chicago, Harvard, MLA quick reference
Proactive Triggers
Flag these without being asked:
- Source has no date → Note it. Undated sources lose credibility points.
- Source contradicts other sources → Highlight the contradiction explicitly. Don't paper over disagreements.
- Source is behind a paywall → Note limited access. Suggest alternatives if known.
- User provides only one source for a compare → Ask for at least one more. Comparison needs 2+.
- Citations are incomplete → Flag missing fields (year, author, title). Don't invent metadata.
- Source is 5+ years old in a fast-moving field → Warn about potential obsolescence.
Installation
One-liner (any tool)
git clone https://github.com/alirezarezvani/claude-skills.git
cp -r claude-skills/product-team/research-summarizer ~/.claude/skills/
Multi-tool install (run from the claude-skills repo root)
./scripts/convert.sh --skill research-summarizer --tool codex|gemini|cursor|windsurf|openclaw
OpenClaw
clawhub install cs-research-summarizer
Verification Loop
Before delivering any brief, check:
- Every Key Finding cites a location in the source (section, page, or quote) — no unanchored claims.
python3 scripts/extract_citations.py <file> --output json exits 0 and its total matches the bibliography count in your output (investigate any gap).
- Each source carries a 4-dimension quality rating (table above); weak sources are flagged, not silently included.
- For comparisons: the matrix has one row per dimension and one column per source — no source skipped.
- Nothing was invented: missing metadata is marked "not stated", never filled in.
Related Skills
- product-analytics — Quantitative analysis. Complementary — use research-summarizer for qualitative sources, product-analytics for metrics.
- competitive-teardown — Competitive research. Complementary — use research-summarizer for individual source analysis, competitive-teardown for market landscape.
- content-production — Content writing. Research-summarizer feeds content-production — summarize sources first, then write.
- product-discovery — Discovery frameworks. Complementary — research-summarizer for desk research, product-discovery for user research.
Source: alirezarezvani/claude-skills → product-team/research-summarizer/skills/research-summarizer/SKILL.md
1---2name: research-summarizer3description: Structured research summarization agent skill for non-dev users. Handles academic papers, web articles, reports, and documentation. Extracts key findings, generates comparative analyses, and produces properly formatted citations. Use when: user wants to summarize a research paper, compare multiple sources, extract citations from documents, or create structured research briefs. Plugin for Claude Code, Codex, Gemini CLI, and OpenClaw.4---5
6
7# Research Summarizer
8
9> Read less. Understand more. Cite correctly.
10
11Structured research summarization workflow that turns dense source material into actionable briefs. Built for product managers, analysts, founders, and anyone who reads more than they should have to.
12
13Not a generic "summarize this" — a repeatable framework that extracts what matters, compares across sources, and formats citations properly.
14
15---
16
17## Scope — Distinct From the research/ Domain
18
19This skill summarizes **documents the user already has** (papers, articles, reports pasted or attached). It performs no web search and needs no MCP server. It is NOT:
20
21- `research/litreview` — academic literature *discovery* and review-guide generation (finds papers via Consensus/academic APIs)
22- `research/dossier` — entity due-diligence built from live web research
23- `research/notebooklm` — drives Google's NotebookLM product UI
24- `research/research` — the router for open-ended "research [topic]" requests that require searching
25
26If the user asks you to *find* sources rather than digest supplied ones, route to the research/ domain instead.
27
28---
29
30## When This Skill Activates
31
32Recognize these patterns from the user:
33
34- "Summarize this paper / article / report"
35- "What are the key findings in this document?"
36- "Compare these sources"
37- "Extract citations from this PDF"
38- "Give me a research brief on [topic]"
39- "Break down this whitepaper"
40- Any request involving: summarize, research brief, literature review, citation, source comparison
41
42If the user has a document and wants structured understanding → this skill applies.
43
44---
45
46## Workflow
47
48### Workflow 1 — Single Source Summary
49
501. **Identify source type**
51 - Academic paper → use IMRAD structure (Introduction, Methods, Results, Analysis, Discussion)
52 - Web article → use claim-evidence-implication structure
53 - Technical report → use executive summary structure
54 - Documentation → use reference summary structure
55
562. **Scaffold the brief** — `python3 scripts/format_summary.py --template academic` (or `article`/`report`/`executive` per source type), then fill in every section from the source:
57 ```
58 Title: [exact title]
59 Author(s): [names]
60 Date: [publication date]
61 Source Type: [paper | article | report | documentation]
62
63 ## Key Thesis
64 [1-2 sentences: the central argument or finding]
65
66 ## Key Findings
67 1. [Finding with supporting evidence]
68 2. [Finding with supporting evidence]
69 3. [Finding with supporting evidence]
70
71 ## Methodology
72 [How they arrived at these findings — data sources, sample size, approach]
73
74 ## Limitations
75 - [What the source doesn't cover or gets wrong]
76
77 ## Actionable Takeaways
78 - [What to do with this information]
79
80 ## Notable Quotes
81 > "[Direct quote]" (p. X)
82 ```
83
843. **Assess quality**
85 - Source credibility (peer-reviewed, reputable outlet, primary vs secondary)
86 - Evidence strength (data-backed, anecdotal, theoretical)
87 - Recency (when published, still relevant?)
88 - Bias indicators (funding source, author affiliation, methodology gaps)
89
90### Workflow 2 — Multi-Source Comparison
91
921. **Collect sources** (2-5 documents)
932. **Summarize each** using the single-source workflow above
943. **Build comparison matrix**
95
96 ```
97 | Dimension | Source A | Source B | Source C |
98 |------------------|-----------------|-----------------|-----------------|
99 | Central Thesis | ... | ... | ... |
100 | Methodology | ... | ... | ... |
101 | Key Finding | ... | ... | ... |
102 | Sample/Scope | ... | ... | ... |
103 | Credibility | High/Med/Low | High/Med/Low | High/Med/Low |
104 ```
105
1064. **Synthesize**
107 - Where do sources agree? (convergent findings = stronger signal)
108 - Where do they disagree? (divergent findings = needs investigation)
109 - What gaps exist across all sources?
110 - What's the weight of evidence for each position?
111
1125. **Produce synthesis brief**
113 ```
114 ## Consensus Findings
115 [What most sources agree on]
116
117 ## Contested Points
118 [Where sources disagree, with strongest evidence for each side]
119
120 ## Gaps
121 [What none of the sources address]
122
123 ## Recommendation
124 [Based on weight of evidence, what should the reader believe/do?]
125 ```
126
127### Workflow 3 — Citation Extraction
128
1291. **Run the extractor** — `python3 scripts/extract_citations.py document.txt --output json` detects DOI/URL/author-year/numbered citations and deduplicates them
1302. **Review and format** the extracted list in the requested style (APA 7 default); manually catch citations the regex missed
1313. **Classify citations** by type:
132 - Primary sources (original research, data)
133 - Secondary sources (reviews, meta-analyses, commentary)
134 - Tertiary sources (textbooks, encyclopedias)
1354. **Output** sorted bibliography with classification tags
136
137Supported citation formats:
138- **APA 7** (default) — social sciences, business
139- **IEEE** — engineering, computer science
140- **Chicago** — humanities, history
141- **Harvard** — general academic
142- **MLA 9** — arts, humanities
143
144---
145
146## Tooling
147
148### `scripts/extract_citations.py`
149
150CLI utility for extracting and formatting citations from text.
151
152**Features:**
153- Regex-based citation detection (DOI, URL, author-year, numbered references)
154- Multiple output formats (APA, IEEE, Chicago, Harvard, MLA)
155- JSON export for integration with reference managers
156- Deduplication of repeated citations
157
158**Usage:**
159```bash
160# Extract citations from a file (APA format, default)
161python3 scripts/extract_citations.py document.txt
162
163# Specify format
164python3 scripts/extract_citations.py document.txt --format ieee
165
166# JSON output
167python3 scripts/extract_citations.py document.txt --format apa --output json
168
169# From stdin
170cat paper.txt | python3 scripts/extract_citations.py --stdin
171```
172
173### `scripts/format_summary.py`
174
175CLI utility that emits **blank structured summary scaffolds** — you (the model) fill them in from the source. It does not analyze content itself.
176
177**Features:**
178- 6 templates: academic, article, report, executive, comparison, literature
179- Configurable scaffold depth (brief, standard, detailed)
180- Text and JSON output for downstream tooling
181
182**Usage:**
183```bash
184# Generate structured summary template
185python3 scripts/format_summary.py --template academic
186
187# Brief executive summary format
188python3 scripts/format_summary.py --template executive --length brief
189
190# All templates listed
191python3 scripts/format_summary.py --list-templates
192
193# JSON output
194python3 scripts/format_summary.py --template article --output json
195```
196
197---
198
199## Quality Assessment Framework
200
201Rate every source on four dimensions:
202
203| Dimension | High | Medium | Low |
204|-----------|------|--------|-----|
205| **Credibility** | Peer-reviewed, established author | Reputable outlet, known author | Blog, unknown author, no review |
206| **Evidence** | Large sample, rigorous method | Moderate data, sound approach | Anecdotal, no data, opinion |
207| **Recency** | Published within 2 years | 2-5 years old | 5+ years, may be outdated |
208| **Objectivity** | No conflicts, balanced view | Minor affiliations disclosed | Funded by interested party, one-sided |
209
210**Overall Rating:**
211- 4 Highs = Strong source — cite with confidence
212- 2+ Mediums = Adequate source — cite with caveats
213- 2+ Lows = Weak source — verify independently before citing
214
215---
216
217## Summary Templates
218
219See `references/summary-templates.md` for:
220- Academic paper summary template (IMRAD)
221- Web article summary template (claim-evidence-implication)
222- Technical report template (executive summary)
223- Comparative analysis template (matrix + synthesis)
224- Literature review template (thematic organization)
225
226See `references/citation-formats.md` for:
227- APA 7 formatting rules and examples
228- IEEE formatting rules and examples
229- Chicago, Harvard, MLA quick reference
230
231---
232
233## Proactive Triggers
234
235Flag these without being asked:
236
237- **Source has no date** → Note it. Undated sources lose credibility points.
238- **Source contradicts other sources** → Highlight the contradiction explicitly. Don't paper over disagreements.
239- **Source is behind a paywall** → Note limited access. Suggest alternatives if known.
240- **User provides only one source for a compare** → Ask for at least one more. Comparison needs 2+.
241- **Citations are incomplete** → Flag missing fields (year, author, title). Don't invent metadata.
242- **Source is 5+ years old in a fast-moving field** → Warn about potential obsolescence.
243
244---
245
246## Installation
247
248### One-liner (any tool)
249```bash
250git clone https://github.com/alirezarezvani/claude-skills.git
251cp -r claude-skills/product-team/research-summarizer ~/.claude/skills/
252```
253
254### Multi-tool install (run from the claude-skills repo root)
255```bash
256./scripts/convert.sh --skill research-summarizer --tool codex|gemini|cursor|windsurf|openclaw
257```
258
259### OpenClaw
260```bash
261clawhub install cs-research-summarizer
262```
263
264---
265
266## Verification Loop
267
268Before delivering any brief, check:
269
2701. Every Key Finding cites a location in the source (section, page, or quote) — no unanchored claims.
2712. `python3 scripts/extract_citations.py <file> --output json` exits 0 and its `total` matches the bibliography count in your output (investigate any gap).
2723. Each source carries a 4-dimension quality rating (table above); weak sources are flagged, not silently included.
2734. For comparisons: the matrix has one row per dimension and one column per source — no source skipped.
2745. Nothing was invented: missing metadata is marked "not stated", never filled in.
275
276---
277
278## Related Skills
279
280- **product-analytics** — Quantitative analysis. Complementary — use research-summarizer for qualitative sources, product-analytics for metrics.
281- **competitive-teardown** — Competitive research. Complementary — use research-summarizer for individual source analysis, competitive-teardown for market landscape.
282- **content-production** — Content writing. Research-summarizer feeds content-production — summarize sources first, then write.
283- **product-discovery** — Discovery frameworks. Complementary — research-summarizer for desk research, product-discovery for user research.
284
285---
286
287**Source:** [`alirezarezvani/claude-skills`](https://github.com/alirezarezvani/claude-skills) → `product-team/research-summarizer/skills/research-summarizer/SKILL.md`