Skip to content

Commit 45eaf4f

Browse files
author
Vambrocop
committed
Add high-value paper reproducibility audit
1 parent e6b3003 commit 45eaf4f

3 files changed

Lines changed: 445 additions & 0 deletions

File tree

skills/meta-analysis-forge/SKILL.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ Load:
4141
- `references/effect-sizes.md` for effect metrics and extraction.
4242
- `references/soil-fauna-carbon-meta.md` when the project pools ecological effects on both carbon stocks and carbon fluxes and needs trait or climate moderators without collapsing incompatible outcome families.
4343
- `references/ecological-meta-ml-path-model-paradigm.md` when the project combines meta-analysis, mixed-effects meta-regression, random forest variable ranking, and PLS-PM/SEM-family path modeling.
44+
- `references/high-value-paper-reproducibility-audit.md` when a strong published meta-analysis should become a reusable template and the task requires checking code, data-table structure, `rma.mv`, random forest, PLS-PM/SEM-family modeling, and reproducibility.
4445
- `references/ipd-and-mega-analysis.md` when the task involves individual participant data, multi-site raw/derived data harmonization, small-sample dataset integration, or mega-analysis.
4546
- `references/synthesis-models.md` for model choice and diagnostics.
4647
- `references/meta-analysis-quality-gates.md` for pre-pooling checks.
@@ -141,6 +142,34 @@ Main reuse lesson:
141142
Main overclaim risk:
142143
```
143144

145+
### High-Value Paper Reproducibility Audit
146+
147+
Use `templates/high-value-paper-reproducibility-audit.md` when the user wants to learn from a strong article, especially a Nature Communications or similar paper with public data/code. Do not stop at a paper summary.
148+
149+
Extract:
150+
151+
- file and repository inventory;
152+
- data table structure;
153+
- effect-size and uncertainty logic;
154+
- `metafor::rma.mv()` implementation;
155+
- shared-control VCV or other dependence handling;
156+
- random forest or machine-learning layer;
157+
- `plspm`, PLS-PM, PLS-SEM, or other path-model layer;
158+
- peer-review lessons;
159+
- reproducibility gaps;
160+
- reusable skill rules.
161+
162+
```text
163+
Article logic:
164+
Data table structure:
165+
Effect-size logic:
166+
rma.mv / dependence implementation:
167+
Random forest layer:
168+
PLS-PM / path-model layer:
169+
Reproducibility verdict:
170+
Reusable rule:
171+
```
172+
144173
## Guardrails
145174

146175
- Do not invent effect sizes.
@@ -153,3 +182,4 @@ Main overclaim risk:
153182
- Do not treat the minimal R script as a full meta-analysis pipeline; it does not solve effect conversion, dependence, or certainty assessment.
154183
- Do not run effect-size helper conversions without preserving original reported values and source anchors.
155184
- Do not call a project a mega-analysis unless raw, participant-level, sample-level, or harmonized derived data are reprocessed or remodeled under a common framework.
185+
- Do not call a high-value paper reproducible until its public code/data files, data schema, package versions, and model scripts have been inspected.
Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
# High-Value Meta-Analysis Paper Reproducibility Audit
2+
3+
Use this reference when a published meta-analysis is valuable enough to become a reusable method template, especially papers from journals such as *Nature Communications*, *Nature Sustainability*, *Nature Food*, *PNAS*, *Science Advances*, or major field journals with public code/data.
4+
5+
The goal is not only to read the paper. The goal is to understand **how the paper was made** and whether its workflow can be reused by the user or other researchers.
6+
7+
## When To Trigger
8+
9+
Trigger this audit when the user says a paper is:
10+
11+
- "good", "worth learning", "can be put into the skills", or "can be reused";
12+
- from a high-impact journal and methodologically rich;
13+
- a meta-analysis with supplementary data, code, or peer-review files;
14+
- a paper combining meta-analysis with `rma.mv`, random forest, PLS-PM/SEM, machine learning, spatial data, or external covariates;
15+
- a paper whose data table format or R code may become a template.
16+
17+
## Core Principle
18+
19+
Do not stop at the abstract, conclusions, or pooled effect.
20+
21+
For a reusable article, extract five layers:
22+
23+
1. **Article logic**: research question, outcome families, conceptual framing.
24+
2. **Data logic**: search, screening, coding sheet, raw data table, derived data table, external covariates.
25+
3. **Effect-size logic**: formulas, variable scale, uncertainty, shared controls, dependence structure.
26+
4. **Code logic**: R/Python scripts, package versions, function calls, model objects, output files.
27+
5. **Reproducibility logic**: README quality, session info, data/code repository, file paths, missing pieces, reviewer comments.
28+
29+
## Required Extraction Checklist
30+
31+
### 1. Data And Repository Inventory
32+
33+
Record:
34+
35+
- DOI / article URL;
36+
- supplementary files;
37+
- peer-review files, if available;
38+
- code/data repository URL and DOI;
39+
- repository platform: Figshare, Zenodo, OSF, GitHub, Dryad, institutional archive;
40+
- whether the repository has raw data, processed data, code, README, session info, and generated outputs;
41+
- whether files are versioned and whether the paper references the final version.
42+
43+
If code/data are not in the local folder, state that explicitly and provide the repository link for the next step.
44+
45+
### 2. Data Table Structure
46+
47+
Extract the data table schema whenever possible.
48+
49+
Minimum fields to look for:
50+
51+
```text
52+
study_id
53+
effect_id
54+
reference
55+
year
56+
country
57+
latitude
58+
longitude
59+
outcome_family
60+
outcome_variable
61+
treatment_definition
62+
control_definition
63+
treatment_mean
64+
control_mean
65+
treatment_sd
66+
control_sd
67+
treatment_n
68+
control_n
69+
effect_size
70+
sampling_variance_or_se
71+
effect_size_type
72+
shared_control_id
73+
moderators
74+
external_covariates
75+
quality_or_sensitivity_flags
76+
```
77+
78+
For ecological meta-analyses, also check:
79+
80+
```text
81+
ecosystem
82+
soil_depth
83+
duration
84+
climate_variables
85+
soil_background
86+
species_or_taxon
87+
functional_traits
88+
management_variables
89+
spatial_scale
90+
```
91+
92+
### 3. Effect-Size Implementation
93+
94+
Do not only report the effect-size name. Extract how it was computed.
95+
96+
Check:
97+
98+
- `lnRR`, `lnROM`, Hedges' `d`, mean difference, Fisher's `z`, odds ratio, risk ratio, or other metric;
99+
- whether each metric matches the measurement scale;
100+
- whether the original means, SDs, and sample sizes are preserved;
101+
- how CI/SE/p-values were converted;
102+
- how missing SDs or sample sizes were handled;
103+
- whether stock, flux, stability, and process outcomes were separated.
104+
105+
Reusable rule:
106+
107+
```text
108+
The effect-size metric should be chosen by outcome scale, not by convenience.
109+
```
110+
111+
### 4. Dependence And `rma.mv`
112+
113+
For `metafor::rma.mv()` papers, extract:
114+
115+
- model formula;
116+
- effect-size column;
117+
- variance or VCV object;
118+
- random-effects structure;
119+
- moderator formula;
120+
- method argument, such as REML;
121+
- tests and confidence intervals;
122+
- model comparison criteria such as AIC, AICc, BIC;
123+
- sensitivity analyses.
124+
125+
Look specifically for:
126+
127+
```r
128+
rma.mv(yi, V, mods = ..., random = ..., data = ..., method = "REML")
129+
```
130+
131+
For shared-control or repeated-use designs, check whether a variance-covariance matrix is constructed.
132+
133+
Record whether the analysis handles:
134+
135+
- multiple outcomes per study;
136+
- multiple time points;
137+
- multiple treatments sharing one control;
138+
- nested sites or experiments;
139+
- repeated measures;
140+
- phylogenetic, spatial, or taxonomic dependence if relevant.
141+
142+
### 5. Random Forest / Machine-Learning Layer
143+
144+
If a paper uses random forest, extract:
145+
146+
- package name and version, such as `ranger`;
147+
- response variable;
148+
- predictors;
149+
- tuning parameters;
150+
- number of trees;
151+
- split rule or importance method;
152+
- validation strategy;
153+
- variable-importance output;
154+
- whether importance is interpreted as prediction, screening, or causal mechanism.
155+
156+
Typical R pattern:
157+
158+
```r
159+
ranger(response ~ predictors, data = ..., importance = ...)
160+
```
161+
162+
Guardrail:
163+
164+
```text
165+
Random-forest importance is driver ranking or predictive screening, not causal proof.
166+
```
167+
168+
### 6. PLS-PM / PLS-SEM / Path-Model Layer
169+
170+
If a paper uses `plspm`, SEM, or a path model, extract:
171+
172+
- package name and version;
173+
- blocks or latent constructs;
174+
- manifest variables;
175+
- inner model/path matrix;
176+
- outer model/modes;
177+
- path coefficients;
178+
- direct and indirect effects;
179+
- model quality metrics;
180+
- whether the path logic was theory-driven or data-driven.
181+
182+
Typical R pattern:
183+
184+
```r
185+
plspm(data, inner_model, outer_model, modes = ...)
186+
```
187+
188+
Guardrail:
189+
190+
```text
191+
PLS-PM or PLS-SEM organizes mechanism hypotheses. It does not by itself prove causality.
192+
```
193+
194+
### 7. Peer-Review Learning
195+
196+
For papers with transparent review files, extract reviewer-driven upgrades:
197+
198+
- effect-size corrections;
199+
- dependence/VCV corrections;
200+
- geographic or sample-bias limitations;
201+
- code/README/session-info requests;
202+
- model interpretation changes;
203+
- wording changes around causality;
204+
- additional sensitivity checks.
205+
206+
These are often the most useful lessons for writing a reviewer-proof meta-analysis.
207+
208+
## Output Standard
209+
210+
For a high-value paper, produce an audit report with:
211+
212+
```text
213+
1. File/repository inventory
214+
2. How the paper was made
215+
3. Data table structure
216+
4. Effect-size and uncertainty logic
217+
5. rma.mv / model implementation
218+
6. Random forest implementation
219+
7. PLS-PM or path-model implementation
220+
8. Reproducibility gaps
221+
9. What can be reused as a skill
222+
10. Prompts/templates for future use
223+
```
224+
225+
## Minimum Verdict Categories
226+
227+
Use these labels:
228+
229+
- **Readable only**: article is useful conceptually, but code/data are absent.
230+
- **Partially reproducible**: data or code are available, but missing README/session info or some scripts.
231+
- **Workflow reusable**: article has enough data structure and code logic to become a reusable template.
232+
- **Full reproduction candidate**: code, data, package versions, and outputs are sufficient for rerun and verification.
233+
234+
## Do Not
235+
236+
- Do not claim the paper is reproducible until code and data have been inspected.
237+
- Do not infer R code from methods when public code is available but not yet checked.
238+
- Do not merge article reading with code reproduction; record what came from the paper and what came from code.
239+
- Do not call random forest, SHAP, or PLS-PM causal without design justification.
240+
- Do not hide missing files. Missing code/data is a finding, not a failure.

0 commit comments

Comments
 (0)