claims-audit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited claims-audit (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.
Verify that every number, every figure, and every reported experiment in a manuscript is traceable, reproducible, and complete. This skill subsumes negative-results reporting and figure integrity into a unified audit.
The Iron Law:
EVERY NUMBER IN THE MANUSCRIPT MUST TRACE TO A SPECIFIC FILE. NO EXCEPTIONS.A number without a source file is not a finding — it is an assertion. Assertions do not belong in scientific papers.
Use this skill:
verification-before-publication requests a claims auditDo NOT use this skill to:
experiment-design)At the beginning of every session using this skill, state:
"I'm running the claims-audit skill. This will audit number traceability, figure integrity, and completeness of reported results."
For every quantitative claim in the manuscript — correlation coefficients, p-values, sample sizes, percentages, improvement margins, AUC values, effect sizes, anything with a number — the claim must be traceable to a specific file and a specific line or cell that produced it.
Process:
results/ (or equivalent output directory).What counts as a quantitative claim:
| Type | Examples |
|---|---|
| Correlation / model fit | r = 0.86, R² = 0.74, Pearson r = 0.91 |
| Statistical test result | p < 0.001, p = 0.023, F(2, 84) = 7.3 |
| Sample size | N = 123, n = 47 subjects, 3 excluded |
| Effect size | Cohen's d = 0.62, 95% CI [0.41, 0.83] |
| Model comparison | "X% improvement over baseline", RMSE reduced from 0.42 to 0.31 |
| Descriptive statistics | mean ± SD, median [IQR], range |
| Performance metrics | AUC = 0.79, sensitivity = 84%, specificity = 72% |
| Count / proportion | "62% of subjects", "14 of 20 regions" |
Output table — Number Traceability:
| Claim | Manuscript Location | Source File | Source Line | Match? | Status |
|---|---|---|---|---|---|
| r = 0.86 | Results §3.1, L42 | results/cv_metrics.json | key: mean_pearson_r | YES | OK |
| p < 0.001 | Results §3.2, L55 | results/group_stats.csv | row 22, col p_value | NO (actual: 0.003) | CRITICAL |
| N = 47 | Methods §2.3, L18 | data/processed/cohort_subjects.csv | row count | YES | OK |
| "23% improvement" | Abstract, L6 | results/comparison_table.csv | (no matching value) | MISSING | CRITICAL |Discrepancy severity:
| Finding | Status |
|---|---|
| Values match exactly (or correct rounding) | OK |
| Values differ by more than rounding | CRITICAL |
| No source file found for the claim | CRITICAL |
| Source file exists but value cannot be located in it | CRITICAL |
| Value in manuscript is rounded in a misleading direction (e.g., p = 0.049 reported as p < 0.05 when source is p = 0.051) | CRITICAL |
Every figure in the manuscript must be generated by a version-controlled script. A figure that was manually created, manually edited in image software after script generation, or that has no traceable generating script is a CRITICAL finding.
Process:
scripts/, src/, figures/, notebooks/, or any path referenced in a comment at the top of the figure file.What "manually edited" means:
What is NOT a manual edit:
Output table — Figure Integrity:
| Figure | Script | Exists? | Runnable? | Manual Edit? | Status |
|---|---|---|---|---|---|
| Fig 1 | scripts/plot_fig1_overview.py | YES | YES | NO | OK |
| Fig 2 | scripts/plot_fig2_scatter.py | YES | YES | NO | OK |
| Fig 3 | — | NO | — | — | CRITICAL: no generating script |
| Fig 4 | scripts/plot_fig4_heatmap.py | YES | YES | YES (Illustrator metadata) | CRITICAL: manual edits detected |
| Supp Fig 1 | notebooks/supp_analysis.ipynb cell 14 | YES | YES | NO | OK |Runnable check — minimum requirements:
Every experiment that was run must be reported in the manuscript, or explicitly accounted for. Omitting a non-significant result is not "keeping the paper focused" — it is publication bias.
Process:
docs/eureka/records/experiment-log.md or equivalent), the results/ directory structure, config files in configs/, git commit history with experiment tags.What "reported" means:
An experiment is reported if:
An experiment is NOT reported if:
Output table — Completeness:
| Experiment | Run? | Reported? | Significant? | Status |
|---|---|---|---|---|
| Baseline method A | YES | YES | YES (r = 0.72) | OK |
| Baseline method B | YES | YES | YES (r = 0.79) | OK |
| Proposed method | YES | YES | YES (r = 0.86) | OK |
| Ablation: feature set X removed | YES | NO | NO (r = 0.61) | CRITICAL: unreported negative result |
| Ablation: feature set Y removed | YES | YES | NO (r = 0.58) | OK (reported in Supp Table 2) |
| Sensitivity: alternate preprocessing | YES | NO | NO (p = 0.18) | CRITICAL: unreported null result |
| Sensitivity: alternate subgroup | YES | NO | YES (r = 0.84) | WARNING: unreported significant variant |Non-significant does not mean unreportable. A non-significant ablation result is direct evidence for the contribution of the ablated component. Omitting it makes the paper's contribution claim unverifiable.
Run these steps in order. Do not skip steps because a previous audit was performed. Manuscripts change.
traceability-auditor computational subagent (NEW in v1.10.0)Before manual inspection, dispatch the subagent at skills/claims-audit/traceability-auditor-prompt.md via the Task tool.
Fill placeholders:
{MANUSCRIPT_PATH} → path to the manuscript source (paper/main.tex, manuscript.md, or equivalent){RESULTS_DIR} → path to the results directory (typically results/){TOLERANCE} → 0.01 for floats, 0 for integers (adjust if project uses unusual precision)The subagent extracts every numeric claim via regex, scans the results directory, and returns a machine-readable table of matches/approximate/untraceable. This eliminates the mechanical cross-referencing labor — the main agent then applies judgment to the exceptions (Must-fix untraceable values, Should-fix approximate matches).
Iron Law preserved: the subagent automates extraction, not judgment. The main agent must still investigate every untraceable value: is the number a typo, a source-file gap, or a stale carry-over from an earlier manuscript version?
If the subagent returns Status: Approved (Must-fix count = 0), proceed to Steps 1-7 with the verified list. If it returns Status: Issues Found, resolve the Must-fix items first, then proceed.
The traceability-auditor has produced a table of claims. Cross-check: did it miss any manuscript numbers? Domain-specific formats (e.g., chemical structure values, engineering units) may not match the default regex set. Add any missed claims to the table manually.
For claims the subagent marked as untraceable, find the source file manually. Check: notebooks/ output cells, logs/, inline in scripts (not acceptable — this is a flag). Record the source file path and the exact location within the file.
For claims the subagent marked as approximate, investigate: rounding or actual discrepancy? Any discrepancy beyond documented rounding is CRITICAL.
List every figure in the manuscript. For each, determine the generating script.
Apply the runnable check. Check for manual edits. Record findings.
Retrieve the experiment log and scan the results directory. List every experiment.
Compare the run experiments list against reported results. Flag unreported experiments.
Compile the three output tables and the checklists. Write the audit report. Save it.
After completing all three components, confirm:
Number Traceability
Figure Integrity
Completeness
| Rationalization | Reality |
|---|---|
| "The number is approximately right — rounding" | Rounding must be correct. Round 0.0512 to 0.05? No. Report 0.051. |
| "The figure looks the same after editing" | If the generating script doesn't produce it, reviewers cannot reproduce it. |
| "That ablation result didn't work, no need to report it" | A failed ablation is evidence that the ablated component matters. Report it. |
| "Reviewers won't check every number" | You are the reviewer right now. The Iron Law exists because numbers drift. |
| "The result was exploratory, not hypothesis-driven" | Exploratory results still go in the paper. Label them exploratory. |
| "The negative result is in a draft somewhere" | A draft is not the manuscript. If it's not in the submitted document, it is not reported. |
| "That experiment was superseded" | Document the supersession. State what the superseded experiment found. |
| "We'll add the source files before final submission" | Source files must exist before audit. Audit now, not at submission. |
Stop the audit and flag immediately if:
old/, backup/, pre_fix/ that contain different values than the current results — the manuscript may reference stale numbersfigures/ does not exist (figure embedded from memory or another project)Save the completed audit report to:
docs/eureka/audits/YYYY-MM-DD-claims-audit.mdWhere YYYY-MM-DD is today's date.
# Claims Audit Report
**Date:** YYYY-MM-DD
**Manuscript version:** [git commit hash or version label]
**Auditor:** [name or session ID]
**Overall status:** PASS / FAIL (FAIL if any CRITICAL items remain unresolved)
---
## Component A: Number Traceability
| Claim | Manuscript Location | Source File | Source Line | Match? | Status |
|---|---|---|---|---|---|
| [fill in] | | | | | |
**Traceability summary:**
- Total claims audited: N
- OK: N
- CRITICAL: N
- Unresolved CRITICAL items: [list]
---
## Component B: Figure Integrity
| Figure | Script | Exists? | Runnable? | Manual Edit? | Status |
|---|---|---|---|---|---|
| [fill in] | | | | | |
**Figure integrity summary:**
- Total figures audited: N
- OK: N
- CRITICAL: N
- Unresolved CRITICAL items: [list]
---
## Component C: Completeness
| Experiment | Run? | Reported? | Significant? | Status |
|---|---|---|---|---|
| [fill in] | | | | | |
**Completeness summary:**
- Total experiments run: N
- Fully reported: N
- Unreported (CRITICAL): N
- Unreported (WARNING): N
- Unresolved CRITICAL items: [list]
---
## Verification Checklist
### Number Traceability
- [ ] Every quantitative claim in Abstract has a source file
- [ ] Every quantitative claim in Results has a source file
- [ ] Every quantitative claim in Methods has a source file
- [ ] Every quantitative claim in Discussion has a source file
- [ ] No CRITICAL mismatches exist
- [ ] All source files are in version control
### Figure Integrity
- [ ] Every figure has a named generating script
- [ ] Every generating script exists and is runnable
- [ ] No figure has been manually post-processed
- [ ] All generating scripts are in version control
### Completeness
- [ ] Experiment log is current
- [ ] Every run experiment is accounted for
- [ ] No non-significant result is silently omitted
- [ ] Supplementary material checked
---
## Red Flags Encountered
[List any red flags found, or "None."]
---
## Required Actions Before Submission
[List all CRITICAL items and the action required to resolve each, or "None — audit passed."]Called by: verification-before-publication — claims-audit is a required component of the pre-submission verification workflow. verification-before-publication will not return PASS if claims-audit has unresolved CRITICAL items.
Feeds into: submission-readiness — the audit report is cited as evidence in the submission readiness check.
Workflow position:
manuscript draft → claims-audit → [resolve CRITICALs] → verification-before-publication → submission-readinessIf claims-audit finds CRITICAL items, do not proceed to verification-before-publication. Resolve the CRITICALs first, then re-run the audit.
RIGID — Follow exactly. Every step is mandatory. Do not skip Component C because "we know we reported everything." Do not skip the source-file lookup for numbers you believe are correct.
The Iron Law exists because numbers drift between analysis and manuscript, figures get touched up, and convenient omissions happen gradually and with good intentions. The audit is not a sign of distrust — it is the verification step that makes the paper's claims defensible.
An audit that finds zero issues on first run should be treated with suspicion. Re-read the manuscript more carefully.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.