CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/chartjs-snapshot-tests

Snapshot-test Chart.js charts - render via headless Chromium / jsdom + canvas mock, capture canvas pixels via `canvas.toDataURL()` + image-diff, disable animations (`options.animation = false`) for stable snapshots, test tooltip + legend interactions. Use when a project renders Chart.js charts and needs regression coverage of their rendered output.

79

Quality

99%

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

100%

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

A well-structured, concise skill with executable code, a clearly sequenced workflow, and appropriate one-level-deep progressive disclosure. The only minor weakness is an undefined `waitForChartReady` helper referenced in Step 3.

DimensionReasoningScore

Conciseness

The body opens with 'Chart.js renders to `<canvas>`, testable via `canvas.toDataURL()` snapshot diff' and assumes Claude's competence throughout, with only earned explanatory lines like why `animation: false` and `maxDiffPixels` matter.

3 / 3

Actionability

Steps 1, 2, and 4 provide complete, copy-paste-ready executable code (Chart config, Playwright `toHaveScreenshot` test, DPR pinning) and the anti-patterns table gives concrete fixes; the only gap is the undefined `waitForChartReady` helper in Step 3, which is inferable from Step 2's inline wait.

3 / 3

Workflow Clarity

A clear Step 1–4 sequence is given with a render-complete validation checkpoint in Step 2 (`waitForFunction` checking `toDataURL().length > 1000`) and an anti-patterns table acting as a checklist for error avoidance.

3 / 3

Progressive Disclosure

The core Playwright workflow is inline while alternatives are split into a clearly signaled, one-level-deep reference at `references/alternative-approaches.md` (verified to exist), with the reference file containing direct content rather than nesting further.

3 / 3

Total

12

/

12

Passed

Description

100%

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 specific, third-person description with concrete actions, an explicit 'Use when' trigger, natural keywords, and a clearly delineated niche. It satisfies every dimension at the top anchor.

DimensionReasoningScore

Specificity

It lists multiple concrete actions — 'render via headless Chromium / jsdom + canvas mock, capture canvas pixels via `canvas.toDataURL()` + image-diff, disable animations (`options.animation = false`), test tooltip + legend interactions' — matching the multiple-specific-actions anchor rather than the partial domain-only anchor below.

3 / 3

Completeness

It states both what it does (the concrete actions above) and when to use it via the explicit 'Use when a project renders Chart.js charts and needs regression coverage of their rendered output' clause, so it is not capped at 2 for a missing trigger.

3 / 3

Trigger Term Quality

Natural terms a user would say are well covered — 'Chart.js charts', 'snapshot-test', 'regression coverage', 'rendered output' — alongside metadata keywords like 'chartjs', 'chart-regression', and 'playwright'.

3 / 3

Distinctiveness Conflict Risk

It occupies a clear Chart.js-canvas niche and is explicitly bounded against sibling skills (d3-snapshot-tests for SVG, vega-spec-validator for declarative specs), making false triggering unlikely.

3 / 3

Total

12

/

12

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