Use when building or reviewing frontend UI — dashboards, admin panels, landing pages, marketing sites, web apps. Drives domain-specific design decisions (typography, color world, layout, CSS token naming, depth and spacing systems) instead of generic AI defaults; routes to app.md (product/data UIs) or marketing.md (public/creative pages) by context.
88
84%
Does it follow best practices?
Impact
92%
1.21xAverage score across 3 eval scenarios
Passed
No known issues
Build frontend interfaces with craft and intention.
After this file, load the context-specific guide:
app.md — dashboards, admin and settings panels, internal tools, SaaS products, data-heavy interfaces (tables, forms, lists), anything users work in repeatedly.marketing.md — landing pages, marketing sites, announcements, creative artifacts, anything where first impression matters most.If unclear, ask. Blended projects need both: a SaaS marketing site uses marketing.md; its product dashboard uses app.md.
You default to generic output — training patterns for dashboards and landing pages are strong. The process below helps, but process alone isn't craft: you have to catch yourself.
Defaults disguise themselves as infrastructure — the parts that feel like they just need to work, not be designed. There are no structural decisions. Everything is design.
/* ❌ generic — could be any project */
--gray-700: …; --surface-2: …;
/* ✅ domain — evokes this product's world */
--ink: …; --parchment: …;Do not write code until these are done.
Answer with specifics or ask the user — do not guess, do not default:
Reference your domain concepts, colors, signature, and what replaces each rejected default.
Domain: [5+ concepts from the product's world]
Color world: [5+ colors that exist in this domain]
Signature: [one element unique to this product]
Rejecting: [default] → [alternative] ×3
Direction: [approach connecting the above]
Does that direction feel right?Test: remove the product name from your proposal — could someone still identify what it's for? If not, explore deeper. Wait for confirmation before generating code.
Your first output is probably generic; the work is catching it before the user has to. Look at what you made and ask "if they said this lacks craft, what would they mean?" — fix that first. Run these; iterate if any fails:
The quality floor, regardless of direction:
Always wrong, regardless of context:
box-shadow: 0 25px 50px … looks cheapBe invisible. Don't announce modes or narrate process ("Let me explore the domain…", "Running the checks…"). Jump into the work; state suggestions with reasoning.
references/principles.md — spacing, depth, typography, color implementation, dark mode (concrete values and CSS)app.md — dashboards, admin panels, SaaS productsmarketing.md — landing pages, marketing sites, creative artifactsd20109a
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.