Install any skill in seconds. Free to start, no credit card required.
Get Started Free →High-agency frontend design system for distinctive premium UI with anti-slop layout, motion, typography, and engineering rules.
.claude/skills/cowork-os-taste-skill/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 160% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 138% | 0% |
Use this skill when you need a strong frontend point of view, not a safe default.
The goal is not "pretty enough." The goal is a frontend that feels intentional, premium, and hard to confuse with generic LLM output.
DESIGN_VARIANCE: 81 = symmetric and quiet, 10 = asymmetric and experimental
MOTION_INTENSITY: 61 = nearly static, 10 = cinematic and highly reactive
VISUAL_DENSITY: 41 = airy gallery, 10 = dense cockpit
Treat these as working dials, not fixed constants.
Before coding, establish three things:
One sentence for mood, material, and energy.
What makes the page memorable: asymmetry, crop, white space, stacked motion, split hero, bento rhythm, etc.
Two or three motions that materially change the feel of the interface.
Then implement real code. Do not stop at design commentary.
Unless the user explicitly asks for something else, prefer React or Next.js.
Before importing any third-party package:
package.jsonframer-motion, lucide-react, zustand, or any font package is already installed@phosphor-icons/react or @radix-ui/react-icons when the project supports them.h-screen heroes on mobile-sensitive layouts. Use min-h-[100dvh].LLMs drift toward familiar, overused UI patterns. Correct for that proactively.
If DESIGN_VARIANCE > 4:
Every serious surface needs full interaction coverage:
For forms:
Motion should create presence and hierarchy, not noise.
If MOTION_INTENSITY <= 3:
If MOTION_INTENSITY > 5:
If you build cursor-reactive magnetic behavior:
useState for per-frame cursor updatesWhen the design calls for glass or translucent layers:
backdrop-blurUse atmosphere intentionally:
But:
Premium UI that performs badly is still bad UI.
transform and opacity, not top, left, width, or height.Reach for a small number of stronger ideas instead of many weak ones.
When using this skill, the implementation should leave the user with:
Do not:
Before finalizing, check the result against this list:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 31,606 | 30,751 | -3% | 1 | 1 | 0% | 6,213 | 8,075 | +30% | 0 | 0 | — |
case-02 | fail→fail | 31,249 | 30,197 | -3% | 1 | 1 | 0% | 6,216 | 8,078 | +30% | 0 | 0 | — |
case-08 | pass→pass | 21,060 | 30,397 | +44% | 1 | 1 | 0% | 3,901 | 8,042 | +106% | 0 | 0 | — |
case-03 | fail→fail | 30,302 | 31,526 | +4% | 1 | 1 | 0% | 6,202 | 8,064 | +30% | 0 | 0 | — |
case-04 | pass→pass | 21,296 | 32,407 | +52% | 1 | 1 | 0% | 4,105 | 8,049 | +96% | 0 | 0 | — |
case-05 | pass→pass | 18,533 | 29,552 | +59% | 1 | 1 | 0% | 3,739 | 8,038 | +115% | 0 | 0 | — |
case-06 | fail→pass | 28,200 | 29,318 | +4% | 1 | 1 | 0% | 6,186 | 8,048 | +30% | 0 | 0 | — |
case-07 | pass→pass | 15,141 | 28,782 | +90% | 1 | 1 | 0% | 3,115 | 7,791 | +150% | 0 | 0 | — |
case-09 | fail→pass | 22,026 | 27,240 | +24% | 1 | 1 | 0% | 4,512 | 7,673 | +70% | 0 | 0 | — |
case-10 | pass→pass | 14,932 | 18,805 | +26% | 1 | 1 | 0% | 3,025 | 5,632 | +86% | 0 | 0 | — |
case-11 | pass→pass | 12,694 | 17,390 | +37% | 1 | 1 | 0% | 2,304 | 4,834 | +110% | 0 | 0 | — |
case-12 | fail→fail | 21,767 | 24,993 | +15% | 1 | 1 | 0% | 3,947 | 6,485 | +64% | 0 | 0 | — |
case-13 | pass→pass | 15,401 | 17,537 | +14% | 1 | 1 | 0% | 2,834 | 5,099 | +80% | 0 | 0 | — |
case-14 | fail→pass | 32,101 | 30,984 | -3% | 1 | 1 | 0% | 6,187 | 8,049 | +30% | 0 | 0 | — |
case-15 | fail→pass | 17,510 | 30,731 | +76% | 1 | 1 | 0% | 3,090 | 8,037 | +160% | 0 | 0 | — |
case-16 | pass→pass | 17,806 | 29,592 | +66% | 1 | 1 | 0% | 3,158 | 7,317 | +132% | 0 | 0 | — |
case-17 | fail→pass | 14,247 | 23,545 | +65% | 1 | 1 | 0% | 2,767 | 6,578 | +138% | 0 | 0 | — |
case-18 | pass→pass | 32,674 | 31,550 | -3% | 1 | 1 | 0% | 6,174 | 8,036 | +30% | 0 | 0 | — |
case-19 | pass→pass | 30,746 | 30,671 | -0% | 1 | 1 | 0% | 6,167 | 8,029 | +30% | 0 | 0 | — |
case-20 | pass→pass | 10,413 | 12,085 | +16% | 1 | 1 | 0% | 1,653 | 3,768 | +128% | 0 | 0 | — |
case-21 | pass→pass | 11,775 | 23,512 | +100% | 1 | 1 | 0% | 2,336 | 6,407 | +174% | 0 | 0 | — |
case-22 | pass→pass | 8,728 | 23,964 | +175% | 1 | 1 | 0% | 1,639 | 6,852 | +318% | 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. The headline lift of +23 percentage points is the difference between those two pass rates over the 22 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.