Figure visual consistency audit
Skill Nicowyn/paper-audit-skills/.agents/skills/figure-visual-consistency-audit
Audit quantitative plots and scientific figures by tracing source artifacts, calibrating linear or logarithmic axes, recovering supervised point coordinates with measurement bounds, checking displayed slope, monotonicity, or straightness claims, and comparing figures with captions, tables, plot data, code, and regenerated outputs. Use for scatterplots, line charts, binned plots, event-study figures, coefficient plots, or other paper figures when visual geometry carries evidence that PDF text extraction cannot preserve.From its SKILL.md
npx -y skills add Nicowyn/paper-audit-skills --skill figure-visual-consistency-auditAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 23 days oldThe repository was created 23 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.9 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
Figure Visual Consistency Audit
Treat a plot as a source artifact with geometry, not as transcribed prose. Preserve the distinction between visible glyphs, plotted data, analysis data, and the underlying observations.
Required workflow
- Record the parent PDF or image path and SHA-256, page, figure and panel label, crop transform, rotation, dimensions, and render provenance. Never overwrite the supplied artifact. The case
artifact_pathmust name an immutable PNG or SVG crop/export whose coordinate space is exactly0..width_pxby0..height_px; do not point it at an uncropped parent PDF while supplying crop-relative coordinates. A parent-derived case cannot receive a substantive verdict unless the checker verifies the parent artifact and crop boundary; PDF parent page geometry is currently retained but deterministically indeterminate. A native synthetic or original vector source must use the schema's explicit native-source record instead of inventing a parent. - State the exact claim before digitizing: displayed slope direction, monotonicity, approximate straightness on a declared scale, a reported plotted value, or agreement with supplied plot data.
- Use the strongest available route:
- Regenerate the named figure from reviewed code and data with
$reproducibility-audit. - Recover vector paths and text coordinates from a born-digital PDF.
- Use supervised raster digitization when vector geometry is unavailable.
- Use chart-to-table models only to propose candidates for human verification.
- Regenerate the named figure from reviewed code and data with
- Read references/coordinate-recovery.md. Calibrate each axis with two separated endpoint ticks and at least one independent validation tick. Declare linear, log10, or natural-log scale and normal or reversed direction.
- Record every selected point with stable series and point IDs, pixel center, pixel uncertainty, and
clear,ambiguous, oroverplottedvisibility. Actual PNG media requirerender_dpi, complete render provenance, and non-zero uncertainty for every axis and point click, regardless of whetherextraction_methodsaysmanual_digitizationorraster_supervised. - Create a schema 1.1 case conforming to
schemas/figure-check-case.schema.json. Start withreview.status: unverified,review.method: not_reviewed, and any syntactically valid 64-character placeholder hash, then run:
python .agents/skills/figure-visual-consistency-audit/scripts/check_figure.py \
figure-case.json --overlay figure-overlay.svg
Use a new overlay path. The command refuses to overwrite an existing file.
- Copy
details.review.computed_coordinate_manifest_sha256from the result, inspect the transparent overlay against the source, and verify every glyph, series assignment, and uncertainty box. A passing artifact hash and calibration do not show that the auditor selected the correct glyphs or series. - Replace the review block with
status: verified,method: source_and_overlay, the computed manifest hash, a reviewer identifier, and an RFC 3339 timestamp; rerun the checker. The manifest binds the complete claim (including target series, analysis scale, sampling unit, and thresholds), artifact/provenance record, axes, and every selected point. Any later claim or coordinate change invalidates the attestation and forcesindeterminate. This is an attributable review declaration, not a digital signature. - Read references/trend-and-linearity.md. Route functional-form, uncertainty, dependence, weighting, and influence questions to
$statistical-model-auditrather than treating visible geometry as a model test. - Compare figure labels, units, sample, transformations, and visible values with the caption, text, tables, supplement, plot data, and generating code. Use
$table-data-consistency-auditfor the support chain. - Read references/evidence-boundaries.md, classify the combined record with
$research-integrity-audit, and retain the case JSON, CLI output, overlay, source hash, tool versions, and manual decisions.
Deterministic result meanings
consistent: the media type, canvas, artifact hash, provenance, and reviewed coordinate manifest are verified, and unambiguous visible geometry supports the narrowly declared display claim under the supplied coordinate envelope and thresholds.inconsistent: the same verified chain contradicts that display claim or materially exceeds the declared linearity threshold.indeterminate: missing artifact or coordinate-review verification, insufficient distinct x positions, conservative measurement bounds, single-glyph influence, visibility, overplotting, or sampling-unit uncertainty prevents a verdict.- Exit
0includesconsistentandindeterminate; exit1meansinconsistent; exit2means the audit input or artifact chain is invalid.
The coordinate envelope represents digitization and calibration uncertainty. It is not a confidence interval, standard error, or model-based sampling uncertainty.
Output
Return:
- source identity and inspected scope;
- axis anchors, independent tick validation, scale, direction, and calibration output;
- recovered pixel and data-coordinate intervals by series and point;
- nominal OLS, Pearson, Spearman, Theil-Sen, per-point leave-one-out slopes with conservative coordinate/anchor intervals and driving-point IDs, quadratic, monotonicity, and coordinate-envelope linearity diagnostics actually computed;
- overlay path and manual review status;
- caption, table, data, code, and regenerated-figure comparisons;
- limitations, supported statement, evidence class, and evidence needed to resolve uncertainty.
Stop conditions
- Do not infer raw data from visible glyph count when points may overlap, be jittered, binned, sampled, weighted, or transparent.
- Do not call a relationship linear merely because a line looks straight; distinguish raw and axis-transformed scales.
- Do not infer causation from a figure or fitted line.
- Do not treat OCR, automated point detection, image similarity, or a chart-to-table model as an independent misconduct finding.
- Do not classify a plot-only discrepancy above
unresolved_anomaly. Averified_reporting_errorrequires a deterministic contradiction with identified plot data, code, or a regenerated artifact on the same sample and transformation. - Do not infer author intent.
What ships with it: 13 files
247.3 KB alongside SKILL.md, 9 of them executable
agents/
- openai.yaml250 B
references/
- coordinate-recovery.md5.1 KB
- evidence-boundaries.md2.5 KB
- trend-and-linearity.md4.4 KB
scripts/
- check_figure.pyruns359 B
- _vendor/paper_audit/checks.pyruns28.9 KB
- _vendor/paper_audit/cli.pyruns6.9 KB
- _vendor/paper_audit/figures.pyruns93.4 KB
- _vendor/paper_audit/__init__.pyruns578 B
- _vendor/paper_audit/__main__.pyruns48 B
- _vendor/paper_audit/report.pyruns28.0 KB
- _vendor/paper_audit/rounding.pyruns20.2 KB
- _vendor/paper_audit/table_records.pyruns56.6 KB