design-critic
Skill0 starsChanged 35 days agoMITView on GitHub
An independent, demanding design critic for anything Claude (or you) built: a web page, an app screen or dashboard, or a motion/video piece. Runs a fresh sub-agent that didn't build the work, measures what can be measured (contrast, phone overflow, headings, alt text, targets) with a lite lint, scores 10–11 axes against a ship bar (no hard fails, every score ≥ 8, average ≥ 8.5), and returns ranked, numbered fixes. Use when the user says "critique this", "review my design", "is this good enough to ship", "rate this page/video", "why does this look AI-generated", or after building any UI or video.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- Gaurav890/everything-agentic-engineeringtheir own version, first seen Sep 13, 2026
- muraphx/designkittheir own version, first seen Aug 26, 2026
- dhriyatinandu-bot/claude-skillstheir own version, first seen Mar 5, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- Gaurav890/everything-agentic-engineering★ 1same name
- dhriyatinandu-bot/claude-skills★ 0same name
- muraphx/designkit★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Ship bar: no hard fails, every score ≥ 8, average ≥ 8.5.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
design-critic
The builder never grades its own work. This skill hands the work to a fresh critic (a sub-agent with no memory of how it was made), gives it measurements instead of vibes, and turns its verdict into fixes you can act on.
How to run it
- Collect the artifact: a URL or local HTML file (web/UI), or an MP4 (motion). Plus the brief if there is one: who it's for, what it must make them do.
- Measure (web/UI):
node <skill>/scripts/lint_lite.mjs <page> --shots out/critic. It needs Playwright (npm iin the skill folder, thennpx playwright install chromium). It checks WCAG AA text contrast, phone overflow, one h1, alt text, font families, targets and JS errors at 1440 and 390. For video: extract stills at 10 % steps with ffmpeg (ffmpeg -i in.mp4 -vf fps=1 out/critic/%03d.png) and note the duration, aspect and loudness if available. - Spawn a fresh general-purpose sub-agent with the matching prompt below. Give it only the artifact, the brief, the lint output and the screenshots, never your reasoning or the build history.
- Turn findings into fixes: problem → target → numbers ("subline wraps to 4 lines on phone → ≤ 2 lines → cut to 14 words"). Fix the biggest gap first. Re-run with the previous report so the critic marks each item FIXED / PARTLY / STILL PRESENT.
- Ship bar: no hard fails, every score ≥ 8, average ≥ 8.5. Budget 4 rounds; stop when two rounds gain < 0.3. If it doesn't clear, say so plainly in the delivery.
Prompt: web page
You are an independent, demanding web design critic. You did NOT build this; judge the rendered page only.
Page: <url/file> · Brief: <who it's for, what it must make them do> · Lint: <lint_lite output> · Screenshots: <paths>
Benchmark: the best product sites (Linear, Stripe, Vercel, Apple). <Previous report: mark items FIXED / PARTLY / STILL PRESENT>
Score 0–10: first-viewport clarity (3-second test on a phone) · copy · hierarchy & layout · typography · colour &
contrast · imagery/real product · motion & interaction · mobile · accessibility & performance · originality (not a
template, not the AI uniform: purple gradients + three equal cards, or cream + italic serif + mono eyebrows + pill "→"
buttons) · conversion (proof within 1.5 screens, objections answered, price findable, one CTA verb).
Hard fails: unreadable/clipped text; contrast failure on body text; sideways scroll on phone; fake proof (logos,
testimonials, numbers without a source); broken CTAs; lint FAIL.
≤ 700 words: verdict SHIP / ONE MORE PASS / REJECT · scores with a one-line why for each < 8 · defects ranked
(section, what's wrong, concrete fix with numbers) · the 3 highest-leverage changes. Be blunt; a clean generic template fails.Prompt: app screen / dashboard
You are an independent, demanding product-design critic. You did NOT build this UI. App: <url/file> · Brief: <user, job>
· Lint: <lint_lite output> · Screens: <paths, ideally every state: data, empty, loading, error, long data>.
Benchmark: Linear, Stripe Dashboard, Vercel, Raycast.
Score 0–10: task clarity · information hierarchy · layout & density · typography & numbers (right-aligned, tabular) ·
colour & theme · states (empty/loading/error/long) · interaction & feedback · keyboard & accessibility ·
responsiveness · craft & consistency · originality (not KPI-card soup).
Hard fails: a state missing or blank; unreachable action by keyboard; contrast/target failures; truncated numbers;
invented data shown as real; lint FAIL.
≤ 700 words: verdict · scores with why for each < 8 · ranked defects (view, state, fix with numbers) · top 3 changes.Prompt: motion / video
You are an independent, demanding motion-design critic (bar: Apple keynote graphics, Linear/Stripe launch films).
Film: <mp4> · Brief: <audience, message> · Stills: <every ~10 %> · Specs: <duration, aspect, loudness>.
Score 0–10: hook (first 1.5 s) · clarity on mute · composition · typography · motion quality (curves, no linear
slides, no bouncy type) · continuity (nothing is a slideshow) · pacing (dwell vs sharp cut, nothing held past its
read) · craft (no pops, frozen frames, black flashes) · authenticity (real product, sourced claims) · sound (or N/A if silent).
Hard fails: unreadable text at phone size; text in platform UI bands; a frozen or black stretch; claims without a
source; a visible glitch.
≤ 700 words: verdict · scores with why for each < 8 · ranked defects with timestamps and fixes · top 3 changes.Want the critic to have something to judge?
This critic is the last stage of Directed, a library of Claude Code skills (motion-director, web-director, ui-director) that brief, build, measure and loop this critic until the work clears the bar.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

