aer-consistency — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited aer-consistency (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Referees and editors run cheap integrity checks before engaging with ideas: does the abstract's number appear in the tables? Do the Ns add up? Does "Table 4" exist? Does every citation resolve? A single mismatch reframes the entire report from "is this right?" to "what else is wrong?" — and for AI-assisted manuscripts these mismatches are the modal failure, because text and tables are often generated in separate passes.
This skill is the full-manuscript integrity audit. It is mechanical by design: every check below has a yes/no answer obtained by comparing two artifacts, not by judgment. Run it after every revision round, not only before first submission.
aer-referee-sim (so the simulated referees attack substance, nottypos) and before aer-submission
Build a register of every number that appears more than once in the manuscript, then verify each row against its single source of truth (the table or the replication output):
NUMBER SOURCE ABSTRACT INTRO RESULTS CONCL MATCH
4.2 log points Tab 3 col 4 yes yes yes yes OK
s.e. 1.1 Tab 3 col 4 yes no yes no OK
$84 billion cited source no yes no yes OK
N = 37,824 Tab 1 no no yes no OKRules:
standard error. No re-rounding in prose: if the table says 0.042 (0.011), the text says 4.2, not 4 or 4.20.
specification. Quoting column 3 in the abstract and column 4 in the intro is a real and common failure.
first use, and the same value everywhere.
documented drop equals the analysis N.
matching specification; every deviation (balanced panel, IV subsample) is explained in the table notes and the text.
county-years from 620 counties × 20 years — check the multiplication).
exclusions).
The conversion table for prose claims about coefficients:
| Outcome form | Coefficient β means | Exact percent effect |
|---|---|---|
| log(Y), binary D | 100·β log points | 100·(e^β − 1) |
| log(Y), log(X) | elasticity | β% per 1% of X |
| Y in levels, binary D | β units of Y | 100·β / mean(Y) |
| Y is a rate (share) | β·100 percentage points | 100·β / baseline rate percent |
Checks:
outcome's units. A coefficient of 0.02 on an employment rate is 2 percentage points; on log employment it is 2.0 percent (exactly 2.02).
is 36 percent, not 31.
sample?) and the SD's value.
year, named.
the most embarrassing class of referee catch.
the declared convention (1.65 / 1.96 / 2.58 thresholds approximately).
table's stars and the CI.
of stars (see aer-robustness on null-result discipline).
aer-tables-figures sets it; thisaudit verifies it held).
\ref / \autoref resolves; no "Table ??" anywhere in the PDF.of first reference; exhibits nobody cites get cut or moved to the appendix.
IV is the classic R&R injury).
supplemental file if separate.
is cited at least once. LaTeX builds with zero unresolved citation warnings.
text, 2019 in the bib — fail).
aer-literature's integrity protocol; this audit confirms it was run and the ledger has no open rows.
For each empirical claim in the abstract, introduction, and conclusion, record where the evidence lives:
CLAIM EVIDENCE STATUS
"raises 90/10 ratio by 4.2 log points" Tab 3 c4 OK
"driven by gains at the top" Fig 3 / Tab 4 OK
"absent in retail and construction" Tab 5 c2-c3 OK
"consistent with skill-biased adoption" Sec V battery OK (consistency claim)worded as consistency ("consistent with"), matching aer-paper-body rules.
with nothing to point at is how overclaiming enters a manuscript.
docs/claim-evidence-ledger.csv: use label:<tex-label> for manuscript exhibits, cite:<bib-key> for externally sourced claims, and file:<relative-output> for generated output files. Rows must be OK or PASS before handoff.
two-way, ref/label two-way, duplicate labels, abstract word count):
python3 skills/aer-consistency/scripts/audit_manuscript.py paper.tex references.bib
python3 skills/aer-consistency/scripts/audit_manuscript.py paper_dir references.bib \
--claim-ledger paper_dir/docs/claim-evidence-ledger.csvdigits); locate each in a table or a cited source; build the register.
arithmetic, not judgment.
output/tables/ — they must be the same files, not lookalikes (aer-replication requires this anyway).
handing off.
AUDIT RESULT DETAIL
1 headline numbers PASS 12 numbers, 12 matched
2 sample sizes FAIL Tab 4 N=37,824 vs Tab 1 N=37,284
3 units and conversions PASS 2 exact conversions applied
4 stars vs SEs PASS
5 cross-references PASS 31 refs, 0 dangling
6 citations two-way FAIL 2 bib entries uncited
7 claim-evidence map PASS 9 claims mappedFix-and-rerun until all PASS. The report travels with the handoff so aer-referee-sim and aer-submission know the floor is solid.
quoted estimate
tables stayed exact
"suggestive"
When working from the AER-skills repository or plugin bundle, load only the relevant resource:
examples/replication-package-skeleton/docs/exhibit-register.md
examples/replication-package-skeleton/docs/claim-evidence-ledger.csv
skills/aer-paper-body/SKILL.md
skills/aer-literature/SKILL.md
docs/style-guide.md
AUDITS PASSED: <n>/7
HEADLINE NUMBERS MATCHED: <n>/<n>
OPEN FAILURES: <list, or "none">
ABSTRACT WORD COUNT: <n>/100
CITATION LEDGER: <closed / open rows remain>
CLAIM-EVIDENCE LEDGER: <n> claims, <closed / open rows remain>
NEXT SKILL: <aer-referee-sim | aer-submission>reopens it
replication package actually produces
finds style issues and misses arithmetic
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.