accessibility-contrast-audit — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited accessibility-contrast-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.
Measure color contrast across a page the way WCAG does, and drop the findings into a tidy report page the whole team can read — with a click-to-jump link to every frame that needs attention.
A designer says something like:
For the current page, it looks at every top-level frame and:
color sitting behind it, then checked against the WCAG ratios:
dividers, button outlines, icon strokes — are checked against the 3:1 non-text rule (1.4.11). This is a heuristic flag for manual review, not a guarantee; decorative graphics are out of scope (see references).
run inside it meets that level. Results roll up to one PASS / FAIL / N/A badge per level, per frame.
♿ Contrast Audit — <date> and builds a clean table: a legend explaining the thresholds, then one row per frame showing the AA, AAA, and non-text badges. Each frame's name is a live hyperlink that jumps to that frame, and its node id is printed beneath it, so the address is always available without crowding the design.
and creates a separate report page. No colors are changed. If you want fixes, that's a different (recoloring) job — this skill reports, it doesn't repaint.
badges, the link) clears AA against its own background — so the audit doesn't ship an inaccessible artifact.
figma-useis the mandatory prerequisite for any use_figma call.
scripts/contrast-audit.js viause_figma. It returns a summary { framesAudited, framesFailingAA, framesFailingAAA, results, reportPageId } and opens the new report page.
runContrastAudit({ includeNonText: false, switchToReport: false }).
Use the ready-to-paste plugin in scripts/standalone-plugin/. No build step, no tokens, no placeholders — see that folder's INSTALL.md for the three-click install.
instances). Loose shapes or text sitting bare on the canvas are skipped.
contrast number isn't meaningful) and noted in the row, not silently passed.
claims — verify flagged borders/icons by eye.
references/wcag-thresholds.md — the exactratios, the large-text rule, the relative-luminance math, and why non-text contrast is treated as a heuristic.
references/methodology.md — how the effectivebackground is resolved, how per-frame verdicts roll up, and the report's structure.
examples/example-report.md — a worked exampleof a finished report page and the summary it returns.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.