Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Design lens critique covering visual hierarchy, clarity, and anti-slop patterns — produces a findings table, no code edits unless asked. Use when the user wants a design review, says "what's wrong with this UI", or needs a second opinion before a handoff or presentation. Invoke when the user asks for critique on their UI, or mentions 'critique' alongside design / UI / frontend work.
.claude/skills/educlopez-critique/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 95% | 41 |
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | 99% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 110% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -4% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 119% | 0% |
<!-- HARNESS MIRROR — do not edit here. Canonical source: skills/ or commands/. After editing source, copy into cli/assets/<harness>/ and repo-root harness mirrors. -->
Context: this sub-skill is one lens of the broader ui-craft skill. If the ui-craft skill is also installed, read its SKILL.md first for Discovery + Anti-Slop + Craft Test, then apply the specific lens below.
Critique the UI at $ARGUMENTS through a design lens. Load the ui-craft skill.
Code-only review is insufficient. Every audit/critique starts with the surface as the user sees it. Try the following in order; use the first one available:
playwright MCP server is available, use it. Capture full-page screenshots at three viewports: desktop (1280×800), tablet (768×1024), mobile (375×812). Capture dark mode if the app supports it.agent-browser, cursor-ide-browser) — third choice.Do not begin the review until visuals are captured or provided. State this explicitly to the user when no automation succeeds — don't silently fall back to code-only review.
If the user declines to provide screenshots, run a code-only pass and clearly mark the report [CODE-ONLY REVIEW — visual issues not assessed] at the top so the limitation is explicit.
Knob awareness (CRAFT_LEVEL sets the bar for what counts as "needs work"):
CRAFT_LEVEL 3 → flag only anti-slop Critical items. Skip Minor polish.CRAFT_LEVEL 5-7 → flag Critical + Major. Mention Minor polish as optional.CRAFT_LEVEL 9+ → flag everything, including Minor polish and missing signature detail.Run these lenses in order:
tabular-nums, generic CTAs).references/inspiration.md: which observed pattern from the archetypes / signature details applies here, and how does the current state diverge from it?Output format — the Review Format table:
| Before | After | Why | | --- | --- | --- |
Prioritize by impact, not by file order. End with a one-paragraph summary of the top 3 changes that would raise this from "AI-generated" to "designed".
Do NOT edit code. This is a critique.
Close with a Craft Report (references/review.md → Craft Report) as the final wrapper around the findings table and top-3 summary — Checked names the lenses actually run (Anti-Slop, Craft Test, Hierarchy, Clarity, Signature, Inspiration gap) and at what CRAFT_LEVEL bar, Passed carries whatever held up under those lenses, Changed stays empty (critique doesn't edit), Left alone covers anything flagged but out of scope, Verdict is the one-sentence state. Produce it even when the surface passes clean — that's the validation the user is asking for.
Next step: /polish — apply the fixes this critique named (rung 1).
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-13 | fail→pass | 13,453 | 19,781 | +47% | 1 | 1 | 0% | 2,270 | 4,524 | +99% | 0 | 0 | — |
case-12 | pass→pass | 9,636 | 18,593 | +93% | 1 | 1 | 0% | 1,594 | 4,349 | +173% | 0 | 0 | — |
case-01 | fail→fail | 18,755 | 7,363 | -61% | 1 | 1 | 0% | 3,133 | 2,408 | -23% | 0 | 0 | — |
case-02 | fail→fail | 18,430 | 4,426 | -76% | 1 | 1 | 0% | 2,957 | 1,318 | -55% | 0 | 0 | — |
case-03 | fail→fail | 13,867 | 3,768 | -73% | 1 | 1 | 0% | 2,262 | 1,666 | -26% | 0 | 0 | — |
case-04 | fail→pass | 12,400 | 9,126 | -26% | 1 | 1 | 0% | 1,925 | 2,695 | +40% | 0 | 0 | — |
case-05 | pass→pass | 15,961 | 9,462 | -41% | 1 | 1 | 0% | 2,587 | 2,700 | +4% | 0 | 0 | — |
case-06 | fail→pass | 3,682 | 2,263 | -39% | 1 | 1 | 0% | 603 | 1,266 | +110% | 0 | 0 | — |
case-07 | fail→pass | 10,359 | 4,639 | -55% | 1 | 1 | 0% | 1,801 | 1,731 | -4% | 0 | 0 | — |
case-08 | fail→pass | 12,236 | 19,704 | +61% | 1 | 1 | 0% | 2,150 | 4,704 | +119% | 0 | 0 | — |
case-09 | fail→fail | 17,399 | 6,446 | -63% | 1 | 1 | 0% | 2,765 | 2,051 | -26% | 0 | 0 | — |
case-10 | fail→fail | 16,401 | 6,272 | -62% | 1 | 1 | 0% | 2,932 | 1,618 | -45% | 0 | 0 | — |
case-11 | pass→pass | 9,770 | 18,915 | +94% | 1 | 1 | 0% | 1,571 | 4,067 | +159% | 0 | 0 | — |
case-14 | fail→fail | 9,977 | 2,753 | -72% | 1 | 1 | 0% | 1,578 | 1,485 | -6% | 0 | 0 | — |
case-15 | fail→fail | 8,467 | 3,762 | -56% | 1 | 1 | 0% | 1,478 | 1,736 | +17% | 0 | 0 | — |
case-16 | fail→pass | 12,341 | 8,491 | -31% | 1 | 1 | 0% | 2,044 | 2,471 | +21% | 0 | 0 | — |
case-17 | fail→fail | 13,659 | 6,495 | -52% | 1 | 1 | 0% | 2,265 | 2,201 | -3% | 0 | 0 | — |
case-18 | fail→fail | 16,647 | 26,849 | +61% | 1 | 1 | 0% | 3,197 | 1,404 | -56% | 0 | 0 | — |
case-19 | pass→fail | 4,081 | 5,839 | +43% | 1 | 1 | 0% | 719 | 1,342 | +87% | 0 | 0 | — |
case-20 | fail→fail | 1,740 | 14,414 | +728% | 1 | 1 | 0% | 308 | 3,791 | +1131% | 0 | 0 | — |
case-21 | pass→pass | 9,795 | 14,383 | +47% | 1 | 1 | 0% | 2,012 | 4,303 | +114% | 0 | 0 | — |
case-22 | pass→pass | 10,473 | 11,790 | +13% | 1 | 1 | 0% | 2,193 | 3,609 | +65% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 18 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +23 percentage points is the difference between those two pass rates over the 18 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.