Audit Generic Design
audit_generic_designAudit web projects for generic design defaults: stock Tailwind gradients, common typefaces, emoji icons, repeated card recipes. Receive factual findings with fixes and a score.
Instructions
Audits a web project or snippet for the specific defaults generated interfaces reach for: the stock Tailwind indigo/violet/purple gradient (as classes, hex, or OKLCH), Inter/Roboto/Open Sans/DM Sans/Plus Jakarta Sans as the only declared typeface on a brand surface, emoji standing in for icons, the rounded-2xl + shadow-lg + border card recipe repeated across a page, gradient-filled heading text, an eyebrow label over every heading, the backdrop-blur + white/10 glassmorphism recipe, three or more animate-pulse or animate-shimmer placeholders, stock hype-opener copy ('unlock the power of', 'say goodbye to', …), stacked filler adverbs ('seamlessly', 'effortlessly', …), and a page whose every call to action is drawn from the stock set ('Get Started', 'Learn More'). Every finding is a fact about the source text — a class name, a phrase, a repeated structure — never a judgement about whether the result is good design; it reports facts, not taste, so pair it with design_review_checklist or get_design_doc("design-critique-scoring") for actual critique. It reads source and does not measure anything: it makes no network request, renders nothing, and no finding is or can be a rendered-output or aesthetic judgement. Returns markdown plus structured output: findings (rule, severity, message, fix, doc, file, line), a severity summary, a machine-readable notVisible list of what it could not check, and a 0-100 score itemised to the same rule, weight and evidence the markdown prints — each rule counts once no matter how many times it fires, so a long page never scores higher purely for its length. In directory mode it does not read story, test or fixture files (.stories., .story., .spec., .test., fixtures/, mocks/), whose job is to demonstrate a component rather than ship a surface; it reports how many it skipped. The copy rules match English only, so a page in another language is scored by the visual rules alone. A missing or non-directory path is returned as an error result, not as an empty audit. Pair with audit_project for design drift and design_review_checklist for critique.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | A single snippet to audit instead of a directory. | |
| path | No | Directory to audit. Absolute paths are strongly preferred. | |
| filename | No | Filename for the snippet, e.g. 'page.html' or 'Page.tsx'. Some rules — the typeface check in particular — use it to tell a landing page from a dashboard. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scan | No | Present only in directory mode: what the scan actually reached. The markdown's "Stopped at the file cap" sentence has no other counterpart in structuredContent — `findings`, `summary` and `score` all look identical for a clean project and a truncated one that never opened its worst file — so a caller reading only structuredContent must check this before trusting a clean score or an absent finding. | |
| score | Yes | The generic-design score, itemised. Not a quality judgement — it counts documented defaults that were left unchanged. | |
| summary | Yes | Counts by severity. Always agrees with `findings` — it is derived from the same list. | |
| findings | Yes | Every finding, in the order the markdown report lists them. | |
| notVisible | Yes | What this audit structurally could not check, one limitation per entry. Read it as a peer of `findings`: silence on a subject named here is this tool's reach, not a clean result. Nothing any of these tools reports is measured. |