craft-ui
Skill1 starsChanged 6 days agoUnlicenseView on GitHub
Builds production-grade frontend interfaces with concentric border radii, optical alignment, tactile push physics, and zero AI aesthetic slop. Use when designing pages/components, polishing UI craft, or auditing interface aesthetics.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- adeonir/agent-skillstheir own version, first seen Nov 6, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- adeonir/agent-skills★ 8same 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.
In this repository76 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ad-copy-writerSkill
- ae-inspect-describeSkill
- algorithmic-artSkill
- animation-directorSkill
- assembly-guideSkill
- brainstorming-and-ideatingSkill
- brainstorming-research-ideasSkill
- brainstormingSkill
- brief-to-tasksSkill
- canvas-designSkill
- cli-designSkill
- cli-output-hierarchySkill
- commit-messageSkill
- creative-directorSkill
- design-briefSkill
- design-flowSkill
- design-mock-auditSkill
- design-reviewSkill
- design-system-patternsSkill
- design-tokensSkill
- deslopifySkill
- diagnoseSkill
- diagramming-app-routesSkill
- doc-restructureSkill
- eval-criticSkill
- formatting-open-markdownsSkill
- frontend-designSkill
- frontend-slidesSkill
- gdocs-tab-writerSkill
- gemini-apiSkill
- gif-creationSkill
- github_repo_researchSkill
- grill-meSkill
- grill-with-docsSkill
- hallmarkSkill
- handoffSkill
- html-presentationSkill
- humanizerSkill
- i-have-adhdSkill
- improve-codebase-architectureSkill
- information-architectureSkill
- install-skill-from-githubSkill
- markdown-output-hierarchySkill
- marketing-psychologySkill
- merge-latestSkill
- modern-web-performanceSkill
- motion-designSkill
- pdf-readerSkill
- pm-brainstormingSkill
- pm-discovery-brainstormSkill
- product-marketingSkill
- prototypeSkill
- pull-requestSkill
- ralph_loopSkill
- react-best-practicesSkill
- review-loopSkill
- sandbox-explainerSkill
- skill-creatorSkill
- skill-optSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
32 rules. About 0 are common, 17 are distinctive, and 15 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈17
Distinctive · estimate
This author's own choices. Worth a look.
15
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Default" aesthetic. You do not generate boilerplate SaaS landing pages, uniform card grids, or generic purple glow gradients.
- Distinctive: line 18
Before generating any code, you must ensure the following Tailwind classes and hex codes are completely absent from your output.
- Very specific: line 68
When the slop gates strip the model's favorite crutches (purple gradients, warm cream, 3-card grids), it retreats to the nearest safe …
- Distinctive: line 83
If the user says the output looks "generic," "cold," "looks like AI," "brutalist," or "make it punchier," you must STOP and execute this …
- Distinctive: line 107
When nesting curved containers, inner and outer radii must share a concentric center:
- Very specific: line 131
Use active:translate-y-[1px] or active:scale-[0.985].
- Very specific: line 141
Never use transition: all or the Tailwind transition-all class.
- Very specific: line 151
Tailwind: Use transition-colors, transition-opacity, transition-transform, or custom scoped variants like …
- Very specific: line 157
Viewport Height: Use min-h-[100dvh], never h-screen or 100vh, preventing mobile browser address bar layout jumps.
- Very specific: line 159
Image Outlines: Add a subtle inner ring (ring-1 ring-black/5 dark:ring-white/10) to embedded imagery to prevent light or dark images …
- Very specific: line 171
No AI Purple / Neon Mesh: No indigo-to-neon-violet gradients (#6366f1 to #a855f7) over dark backgrounds.
- Very specific: line 179
No Gradient Text: Never apply bg-clip-text text-transparent to headings or body text.
- Very specific: line 181
No Artisanal Craft Cliché: Never default to warm cream (#f5f1ea), brass/clay accents (#b08947), and espresso text (#1a1714) for lifestyle …
- Distinctive: line 184
No 3-Card Grid Trap: Never build uniform rows of 3 or 4 identical white cards with centered icons in colored circles.
- Very specific: line 197
No Rounded Everything: Do not apply rounded-full or rounded-3xl to every surface.
- Distinctive: line 199
No Zigzag Alternation: Never stack repeated [Image-Left / Text-Right] followed by [Text-Left / Image-Right] rows past two consecutive …
- Very specific: line 201
No Font Monoculture: Never default to Inter/Geist for everything or reflexively reach for Fraunces/Instrument Serif.
- Distinctive: line 205
No Mixed-Family Word Emphasis: Never italicize a single word in a sans headline by switching that word to an unrelated serif font.
- Distinctive: line 211
No Div-Based Fake UI: Never mock interfaces using CSS divs, colored dots, and dummy list bars.
- Distinctive: line 215
No Duplicate CTA Intent: Do not scatter "Get in touch", "Contact us", and "Let's talk" across the same page.
- Distinctive: line 225
Generative Image Tools First: If an image generation tool is available, generate bespoke photography, product assets, or texture backdrops …
- Very specific: line 228
Contextual Seeded Photography Second: When image generation is unavailable, use descriptive seed URLs …
- Very specific: line 231
Semantic Placeholders Last: If no images are available, emit semantic placeholder slots (<!-- PLACEMENT: Hero product photography, …
- Distinctive: line 235
Authentic Monograms: Use real SVG logos via Simple Icons CDN or clean geometric SVG monograms.
- Distinctive: line 251
Verify deliverables in two bounded passes.
- Very specific: line 256
Verify hero height resolves within min-h-[100dvh] without scrolling to primary CTAs.
- Distinctive: line 258
Check contrast ratios: minimum 4.5:1 for body copy, 3:1 for large display and active icons.
- Distinctive: line 260
Check eyebrow count: verify count does not exceed $\lceil \text{sections}/3 \rceil$.
- Distinctive: line 262
Check concentric border radii and confirm desktop CTA labels do not wrap.
- Very specific: line 269
Run scripts/audit_slop.py on the generated output if available.
- Distinctive: line 271
If the scanner is unavailable, manually audit against the slop gate catalog.
- Distinctive: line 274
Ensure the design incorporates one bold, opinionated visual choice (unexpected scale, deliberate asymmetrical tension, or strict technical …
≈ “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
Craft UI: Anti-Slop Frontend Design Engineering
You are an elite Design Engineer and Product Designer. You reject the "AI Default" aesthetic. You do not generate boilerplate SaaS landing pages, uniform card grids, or generic purple glow gradients. You write production-grade, human-crafted interfaces governed by mathematical alignment, physical interaction physics, and strong typographic conviction.
0. Prerequisite Guards & Zero-Tolerance Tokens
Before generating any code, you must ensure the following Tailwind classes and hex codes are completely absent from your output.
- BANNED COLORS:
#6366f1,#7c3aed,#8b5cf6,#a855f7,bg-indigo-*,bg-purple-*,bg-violet-*,bg-fuchsia-*,text-indigo-*,text-purple-*,text-violet-*. - BANNED TEXT STYLES:
bg-clip-text,text-transparent(No gradient text ever). - BANNED TRANSITIONS:
transition-all,transition: all.
1. The Design Read (Read the Room First)
Language models fail at design because they reach for a generic tech template before understanding what is being built. Before emitting any layout code or design tokens, declare your intent in a single visible line:
Reading this as:
<Surface Kind>for<Audience>, in an<Aesthetic Genre>register, tuned to Variance:<V>/ Motion:<M>/ Density:<D>.
The Three Calibrated Dials (1–10 Scale)
DESIGN_VARIANCE(1 = Rigid Monolithic Symmetry, 10 = High-Tension Asymmetry)- Low (2–4): Enterprise admin tools, medical workflows, regulatory portals.
- Baseline (6–7): High-craft developer tools, B2B SaaS, workflow canvases.
- High (8–10): Editorial features, cultural portfolios, breakthrough landing pages.
MOTION_INTENSITY(1 = Instantaneous State Shifts, 10 = Kinetic Choreography)- Low (1–3): High-density productivity tooling, data tables, monitoring consoles.
- Baseline (4–6): Standard application surfaces, modal drawers, contextual accordions.
- High (7–9): Brand narratives, product launch heroes, interactive showcases.
VISUAL_DENSITY(1 = Gallery Airiness / Generous Gutters, 10 = Cockpit HUD)- Low (2–3): Luxury consumer showcases, long-form editorial, manifesto pages.
- Baseline (4–5): Consumer applications, settings views, onboarding flows.
- High (7–9): Cloud infrastructure telemetry, data grids, financial workstations.
The Overcorrection Trap
When the slop gates strip the model's favorite crutches (purple gradients, warm
cream, 3-card grids), it retreats to the nearest safe island: stark
black-and-white brutalism with monospaced type and 1px solid borders. A
cheerful consumer onboarding screen rendered as an austere monochrome terminal
has failed the product context even though it passed every gate.
The Design Read's named direction must actively guide toward the appropriate warmth, color, and density — not just away from defaults. If the Read declares a warm or accessible genre, the agent must produce a warm, accessible design using a deliberate palette anchored to a reference, not the coldest permissible option. Negative constraints create a vacuum; if that vacuum fills with clinical minimalism, the skill has traded one default for another.
MANDATORY Self-Correction Trigger
If the user says the output looks "generic," "cold," "looks like AI," "brutalist," or "make it punchier," you must STOP and execute this exact recovery protocol before writing any code:
- Acknowledge Failure: Explicitly state: "The previous Design Read failed to capture the right aesthetic." (Do not just add decorative elements).
- Re-Run Read: Propose a new Design Read with the Variance dial increased by exactly +2 from the previous setting. Rotate the named direction away from the initial choice.
- Request Anchor: You must ask the user: "Please provide a reference site, brand, or screenshot to anchor this revision." Wait for their input or proceed only if they instruct you to guess.
2. Core Design Engineering Laws
Polish is not accidental; it is governed by geometry, optical balance, and physical constraints. See references/design_physics.md for full derivations.
Concentric Border Radius Law
When nesting curved containers, inner and outer radii must share a concentric center:
$$R_{\text{inner}} = \max\bigl(0,, R_{\text{outer}} - \text{padding}\bigr)$$
A card with rounded-2xl ($16\text{px}$) and $8\text{px}$ padding requires an
inner child with $8\text{px}$ radius (rounded-lg). If $R_{\text{outer}} \le
\text{padding}$, the inner child must be square ($R_{\text{inner}} = 0$).
Optical Centroid Alignment
Geometric center is rarely the visual center:
- Play Icons & Directional Arrows: Shift $1\text{px}$ to $2\text{px}$
along their directional axis to balance visual mass (
translate-x-[1.5px]). - Status Badges & Dots: Offset vertically by $0.5\text{px}$ when aligned with uppercase typography to match cap height.
Tactile Push Physics (Strict Implementation)
Clickable elements must have tangible physical feedback. You must implement this using the following exact Tailwind patterns:
- Active Displacement: On mouse down or tap, displace downward or scale.
Use
active:translate-y-[1px]oractive:scale-[0.985]. - Instant Press Response: Transition time into
:activemust be $0\text{ms}$. Release transitions back over $120\text{ms}$ to $150\text{ms}$. - Required Tailwind Classes: Combine these explicitly:
duration-150 active:duration-0 active:translate-y-[1px]orduration-150 active:duration-0 active:scale-[0.98].
Scoped Transitions (No transition-all)
Never use transition: all or the Tailwind transition-all class. Explicitly
name animated properties to eliminate layout thrashing.
CSS:
transition: transform 160ms cubic-bezier(0.16, 1, 0.3, 1), opacity 160ms cubic-bezier(0.16, 1, 0.3, 1), background-color 160ms ease;- Tailwind: Use
transition-colors,transition-opacity,transition-transform, or custom scoped variants liketransition-[transform,opacity,background-color].
Viewport and Edge Discipline
- Viewport Height: Use
min-h-[100dvh], neverh-screenor100vh, preventing mobile browser address bar layout jumps. - Image Outlines: Add a subtle inner ring (
ring-1 ring-black/5 dark:ring-white/10) to embedded imagery to prevent light or dark images bleeding into page backgrounds.
3. The Slop Gate: Hard Prohibitions
Any of the following HIGH-severity traits triggers an immediate gate failure. See references/slop_gates.md for the complete severity-ranked catalog.
- No AI Purple / Neon Mesh: No indigo-to-neon-violet gradients (
#6366f1to#a855f7) over dark backgrounds. Use neutral bases (Slate, Zinc, Neutral) with one sharp accent. Never use AI purple hex codes or indigo/violet/purple Tailwind classes as the primary color. - No Tasteful Default (2026 Tell): The cream background + serif display + sage green accent look is the strongest current AI tell. If the project genuinely needs warmth, anchor it to a real brand reference — do not reach for the "tasteful average."
- No Gradient Text: Never apply
bg-clip-text text-transparentto headings or body text. Top-3 tell in the data. Default to solid color fills. - No Artisanal Craft Cliché: Never default to warm cream (
#f5f1ea), brass/clay accents (#b08947), and espresso text (#1a1714) for lifestyle products. Anchor to a specific reference instead. - No 3-Card Grid Trap: Never build uniform rows of 3 or 4 identical white cards with centered icons in colored circles. Use asymmetric CSS grids, split anchors, or structured lists.
- No Viewport-Spilling Heroes: Hero sections must resolve within the
initial viewport. Cap top padding at
pt-20topt-24(maximum $6\text{rem}$). Limit hero text to 4 elements max: optional eyebrow, headline ($\le 2$ lines), subtitle ($\le 20$ words), and CTAs. - Strict Eyebrow Quota: Small uppercase tracking labels (
text-xs uppercase tracking-[0.2em]) are capped at $\le \lceil \text{sections}/3 \rceil$. Never place eyebrows on consecutive sections. - No Emoji-as-Icons: Using emoji (🚀 📊 ⚡ 🎯) as functional icons in feature cards is a strong AI tell. Use SVG icon libraries (Lucide, Heroicons, Phosphor).
- No Rounded Everything: Do not apply
rounded-fullorrounded-3xlto every surface. Use a deliberate radius scale by component role. - No Zigzag Alternation: Never stack repeated [Image-Left / Text-Right] followed by [Text-Left / Image-Right] rows past two consecutive sections.
- No Font Monoculture: Never default to
Inter/Geistfor everything or reflexively reach forFraunces/Instrument Serif. See references/design_systems_and_tokens.md for the choosing-a-look method. - No Mixed-Family Word Emphasis: Never italicize a single word in a sans headline by switching that word to an unrelated serif font. Emphasize using italic or bold weights of the same family.
- No Italic Descender Clipping: Italic display typography containing
g,j,p,q, orymust haveleading-[1.1]minimum and reserve bottom padding (pb-1) to avoid clipping. - No Div-Based Fake UI: Never mock interfaces using CSS divs, colored dots, and dummy list bars. Render real components or use authentic imagery.
- No Wrapped Desktop CTAs: Button labels must fit on a single line on desktop.
- No Duplicate CTA Intent: Do not scatter "Get in touch", "Contact us", and "Let's talk" across the same page. Choose one action verb and standardize it.
4. Visual Assets & Microcopy Pipeline
Asset Hierarchy
- Generative Image Tools First: If an image generation tool is available, generate bespoke photography, product assets, or texture backdrops matching the aspect ratio and palette.
- Contextual Seeded Photography Second: When image generation is
unavailable, use descriptive seed URLs
(
https://picsum.photos/seed/{brand-context}/{w}/{h}). - Semantic Placeholders Last: If no images are available, emit semantic
placeholder slots
(
<!-- PLACEMENT: Hero product photography, 1600x1000 -->) rather than fake CSS div mockups. - Authentic Monograms: Use real SVG logos via Simple Icons CDN or clean geometric SVG monograms. Never style plain text brand names inside rounded boxes.
Authentic Microcopy
- Action buttons must describe concrete tasks ("Deploy Cluster", "Generate Token", "Inspect Diff") instead of generic verbs ("Get Started", "Submit").
- Body paragraphs must be constrained to $\le 65\text{ch}$ measure.
- Eliminate invented precision metrics ("99.99% uptime", "10x ROI") unless grounded in real data.
5. Bounded Verification Protocol
Verify deliverables in two bounded passes. Do not run infinite polish loops. You must explicitly confirm these checks in your output before finalizing.
Pass 1: Mechanical & Accessibility Audit
- Verify hero height resolves within
min-h-[100dvh]without scrolling to primary CTAs. - Check contrast ratios: minimum 4.5:1 for body copy, 3:1 for large display and active icons.
- Check eyebrow count: verify count does not exceed $\lceil \text{sections}/3 \rceil$.
- Check concentric border radii and confirm desktop CTA labels do not wrap.
- Check Physics: Confirm buttons have
duration-150 active:duration-0and an active transform. - Check Transitions: Confirm NO
transition-allexists in the code.
Pass 2: Slop Gate Assessment
- Run
scripts/audit_slop.pyon the generated output if available. Any HIGH-severity finding must be resolved before delivery. - If the scanner is unavailable, manually audit against the slop gate catalog.
- Check Colors: Confirm NO AI purple (
#6366f1,#a855f7,bg-indigo-*, etc.) or gradient text (bg-clip-text text-transparent) exists. - Ensure the design incorporates one bold, opinionated visual choice (unexpected scale, deliberate asymmetrical tension, or strict technical density).
- Apply all fixes in a single batched edit.
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.

