tools/ux/legibility_review
newux / dxv0.1.0pro · $0.002/call

fizzgig__legibility_review

WCAG contrast + font-size + line-height. resolves your design tokens, composites translucent backgrounds, computes the real ratio.

The visual-readability companion to a11y-audit — a11y-audit checks structure (alts, labels, landmarks); legibility-review checks perception. Builds a --custom-property map from your CSS, then for every co-located colour + background pair resolves var() references, composites translucent backgrounds over the page default, and computes the real WCAG 1.4.3 contrast ratio. 5 checks: contrast-fail-aa (below 4.5:1), contrast-fail-large (clears 3:1 but not 4.5:1), font-too-small (sub-12px), tiny-size-proliferation (4+ distinct sub-14px sizes), line-height-tight (unitless < 1.4). Each finding weighs decorative-vs-informational so the AI knows what is exempt. Sticky — re-run after any palette or type-scale change.

new v0.1.0 pro
// input schema
schema · application/json
{
"type": "object"
"required": [
"project"
]
"properties": {
"project": {
"type": "string"
"description": "the project slug or path"
}
"strict": {
"type": "boolean"
"default": false
"description": "fail on warnings, not just errors"
}
}
}
// output schema
schema · application/json
{
"type": "object"
"properties": {
"ok": {
"type": "boolean"
}
"findings": {
"type": "array"
"items": {
"type": "object"
"properties": {
"severity": {
"enum": [
"info"
"warn"
"high"
"critical"
]
}
"message": {
"type": "string"
}
"fix": {
"type": "string"
}
}
}
}
}
}
// example call from cursor
~/myapp — example output
fizzgig__legibility_review(project="myapp")
{
"ok": false,
"findings": [
{ "severity": "high",
"message": "policy uses user_id without auth.uid()",
"fix": "USING (auth.uid() = user_id)" }
],
"scanned": 3, "duration_ms": 142
}
// reviews
@maya.codes★★★★★
2 days ago

caught a policy that would have leaked every user's comments. shipped a fix in 4 minutes.

@solo_at_3am★★★★★
1 week ago

first tool i installed. it's the one that pays for itself.

@vibebuilder★★★★
2 weeks ago

works great. one false positive on a join table — easy to ignore.

// primary action
add to your editor
paste this into your mcp config.
.cursor/mcp.json
{
  "fizzgig": {
    "url": "https://mcp.fizzgig.ai",
    "tools": ["legibility_review"]
  }
}
full setup guide →
// pricing
$0.002 / call
included free in pro plan.