skills/11-James-Traina-compound-science/skills/workflows-review/SKILL.md
Run multi-agent econometric review on estimation code, identification arguments, and research artifacts
npx skillsauth add brycewang-stanford/Awesome-Agent-Skills-for-Empirical-Research workflows:reviewInstall 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.
Pipeline mode: This command operates fully autonomously. All decisions are made automatically.
Perform exhaustive econometric and methodological review using multi-agent parallel analysis. Domain-specific reviewers check estimation quality, identification strategy, numerical stability, and mathematical rigor.
<review_target> #$ARGUMENTS </review_target>
Eligibility Check
Before launching review agents, verify there is something to review. If no research artifacts are found (no estimation code, no proofs, no pipeline files, no data scripts, no output files), state "No research artifacts found to review" and stop. Do not launch agents against an empty target.
Determine Review Target
The review is artifact-centric: it reviews research files (estimation code, proofs, pipelines, data scripts), not git metadata. Determine the target in priority order:
estimation.py, src/models/, proof.tex) → review those artifacts directlyplan-3) → find the plan in docs/plans/, review files it referencesgh pr view --json filesClassify Artifacts
Scan the target files and classify by type:
estimation_code: *.py with statsmodels/scipy.optimize/pyblp/linearmodels imports
*.R with fixest/lfe/AER/gmm imports
*.jl with Optim/NLsolve imports
*.do with reg/ivregress/gmm commands
simulation_code: Monte Carlo loops, DGP code, bias/RMSE computation
proofs: *.tex with theorem/proof environments, *.md with derivation sections
pipeline_files: Makefile, Snakefile, dvc.yaml, master.do
data_code: data loading, cleaning, merge operations
output_files: tables/*, figures/*, *.csv result files
This classification drives which domain reviewers to launch.
Load Review Settings
Read compound-science.local.md in the project root. If found, use review_agents from YAML frontmatter. If the markdown body contains review context (e.g., "focus on identification strategy" or "this is a replication package"), pass it to each agent as additional instructions.
If no settings file exists, use defaults:
review_agents:
- econometric-reviewer
- numerical-auditor
- identification-critic
The following paths are compound-science pipeline artifacts and must never be flagged for deletion or removal by any review agent:
docs/plans/*.md — Plan files created by /workflows:plandocs/brainstorms/*.md — Brainstorm files created by /workflows:brainstormdocs/solutions/*.md — Solution documents created by /workflows:compounddocs/simulations/*.md — Simulation study documentationIf a review agent flags any file in these directories for cleanup or removal, discard that finding during synthesis.
Entry condition: Phase 1 classified at least one artifact; review settings loaded. Exit condition: All dispatched agents have returned findings.
Launch domain reviewers in parallel using the Task tool. The specific agents depend on artifact classification from Phase 1.
<parallel_tasks>
Launch econometric-reviewer, numerical-auditor, and identification-critic in parallel:
Task econometric-reviewer(changed files + review context)
→ Checks: identification strategy, endogeneity, standard errors, instrument validity,
sample selection, asymptotic properties, correct package usage
Task numerical-auditor(changed files + review context)
→ Checks: floating-point stability, convergence diagnostics, integration accuracy,
RNG seeding, matrix conditioning, overflow/underflow, gradient accuracy
Task identification-critic(changed files + review context)
→ Checks: completeness of identification argument, exclusion restriction plausibility,
functional form assumptions, parametric vs nonparametric claims, support conditions,
point vs set identification
</parallel_tasks>
<conditional_agents>
WRITTEN ARTIFACTS: If PR contains proofs, derivations, or paper sections:
(Files matching: *.tex, *.md with theorem/proof/lemma/proposition content, docs/proofs/*)
Task journal-referee(written artifact files + review context)
→ Simulates top-5 journal referee: contribution clarity, relation to literature,
identification concerns, economic vs statistical significance, R&R concerns
(robustness, external validity, mechanism)
PIPELINE/DATA CODE: If PR contains pipeline files or data processing:
(Files matching: Makefile, Snakefile, dvc.yaml, *.do, data loading/cleaning code)
Task reproducibility-auditor(pipeline files + review context)
→ Checks: intermediate files generated by code (no manual steps), seeds documented,
package versions pinned, end-to-end pipeline, relative paths, data not committed
TABLES/FIGURES: If tables or figures were generated:
(Files matching: tables/*, figures/*, *.tex with tabular content, *.csv result files)
Task econometric-reviewer(output files + estimation code + review context)
→ Checks: table numbers match underlying code output, no manual edits to generated tables,
statistical summaries consistent with estimation logs, formatting correct
</conditional_agents>
Search docs/solutions/ for past issues related to this PR's modules and patterns
→ Flag matches as "Known Pattern" with links to solution docs
→ See workflows-compound/references/solution-schema.md for category detection and search workflow
Wait for all Phase 2 agents to complete before proceeding.
Collect All Findings
Gather outputs from all parallel agents into a unified findings list.
Categorize by Severity
| Severity | Criteria | Action | |----------|----------|--------| | CRITICAL | Incorrect identification argument, biased estimator, wrong standard errors, numerical instability producing wrong results, missing convergence check | Must fix before proceeding | | WARNING | Suboptimal estimation approach, missing robustness check, incomplete diagnostics, weak instruments not flagged, reproducibility gap | Should fix | | NOTE | Style improvements, alternative approaches worth considering, minor efficiency gains, documentation gaps | Nice to have |
Deduplicate and Cross-Reference
Estimation-Specific Synthesis
For estimation code changes, synthesize a unified assessment:
| Dimension | Status | Details | |-----------|--------|---------| | Identification | [valid/concerns/invalid] | Summary from econometric-reviewer + identification-critic | | Estimation | [correct/issues/incorrect] | Summary from econometric-reviewer + numerical-auditor | | Inference | [valid/concerns/invalid] | Standard error assessment from econometric-reviewer | | Numerical Stability | [stable/warnings/unstable] | Summary from numerical-auditor | | Reproducibility | [complete/gaps/missing] | Summary from reproducibility-auditor (if run) | | Rigor | [publication-ready/needs-work/insufficient] | Summary from journal-referee (if run) |
Create Todos for All Findings
Use TodoWrite to create actionable items for all CRITICAL and WARNING findings:
TodoWrite([
{ id: "review-001", task: "[CRITICAL] description", status: "pending" },
{ id: "review-002", task: "[WARNING] description", status: "pending" },
...
])
For NOTES: include as a summary list — do not create individual todos unless the note is actionable.
Generate Review Summary
## Econometric Review Complete
**Review Target:** [files/directory/plan reviewed]
### Estimation Assessment
| Dimension | Status |
|-----------|--------|
| Identification | [status] |
| Estimation | [status] |
| Inference | [status] |
| Numerical Stability | [status] |
| Reproducibility | [status] |
| Rigor | [status] |
### Findings Summary
- **CRITICAL:** [count] — must fix before proceeding
- **WARNING:** [count] — should fix
- **NOTE:** [count] — suggestions
### CRITICAL Findings
1. [finding with agent source and file location]
2. ...
### WARNING Findings
1. [finding with agent source and file location]
2. ...
### Notes
- [summarized notes]
### Known Patterns (from docs/solutions/)
- [any matches from solution search]
### Review Agents Used
- econometric-reviewer
- numerical-auditor
- identification-critic
- [conditional agents if triggered]
- docs/solutions/ search
### Next Steps
1. Address CRITICAL findings (must fix before proceeding)
2. Address WARNING findings (recommended)
3. Run `/workflows:compound` to document any novel solutions
The review evaluates changes from multiple research-relevant angles:
Review agents are configured in compound-science.local.md at the project root. The YAML frontmatter controls which agents run:
---
review_agents:
- econometric-reviewer
- numerical-auditor
- identification-critic
# Uncomment to always include:
# - journal-referee
# - reproducibility-auditor
---
The markdown body provides additional context passed to all review agents:
## Review Context
Focus on identification strategy — this paper uses a shift-share instrument
and we need to verify the exclusion restriction argument is complete.
To create or modify settings, edit compound-science.local.md directly.
All review findings must use this severity scale:
| Severity | Meaning | Action Required | Research Example | |----------|---------|----------------|-----------------| | P0 | Invalidates core result | Must fix before proceeding | Identification failure, wrong estimator for the DGP | | P1 | Materially affects conclusions | Should fix | Wrong standard errors, convergence failure, missing first-stage | | P2 | Weakens but doesn't invalidate | Fix if straightforward | Missing robustness check, incomplete sensitivity analysis | | P3 | Style or documentation | Author's discretion | Code comments, variable naming, table formatting |
Aggregate verdict: Ready / Ready with fixes / Not ready
Pipeline mode (when invoked from /lfg or /slfg):
/workflows:compound to document findingsStandalone mode (when invoked directly by the user):
/workflows:compound to capture solutions/workflows:work to implement fixes for review findingsdevelopment
Conduct rigorous thematic analysis (TA) of qualitative data following Braun and Clarke's (2006) six-phase framework. Use whenever the user mentions 'thematic analysis', 'TA', 'Braun and Clarke', 'qualitative coding', 'identifying themes', or asks for help analysing interviews, focus groups, open-ended survey responses, or transcripts to identify patterns. Also trigger for questions about inductive vs theoretical coding, semantic vs latent themes, essentialist vs constructionist epistemology, building a thematic map, or writing up a qualitative findings section. Covers all six phases, the four upfront analytic decisions, the 15-point quality checklist, and the five common pitfalls. Produces a Word document write-up and an annotated thematic map. Does NOT cover IPA, grounded theory, discourse analysis, conversation analysis, or narrative analysis — use a different method for those.
development
Guide users through writing a systematic literature review (SLR) following the PRISMA 2020 framework. Use this skill whenever the user mentions 'systematic review', 'systematic literature review', 'SLR', 'PRISMA', 'PRISMA 2020', 'PRISMA flow diagram', 'PRISMA checklist', or asks for help writing, structuring, or auditing a literature review that follows reporting guidelines. Also trigger when the user asks about inclusion/exclusion criteria for a review, search strategies for databases like Scopus/WoS/PubMed, study selection processes, risk of bias assessment, or narrative synthesis for a review paper. This skill covers the full PRISMA 2020 checklist (27 items), produces a Word document manuscript in strict journal article format, generates an annotated PRISMA flow diagram, and enforces APA 7th Edition referencing throughout. It does NOT cover meta-analysis or statistical pooling. By Chuah Kee Man.
testing
Performs placebo-in-time sensitivity analysis with hierarchical null model and optional Bayesian assurance. Use when checking model robustness, verifying lack of pre-intervention effects, or estimating study power.
data-ai
Fit, summarize, plot, and interpret a chosen CausalPy experiment. Use after the causal method has been selected, including when configuring PyMC/sklearn models and scale-aware custom priors.