/self-review
Automatically review an academic paper using the NeurIPS review form with three reviewer personas, ensemble scoring, and reflection refinement. Extracts text from PDF, runs structured review, and outputs actionable feedback. Use when the user wants to review a paper before
$ npx -y skills add lingzhi227/agent-research-skills --skill self-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/self-review
Context preview
The summary Claude sees to decide when to auto-load this skill.
Automatically review an academic paper using the NeurIPS review form with three reviewer personas, ensemble scoring, and reflection refinement. Extracts text from PDF, runs structured review, and outputs actionable feedback. Use when the user wants to review a paper before
SKILL.md
self-review.SKILL.mdname: self-review
description: Automatically review an academic paper using the NeurIPS review form with three reviewer personas, ensemble scoring, and reflection refinement. Extracts text from PDF, runs structured review, and outputs actionable feedback. Use when the user wants to review a paper before submission or get feedback on a draft.
argument-hint: [pdf-or-tex-file]
Self-Review
Review an academic paper using a structured review form with multiple reviewer personas.
Input
- `$ARGUMENTS` — Path to PDF file or `.tex` file
Scripts
Extract text from PDF
python ~/.claude/skills/self-review/scripts/extract_pdf_text.py paper.pdf --output paper_text.txt
python ~/.claude/skills/self-review/scripts/extract_pdf_text.py paper.pdf --format markdown
Tries pymupdf4llm (best) → pymupdf → pypdf. Install: `pip install pymupdf4llm pymupdf pypdf`
Parse PDF into structured sections
python ~/.claude/skills/self-review/scripts/parse_pdf_sections.py \
--pdf paper.pdf --output sections.json
Extracts title (via font size), section headings, and section text. Requires: `pip install pymupdf` Key flags: `--format text`, `--verbose`
Workflow
Step 1: Load Paper
- If PDF: use `extract_pdf_text.py` to extract text
- If `.tex`: read the LaTeX source directly
Step 2: Three-Persona Review
Run three independent reviews using different personas (from `references/review-form.md`):
1. **Harsh but fair reviewer**: Expects good experiments that lead to insights 2. **Harsh and critical reviewer**: Looking for impactful ideas in the field 3. **Open-minded reviewer**: Looking for novel ideas not proposed before
For each persona, generate a review following the NeurIPS review JSON format in `references/review-form.md`.
Step 3: Reflection Refinement (up to 3 rounds per reviewer)
After each review, apply the reflection prompt: re-evaluate accuracy and soundness, refine if needed. Stop when "I am done".
Step 4: Aggregate
- Combine all three reviews
- Average numerical scores (round to nearest integer)
- Synthesize a meta-review finding consensus
- Weight scores using AgentLaboratory weights: Overall (1.0), Contribution (0.4), Presentation (0.2), others (0.1 each)
Step 5: Actionable Report
Output format:
## Review Summary
- **Overall Score**: X/10 (Weighted: Y/10)
- **Decision**: Accept / Reject
- **Confidence**: Z/5
## Strengths (consensus across reviewers)
1. ...
2. ...
## Weaknesses (consensus across reviewers)
1. ...
2. ...
## Questions for Authors
1. ...
## Specific Suggestions for Improvement
1. [Section X, Page Y]: ...
2. [Section Z, Page W]: ...
## Score Breakdown
| Dimension | R1 | R2 | R3 | Avg |
|-----------|----|----|-----|-----|
| Overall | ... | ... | ... | ... |
| Contribution | ... | ... | ... | ... |
| ... | ... | ... | ... | ... |
References
- NeurIPS review form, scoring weights, personas, reflection prompts: `~/.claude/skills/self-review/references/review-form.md`
- PDF text extraction: `~/.claude/skills/self-review/scripts/extract_pdf_text.py`
Missing Sections Check
You MUST verify that all required sections are present: Abstract, Introduction, Methods/Approach, Experiments/Results, Discussion/Conclusion. Reduce scores if any are missing.
Related Skills
- Upstream: [paper-compilation](../paper-compilation/)
- Downstream: [paper-revision](../paper-revision/), [rebuttal-writing](../rebuttal-writing/)
- See also: [slide-generation](../slide-generation/)
Read more
name: self-review description: Automatically review an academic paper using the NeurIPS review form with three reviewer personas, ensemble scoring, and reflection refinement. Extracts text from PDF, runs structured review, and outputs actionable feedback. Use when the user wants to review a paper before submission or get feedback on a draft. argument-hint: [pdf-or-tex-file]
Self-Review
Review an academic paper using a structured review form with multiple reviewer personas.
Input
- `$ARGUMENTS` — Path to PDF file or `.tex` file
Scripts
Extract text from PDF
python ~/.claude/skills/self-review/scripts/extract_pdf_text.py paper.pdf --output paper_text.txt python ~/.claude/skills/self-review/scripts/extract_pdf_text.py paper.pdf --format markdown
Tries pymupdf4llm (best) → pymupdf → pypdf. Install: `pip install pymupdf4llm pymupdf pypdf`
Parse PDF into structured sections
python ~/.claude/skills/self-review/scripts/parse_pdf_sections.py \ --pdf paper.pdf --output sections.json
Extracts title (via font size), section headings, and section text. Requires: `pip install pymupdf` Key flags: `--format text`, `--verbose`
Workflow
Step 1: Load Paper
- If PDF: use `extract_pdf_text.py` to extract text
- If `.tex`: read the LaTeX source directly
Step 2: Three-Persona Review
Run three independent reviews using different personas (from `references/review-form.md`):
1. **Harsh but fair reviewer**: Expects good experiments that lead to insights 2. **Harsh and critical reviewer**: Looking for impactful ideas in the field 3. **Open-minded reviewer**: Looking for novel ideas not proposed before
For each persona, generate a review following the NeurIPS review JSON format in `references/review-form.md`.
Step 3: Reflection Refinement (up to 3 rounds per reviewer)
After each review, apply the reflection prompt: re-evaluate accuracy and soundness, refine if needed. Stop when "I am done".
Step 4: Aggregate
- Combine all three reviews
- Average numerical scores (round to nearest integer)
- Synthesize a meta-review finding consensus
- Weight scores using AgentLaboratory weights: Overall (1.0), Contribution (0.4), Presentation (0.2), others (0.1 each)
Step 5: Actionable Report
Output format:
## Review Summary - **Overall Score**: X/10 (Weighted: Y/10) - **Decision**: Accept / Reject - **Confidence**: Z/5 ## Strengths (consensus across reviewers) 1. ... 2. ... ## Weaknesses (consensus across reviewers) 1. ... 2. ... ## Questions for Authors 1. ... ## Specific Suggestions for Improvement 1. [Section X, Page Y]: ... 2. [Section Z, Page W]: ... ## Score Breakdown | Dimension | R1 | R2 | R3 | Avg | |-----------|----|----|-----|-----| | Overall | ... | ... | ... | ... | | Contribution | ... | ... | ... | ... | | ... | ... | ... | ... | ... |
References
- NeurIPS review form, scoring weights, personas, reflection prompts: `~/.claude/skills/self-review/references/review-form.md`
- PDF text extraction: `~/.claude/skills/self-review/scripts/extract_pdf_text.py`
Missing Sections Check
You MUST verify that all required sections are present: Abstract, Introduction, Methods/Approach, Experiments/Results, Discussion/Conclusion. Reduce scores if any are missing.
Related Skills
- Upstream: [paper-compilation](../paper-compilation/)
- Downstream: [paper-revision](../paper-revision/), [rebuttal-writing](../rebuttal-writing/)
- See also: [slide-generation](../slide-generation/)
31 skills for Claude Code covering the full academic research paper lifecycle — from literature search to slide generation — plus GitHub repository analysis for research topics. Extracted from 17 GitHub repos studying LLM-agent-driven research automation.
Other skills on agent-research-skills.
- /algorithm-design
Design algorithms with LaTeX pseudocode and UML diagrams. Generate algorithmic environments, Mermaid class/sequence diagrams, and ensure consistency between pseudocode and implementation. Use when formalizing methods for a paper.
Open skill - /atomic-decomposition
Decompose research ideas into atomic, self-contained concepts with bidirectional math-code mapping. For each concept, extract the math formula from papers and find code implementations. Use for complex system papers requiring formal grounding.
Open skill - /backward-traceability
Make every number in the final PDF traceable to the exact code line that produced it. Uses \hypertarget/\hyperlink LaTeX commands and \num{formula} evaluated at compile time. Use for reproducibility and data integrity verification.
Open skill - /citation-management
Manage BibTeX citations for LaTeX papers. Harvest missing citations from a draft using Semantic Scholar, validate cite keys against .bib files, deduplicate entries, and format bibliography. Use when working with references, BibTeX, or citations.
Open skill - /code-debugging
Debug experiment code with structured error analysis. Categorize errors, apply targeted fixes with retry logic, and use reflection to prevent recurring issues. Use when experiment code fails or produces incorrect results.
Open skill - /data-analysis
Generate statistical analysis code with 4-round review. Select appropriate statistical tests, interpret results, and produce analysis reports with p-values, effect sizes, and confidence intervals. Use when analyzing experimental data for a paper.
Open skill

