skills/21-claesbackman-AI-research-feedback/Skills/review-paper-code/SKILL.md
Review research code for reproducibility and quality, extract the paper's main empirical claims, compare paper to code, and write a constructive markdown report. Designed for social science / economics projects with LaTeX papers and Stata, R, or Python code.
npx skillsauth add brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research review-paper-codeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Review a research project's paper and code for reproducibility, code quality, and paper-code alignment. Be constructive, concrete, and calibrated. Treat gaps as items to verify, not accusations.
This skill supports:
.do), R (.R, .r), and Python (.py) codeDefault review depth:
main: prioritize the main paper, main scripts, and core outputsfull: inspect all detected code files in scopeIf no depth is provided, default to main.
First parse $ARGUMENTS:
.tex path, use it as PAPER_FILE.CODE_DIR.main or full, use it as REVIEW_DEPTH.If any of the above are missing, auto-detect them.
Use Glob to search for **/*.tex, excluding obvious build folders such as _minted-*, build/, output/, .git/, node_modules/.
Identify the main paper file as the best candidate containing \documentclass or \begin{document}.
If multiple candidates exist, prefer:
$ARGUMENTSWriting/, writing/, Paper/, paper/, Draft/, or the repo root\input{} / \include{}Record the result as PAPER_FILE.
If CODE_DIR was not provided, look for likely code roots in this order:
Code/Analysis/code/analysis/scripts/src/programs/replication/If no single directory is clearly best, use the repo root and limit later discovery to likely code files.
Record the result as CODE_DIR.
Within CODE_DIR and subdirectories, find:
**/*.do**/*.R**/*.r**/*.pyExclude obvious caches, environments, and generated folders where appropriate.
If REVIEW_DEPTH = main, prioritize:
main.do, master.do, run_all.R, main.R, main.py, run.pyIf REVIEW_DEPTH = full, include all detected code files.
Record:
CODE_FILES_ALLCODE_FILES_REVIEWEDLook for:
README.md, README.txt, readme.mdrequirements.txt, environment.yml, pyproject.tomlrenv.lock, DESCRIPTIONRecord relevant files as available.
If you find a paper and at least some code, continue even if discovery is imperfect.
Only stop if you cannot find either:
If you stop, tell the user briefly what was missing and what paths they can pass explicitly.
Before proceeding, tell the user:
Read PAPER_FILE.
Recursively read files referenced by:
\input{}\include{}\subfile{}Extract a compact working summary for later cross-checking:
Do not try to extract every statistic in the paper. Prioritize the main empirical design and the outputs most likely to map to code.
Store this as PAPER_SUMMARY.
In a single message, launch both agents using the Agent tool with subagent_type: "general-purpose".
Each agent must produce a compact, high-signal output. Do not ask for exhaustive per-file prose on every file unless the project is very small.
Store as CODE_REVIEW_SUMMARY.
Prompt:
You are reviewing research code for reproducibility and code quality in a social science / economics project.
Files in scope:
- Reviewed code files: [insert
CODE_FILES_REVIEWED]- README / documentation files: [insert discovered supporting files or "none found"]
Review the files and produce a compact report focused on the most decision-relevant findings.
Check:
- Hardcoded absolute paths or machine-specific assumptions
- Randomized procedures without an obvious seed in local or upstream execution context
- Outputs that appear to be consumed but not obviously generated in the reviewed pipeline
- Data inputs and whether path conventions are consistent
- Dependency management and software requirements
- Run order and presence of a master script or documented pipeline
- Large commented-out blocks, weak script structure, or hard-to-follow long files
- Opaque transformations, unexplained filters, recodes, merges, or thresholds that are important for interpretation
Use these labels:
- PASS: looks solid
- NOTE: minor improvement opportunity
- VERIFY: worth human confirmation before treating as a problem
- MISSING: expected project support file or documentation is absent
Output exactly these sections:
Overall
3-6 bullets on the overall state of the codebase.
Top Findings
Up to 10 items total, ordered by importance. Format each item as:
- [LABEL] Short finding title — file(s): line reference(s) if available — why it matters — what to check next
Strengths
3-8 bullets with genuine positives.
Reproducibility Checklist
One line each for:
- Relative paths
- Random seed practice
- Outputs generated by pipeline
- Dependency management
- Run order
- README / documentation
Use this format:
- Check name: PASS / NOTE / VERIFY / MISSING — brief note
File Notes
Include brief notes only for files that have a VERIFY, NOTE, or especially strong positive signal. Use at most 1-3 bullets per file.
Be calibrated. If something might be handled in an upstream script, say so.
Store as MAPPING_SUMMARY.
Prompt:
You are mapping a research paper's main empirical claims to its code implementation.
Inputs:
- Paper summary: [insert
PAPER_SUMMARY]- Reviewed code files: [insert
CODE_FILES_REVIEWED]- Code directory: [insert
CODE_DIR]Read the code files as needed and identify whether the paper's core empirical design appears in the code.
Focus on the main paper elements only:
- Main tables and figures
- Main variables and treatments
- Main sample restrictions and time period
- Main estimation methods
- Fixed effects and clustering, if central
- Main datasets or intermediate analysis files
Use these confidence labels:
- HIGH: clear and specific match
- MEDIUM: plausible match but not airtight
- LOW: weak or indirect match
- NOT FOUND: no plausible match found in reviewed files
Output exactly these sections:
Verified Matches
Up to 10 bullets. Format:
- Paper element -> Code evidence -> HIGH / MEDIUM -> brief note
Items To Verify
Up to 12 bullets. Format:
- Paper element -> Code evidence or absence -> LOW / NOT FOUND / MEDIUM -> why this deserves a check
Likely Discrepancies
Only include items where paper and code appear to point in different directions. Use up to 8 bullets.
Coverage Notes
3-6 bullets on what was easy to match, what was ambiguous, and what may sit outside the reviewed files.
Be conservative. Do not mark a match HIGH unless the specification, output, or variable mapping is genuinely clear.
After both agents return, synthesize the results yourself.
Do not launch another critic agent by default. Instead:
If the repo is unusually complex and a second-pass critic is truly necessary, you may launch one additional agent. Otherwise, keep the workflow lean.
Create:
OVERALL_ASSESSMENT: 2-4 sentences leading with what worksTOP_ACTIONS: 3-8 concrete next steps, ordered by importanceMATCHED_ITEMS: high-confidence paper-code matchesVERIFY_ITEMS: gaps or ambiguous matches worth checkingNOT_FOUND_ITEMS: important paper elements with no plausible code match in reviewed filesWrite the final report to the current working directory as:
code_review_report.mdUse this structure:
# Code Review Report: [Paper Title]
*Reviewed: [today's date] | Languages: [languages found] | Depth: [REVIEW_DEPTH] | Paper: [PAPER_FILE filename]*
## Overall Assessment
[2-4 sentences. Lead with strengths. Then summarize the main reproducibility or alignment issues worth checking.]
## What's Working Well
- [Specific positive]
- [Specific positive]
- [Specific positive]
## Reproducibility Checklist
| Check | Status | Details |
|---|---|---|
| Relative file paths | [PASS / NOTE / VERIFY / MISSING] | [...] |
| Random seed practice | [PASS / NOTE / VERIFY / MISSING] | [...] |
| Outputs generated by pipeline | [PASS / NOTE / VERIFY / MISSING] | [...] |
| Dependency management | [PASS / NOTE / VERIFY / MISSING] | [...] |
| Run order documented | [PASS / NOTE / VERIFY / MISSING] | [...] |
| README / documentation | [PASS / NOTE / VERIFY / MISSING] | [...] |
## Code Quality Summary
[Short prose summary grouped by module, pipeline stage, or only the files with notable findings. Do not force one paragraph per file if the project is large.]
## Paper-Code Consistency
### Matched
- [High-confidence match]
### Items To Verify
- [Paper element] — [what the paper says] — [what the code appears to do] — [why it is worth checking] — [specific suggested next step]
### Not Found In Reviewed Files
- [Important paper element] — [brief note]
## Suggested Next Steps
1. ...
2. ...
3. ...
## Appendix: Compact Evidence
### Code Review Summary
[Paste `CODE_REVIEW_SUMMARY`]
### Paper Summary
[Paste the compact `PAPER_SUMMARY`]
### Mapping Summary
[Paste `MAPPING_SUMMARY`]
Keep the final report readable. Prefer concise, high-signal summaries over exhaustive dumps.
After writing the report, tell the user:
code_review_report.mdOverall AssessmentWhat's Working Welltools
Recommend AND run open-source AI tools, agents, Claude Code / Codex skills, and MCP servers for any stage of a literature review — searching, reading, extracting, synthesizing, screening, citation-checking, and paper writing. Use when the user asks "what tool should I use to..." OR "install/run/use <tool> to ..." for research/lit-review work: automating a survey or related-work section, PDF→Markdown extraction for LLMs (MinerU/marker/docling), PRISMA / systematic review (ASReview), citation-backed Q&A over PDFs (PaperQA2), wiring papers into Claude/Cursor via MCP (arxiv/paper-search/zotero servers), or chatting with a Zotero library. Ships a launcher (scripts/litrun.py) that installs each tool in an isolated venv and runs it. Curated catalog of 70+ vetted projects. 支持中英文(用于「文献综述工具选型」与「一键安装/运行」)。
development
Route empirical-research requests through the Auto-Empirical Research Skills catalog when this whole repository is installed as one skill in Codex, CodeBuddy, Claude Code, or another IDE. Use to choose and load the right vendored AERS skill for causal inference, econometrics, replication, data acquisition, manuscript writing, peer review and referee responses, citation checking, de-AIGC editing, or full empirical-paper workflows without reading the entire repository at once.
documentation
Use when the project collects primary data or runs a field, lab, or survey experiment, before the intervention begins — write the pre-analysis plan, size the sample from a power calculation, and register with the AEA RCT Registry. Apply after the design is chosen in aer-identification and before any outcome data are seen.
tools
Guide economists to authoritative data sources with explicit, confirmed data specifications before retrieval; interfaces with Playwright MCP to navigate portals and extract real data, not articles about data.