CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/pdf-snapshot-tester

Test PDF outputs by converting per-page to images (`pdftocairo` / pdf2image / Poppler) and running pixel-diff (pixelmatch / Resemble.js / Pillow `ImageChops`) against approved baselines. Per-page-range targeting, threshold tuning, font-substitution warnings, byte-stable PDF metadata stripping (CreationDate, /ID); references/ carry cross-engine HTML→PDF regression (Chromium `page.pdf()` / WeasyPrint / wkhtmltopdf per-engine baselines, engine-agreement tests, font-embedding checks, engine-version pinning). Use when a product generates invoices, contracts, or regulatory filings whose layout must not shift, when a PDF template, font pack, or generation library is about to change, or when swapping / upgrading the PDF engine.

69

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-organized, actionable body with real reference files and a clear stepped workflow. Main improvements are resolving the undefined helper reference and tightening minor explanatory padding.

Suggestions

Define or rename `pixel_diff_img` in Step 6 so the update-baseline workflow is copy-paste consistent with the `pixel_diff` function from Step 3.

Add an explicit checkpoint in the UPDATE_PDF_BASELINES workflow (e.g. 'review the diff report before committing refreshed baselines') to gate the destructive overwrite.

Trim incidental explanation (e.g. 'PDFs are binary documents…', 'the workhorses for PDF → image') to lean the opening and tool notes.

DimensionReasoningScore

Conciseness

Mostly efficient with executable code and brief purposeful prose, but includes minor padding such as explaining that PDFs are binary documents and calling Poppler tools 'the workhorses'.

4 / 5

Actionability

Mostly executable, copy-paste-ready code and CLI commands across install/render/diff/test/update, but Step 6 references an undefined `pixel_diff_img` helper whose signature differs from the defined `pixel_diff`.

4 / 5

Workflow Clarity

Clear sequenced Steps 1–6 with threshold assertions and a font-substitution validation checkpoint, plus a feedback loop in the worked example; minor gap is the destructive baseline-update step lacking an explicit review-before-overwrite checkpoint.

4 / 5

Progressive Disclosure

Well-structured overview with clearly signaled one-level-deep references (deterministic-rendering.md, cross-engine-regression.md) that exist as real files, keeping bulk detail out of SKILL.md.

5 / 5

Total

17

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, specific description with explicit 'Use when' triggers and comprehensive concrete actions. Slight room to add common synonyms ('PDFs', '.pdf') to broaden natural-term coverage.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — converting per-page to images, pixel-diff against baselines, per-page-range targeting, threshold tuning, font-substitution warnings, metadata stripping, and cross-engine regression — giving comprehensive coverage.

5 / 5

Completeness

Explicitly answers both 'what' (test PDF outputs via per-page image conversion and pixel-diff) and 'when' with a concrete 'Use when...' clause naming several trigger scenarios.

5 / 5

Trigger Term Quality

Good natural triggers ('invoices, contracts, or regulatory filings', 'PDF template, font pack, or generation library', 'swapping / upgrading the PDF engine') but misses common synonyms like 'PDFs', '.pdf', and 'visual regression' in the description text.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (PDF visual/snapshot regression testing) with distinct triggers around invoice/contract/regulatory layout stability and engine swaps, minimizing overlap with other skills.

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents