Stitch Design Taste — Semantic Design System Skill
Overview
This skill generates DESIGN.md files optimized for Google Stitch screen generation. It translates the battle-tested anti-slop frontend engineering directives into Stitch's native semantic design language — descriptive, natural-language rules paired with precise values that Stitch's AI agent can interpret to produce premium, non-generic interfaces.
The generated DESIGN.md serves as the single source of truth for prompting Stitch to generate new screens that align with a curated, high-agency design language. Stitch interprets design through "Visual Descriptions" supported by specific color values, typography specs, and component behaviors.
Prerequisites
- Access to Google Stitch via labs.google/stitch
- Optionally: Stitch MCP Server for programmatic integration with Cursor, Antigravity, or Gemini CLI
The Goal
Generate a DESIGN.md file that encodes:
- Visual atmosphere — the mood, density, and design philosophy
- Color calibration — neutrals, accents, and banned patterns with hex codes
- Typographic architecture — font stacks, scale hierarchy, and anti-patterns
- Component behaviors — buttons, cards, inputs with interaction states
- Layout principles — grid systems, spacing philosophy, responsive strategy
- Motion philosophy — animation engine specs, spring physics, perpetual micro-interactions
- Anti-patterns — explicit list of banned AI design clichés
Analysis & Synthesis Instructions
1. Define the Atmosphere
Evaluate the target project's intent. Use evocative adjectives from the taste spectrum:
- Density: "Art Gallery Airy" (1–3) → "Daily App Balanced" (4–7) → "Cockpit Dense" (8–10)
- Variance: "Predictable Symmetric" (1–3) → "Offset Asymmetric" (4–7) → "Artsy Chaotic" (8–10)
- Motion: "Static Restrained" (1–3) → "Fluid CSS" (4–7) → "Cinematic Choreography" (8–10)
Default baseline: Variance 8, Motion 6, Density 4. Adapt dynamically based on user's vibe description.
2. Map the Color Palette
For each color provide: Descriptive Name + Hex Code + Functional Role.
Mandatory constraints:
- Maximum 1 accent color. Saturation below 80%
- The "AI Purple/Blue Neon" aesthetic is strictly BANNED — no purple button glows, no neon gradients
- Use absolute neutral bases (Zinc/Slate) with high-contrast singular accents
- Stick to one palette for the entire output — no warm/cool gray fluctuation
- Never use pure black (
#000000) — use Off-Black, Zinc-950, or Charcoal
3. Establish Typography Rules
- Display/Headlines: Track-tight, controlled scale. Not screaming. Hierarchy through weight and color, not just massive size
- Body: Relaxed leading, max 65 characters per line
- Font Selection:
Inter is BANNED for premium/creative contexts. Force unique character: Geist, Outfit, Cabinet Grotesk, or Satoshi
- Serif Ban: Generic serif fonts (
Times New Roman, Georgia, Garamond, Palatino) are BANNED. If serif is needed for editorial/creative contexts, use only distinctive modern serifs: Fraunces, Gambarino, Editorial New, or Instrument Serif. Serif is always BANNED in dashboards or software UIs
- Dashboard Constraint: Use Sans-Serif pairings exclusively (
Geist + Geist Mono or Satoshi + JetBrains Mono)
- High-Density Override: When density exceeds 7, all numbers must use Monospace
4. Define the Hero Section
The Hero is the first impression and must be creative, striking, and never generic:
- Inline Image Typography: Embed small, contextual photos or visuals directly between words or letters in the headline. Images sit inline at type-height, rounded, acting as visual punctuation. This is the signature creative technique
- No Overlapping: Text must never overlap images or other text. Every element occupies its own clean spatial zone
- No Filler Text: "Scroll to explore", "Swipe down", scroll arrow icons, bouncing chevrons are BANNED. The content should pull users in naturally
- Asymmetric Structure: Centered Hero layouts BANNED when variance exceeds 4
- CTA Restraint: Maximum one primary CTA. No secondary "Learn more" links
5. Describe Component Stylings
For each component type, describe shape, color, shadow depth, and interaction behavior:
- Buttons: Tactile push feedback on active state. No neon outer glows. No custom mouse cursors
- Cards: Use ONLY when elevation communicates hierarchy. Tint shadows to background hue. For high-density layouts, replace cards with border-top dividers or negative space
- Inputs/Forms: Label above input, helper text optional, error text below. Standard gap spacing
- Loading States: Skeletal loaders matching layout dimensions — no generic circular spinners
- Empty States: Composed compositions indicating how to populate data
- Error States: Clear, inline error reporting
6. Define Layout Principles
- No overlapping elements — every element occupies its own clear spatial zone. No absolute-positioned content stacking
- Centered Hero sections are BANNED when variance exceeds 4 — force Split Screen, Left-Aligned, or Asymmetric Whitespace
- The generic "3 equal cards horizontally" feature row is BANNED — use 2-column Zig-Zag, asymmetric grid, or horizontal scroll
- CSS Grid over Flexbox math — never use
calc() percentage hacks
- Contain layouts using max-width constraints (e.g., 1400px centered)
- Full-height sections must use
min-h-[100dvh] — never h-screen (iOS Safari catastrophic jump)
7. Define Responsive Rules
Every design must work across all viewports:
- Mobile-First Collapse (< 768px): All multi-column layouts collapse to single column. No exceptions
- No Horizontal Scroll: Horizontal overflow on mobile is a critical failure
- Typography Scaling: Headlines scale via
clamp(). Body text minimum 1rem/14px
- Touch Targets: All interactive elements minimum
44px tap target
- Image Behavior: Inline typography images (photos between words) stack below headline on mobile
- Navigation: Desktop horizontal nav collapses to clean mobile menu
- Spacing: Vertical section gaps reduce proportionally (
clamp(3rem, 8vw, 6rem))
8. Encode Motion Philosophy
- Spring Physics default:
stiffness: 100, damping: 20 — premium, weighty feel. No linear easing
- Perpetual Micro-Interactions: Every active component should have an infinite loop state (Pulse, Typewriter, Float, Shimmer)
- Staggered Orchestration: Never mount lists instantly — use cascade delays for waterfall reveals
- Performance: Animate exclusively via
transform and opacity. Never animate top, left, width, height. Grain/noise filters on fixed pseudo-elements only
9. List Anti-Patterns (AI Tells)
Encode these as explicit "NEVER DO" rules in the DESIGN.md:
- No emojis anywhere
- No
Inter font
- No generic serif fonts (
Times New Roman, Georgia, Garamond) — distinctive modern serifs only if needed
- No pure black (
#000000)
- No neon/outer glow shadows
- No oversaturated accents
- No excessive gradient text on large headers
- No custom mouse cursors
- No overlapping elements — clean spatial separation always
- No 3-column equal card layouts
- No generic names ("John Doe", "Acme", "Nexus")
- No fake round numbers (
99.99%, 50%)
- No AI copywriting clichés ("Elevate", "Seamless", "Unleash", "Next-Gen")
- No filler UI text: "Scroll to explore", "Swipe down", scroll arrows, bouncing chevrons
- No broken Unsplash links — use
picsum.photos or SVG avatars
- No centered Hero sections (for high-variance projects)
Output Format (DESIGN.md Structure)
# Design System: [Project Title]
## 1. Visual Theme & Atmosphere
(Evocative description of the mood, density, variance, and motion intensity.
Example: "A restrained, gallery-airy interface with confident asymmetric layouts
and fluid spring-physics motion. The atmosphere is clinical yet warm — like a
well-lit architecture studio.")
## 2. Color Palette & Roles
- **Canvas White** (#F9FAFB) — Primary background surface
- **Pure Surface** (#FFFFFF) — Card and container fill
- **Charcoal Ink** (#18181B) — Primary text, Zinc-950 depth
- **Muted Steel** (#71717A) — Secondary text, descriptions, metadata
- **Whisper Border** (rgba(226,232,240,0.5)) — Card borders, 1px structural lines
- **[Accent Name]** (#XXXXXX) — Single accent for CTAs, active states, focus rings
(Max 1 accent. Saturation < 80%. No purple/neon.)
## 3. Typography Rules
- **Display:** [Font Name] — Track-tight, controlled scale, weight-driven hierarchy
- **Body:** [Font Name] — Relaxed leading, 65ch max-width, neutral secondary color
- **Mono:** [Font Name] — For code, metadata, timestamps, high-density numbers
- **Banned:** Inter, generic system fonts for premium contexts. Serif fonts banned in dashboards.
## 4. Component Stylings
* **Buttons:** Flat, no outer glow. Tactile -1px translate on active. Accent fill for primary, ghost/outline for secondary.
* **Cards:** Generously rounded corners (2.5rem). Diffused whisper shadow. Used only when elevation serves hierarchy. High-density: replace with border-top dividers.
* **Inputs:** Label above, error below. Focus ring in accent color. No floating labels.
* **Loaders:** Skeletal shimmer matching exact layout dimensions. No circular spinners.
* **Empty States:** Composed, illustrated compositions — not just "No data" text.
## 5. Layout Principles
(Grid-first responsive architecture. Asymmetric splits for Hero sections.
Strict single-column collapse below 768px. Max-width containment.
No flexbox percentage math. Generous internal padding.)
## 6. Motion & Interaction
(Spring physics for all interactive elements. Staggered cascade reveals.
Perpetual micro-loops on active dashboard components. Hardware-accelerated
transforms only. Isolated Client Components for CPU-heavy animations.)
## 7. Anti-Patterns (Banned)
(Explicit list of forbidden patterns: no emojis, no Inter, no pure black,
no neon glows, no 3-column equal grids, no AI copywriting clichés,
no generic placeholder names, no broken image links.)
Best Practices
- Be Descriptive: "Deep Charcoal Ink (#18181B)" — not just "dark text"
- Be Functional: Explain what each element is used for
- Be Consistent: Same terminology throughout the document
- Be Precise: Include exact hex codes, rem values, pixel values in parentheses
- Be Opinionated: This is not a neutral template — it enforces a specific, premium aesthetic
Tips for Success
- Start with the atmosphere — understand the vibe before detailing tokens
- Look for patterns — identify consistent spacing, sizing, and styling
- Think semantically — name colors by purpose, not just appearance
- Consider hierarchy — document how visual weight communicates importance
- Encode the bans — anti-patterns are as important as the rules themselves
Common Pitfalls to Avoid
- Using technical jargon without translation ("rounded-xl" instead of "generously rounded corners")
- Omitting hex codes or using only descriptive names
- Forgetting functional roles of design elements
- Being too vague in atmosphere descriptions
- Ignoring the anti-pattern list — these are what make the output premium
- Defaulting to generic "safe" designs instead of enforcing the curated aesthetic
Credits
This skill is part of the Taste Skill collection
(tasteskill.dev) by Leonxlnx, released under
the MIT License. All credit for the design system, prompt engineering, and aesthetic direction belongs to
its author.
Mirrored into this skills repo by Rinu (l3ad3r1) in collaboration with
Claude (Anthropic). The original skill content is reproduced unmodified except for this credits note.
1---2name: stitch-design-taste3description: Semantic Design System Skill for Google Stitch. Generates agent-friendly DESIGN.md files that enforce premium, anti-generic UI standards — strict typography, calibrated color, asymmetric layouts, perpetual micro-motion, and hardware-accelerated performance.4license: MIT5---678# Stitch Design Taste — Semantic Design System Skill910## Overview11This skill generates `DESIGN.md` files optimized for Google Stitch screen generation. It translates the battle-tested anti-slop frontend engineering directives into Stitch's native semantic design language — descriptive, natural-language rules paired with precise values that Stitch's AI agent can interpret to produce premium, non-generic interfaces.1213The generated `DESIGN.md` serves as the **single source of truth** for prompting Stitch to generate new screens that align with a curated, high-agency design language. Stitch interprets design through **"Visual Descriptions"** supported by specific color values, typography specs, and component behaviors.1415## Prerequisites16- Access to Google Stitch via [labs.google/stitch](https://labs.google/stitch)17- Optionally: Stitch MCP Server for programmatic integration with Cursor, Antigravity, or Gemini CLI1819## The Goal20Generate a `DESIGN.md` file that encodes:211. **Visual atmosphere** — the mood, density, and design philosophy222. **Color calibration** — neutrals, accents, and banned patterns with hex codes233. **Typographic architecture** — font stacks, scale hierarchy, and anti-patterns244. **Component behaviors** — buttons, cards, inputs with interaction states255. **Layout principles** — grid systems, spacing philosophy, responsive strategy266. **Motion philosophy** — animation engine specs, spring physics, perpetual micro-interactions277. **Anti-patterns** — explicit list of banned AI design clichés2829## Analysis & Synthesis Instructions3031### 1. Define the Atmosphere32Evaluate the target project's intent. Use evocative adjectives from the taste spectrum:33- **Density:** "Art Gallery Airy" (1–3) → "Daily App Balanced" (4–7) → "Cockpit Dense" (8–10)34- **Variance:** "Predictable Symmetric" (1–3) → "Offset Asymmetric" (4–7) → "Artsy Chaotic" (8–10)35- **Motion:** "Static Restrained" (1–3) → "Fluid CSS" (4–7) → "Cinematic Choreography" (8–10)3637Default baseline: Variance 8, Motion 6, Density 4. Adapt dynamically based on user's vibe description.3839### 2. Map the Color Palette40For each color provide: **Descriptive Name** + **Hex Code** + **Functional Role**.4142**Mandatory constraints:**43- Maximum 1 accent color. Saturation below 80%44- The "AI Purple/Blue Neon" aesthetic is strictly BANNED — no purple button glows, no neon gradients45- Use absolute neutral bases (Zinc/Slate) with high-contrast singular accents46- Stick to one palette for the entire output — no warm/cool gray fluctuation47- Never use pure black (`#000000`) — use Off-Black, Zinc-950, or Charcoal4849### 3. Establish Typography Rules50- **Display/Headlines:** Track-tight, controlled scale. Not screaming. Hierarchy through weight and color, not just massive size51- **Body:** Relaxed leading, max 65 characters per line52- **Font Selection:** `Inter` is BANNED for premium/creative contexts. Force unique character: `Geist`, `Outfit`, `Cabinet Grotesk`, or `Satoshi`53- **Serif Ban:** Generic serif fonts (`Times New Roman`, `Georgia`, `Garamond`, `Palatino`) are BANNED. If serif is needed for editorial/creative contexts, use only distinctive modern serifs: `Fraunces`, `Gambarino`, `Editorial New`, or `Instrument Serif`. Serif is always BANNED in dashboards or software UIs54- **Dashboard Constraint:** Use Sans-Serif pairings exclusively (`Geist` + `Geist Mono` or `Satoshi` + `JetBrains Mono`)55- **High-Density Override:** When density exceeds 7, all numbers must use Monospace5657### 4. Define the Hero Section58The Hero is the first impression and must be creative, striking, and never generic:59- **Inline Image Typography:** Embed small, contextual photos or visuals directly between words or letters in the headline. Images sit inline at type-height, rounded, acting as visual punctuation. This is the signature creative technique60- **No Overlapping:** Text must never overlap images or other text. Every element occupies its own clean spatial zone61- **No Filler Text:** "Scroll to explore", "Swipe down", scroll arrow icons, bouncing chevrons are BANNED. The content should pull users in naturally62- **Asymmetric Structure:** Centered Hero layouts BANNED when variance exceeds 463- **CTA Restraint:** Maximum one primary CTA. No secondary "Learn more" links6465### 5. Describe Component Stylings66For each component type, describe shape, color, shadow depth, and interaction behavior:67- **Buttons:** Tactile push feedback on active state. No neon outer glows. No custom mouse cursors68- **Cards:** Use ONLY when elevation communicates hierarchy. Tint shadows to background hue. For high-density layouts, replace cards with border-top dividers or negative space69- **Inputs/Forms:** Label above input, helper text optional, error text below. Standard gap spacing70- **Loading States:** Skeletal loaders matching layout dimensions — no generic circular spinners71- **Empty States:** Composed compositions indicating how to populate data72- **Error States:** Clear, inline error reporting7374### 6. Define Layout Principles75- No overlapping elements — every element occupies its own clear spatial zone. No absolute-positioned content stacking76- Centered Hero sections are BANNED when variance exceeds 4 — force Split Screen, Left-Aligned, or Asymmetric Whitespace77- The generic "3 equal cards horizontally" feature row is BANNED — use 2-column Zig-Zag, asymmetric grid, or horizontal scroll78- CSS Grid over Flexbox math — never use `calc()` percentage hacks79- Contain layouts using max-width constraints (e.g., 1400px centered)80- Full-height sections must use `min-h-[100dvh]` — never `h-screen` (iOS Safari catastrophic jump)8182### 7. Define Responsive Rules83Every design must work across all viewports:84- **Mobile-First Collapse (< 768px):** All multi-column layouts collapse to single column. No exceptions85- **No Horizontal Scroll:** Horizontal overflow on mobile is a critical failure86- **Typography Scaling:** Headlines scale via `clamp()`. Body text minimum `1rem`/`14px`87- **Touch Targets:** All interactive elements minimum `44px` tap target88- **Image Behavior:** Inline typography images (photos between words) stack below headline on mobile89- **Navigation:** Desktop horizontal nav collapses to clean mobile menu90- **Spacing:** Vertical section gaps reduce proportionally (`clamp(3rem, 8vw, 6rem)`)9192### 8. Encode Motion Philosophy93- **Spring Physics default:** `stiffness: 100, damping: 20` — premium, weighty feel. No linear easing94- **Perpetual Micro-Interactions:** Every active component should have an infinite loop state (Pulse, Typewriter, Float, Shimmer)95- **Staggered Orchestration:** Never mount lists instantly — use cascade delays for waterfall reveals96- **Performance:** Animate exclusively via `transform` and `opacity`. Never animate `top`, `left`, `width`, `height`. Grain/noise filters on fixed pseudo-elements only9798### 9. List Anti-Patterns (AI Tells)99Encode these as explicit "NEVER DO" rules in the DESIGN.md:100- No emojis anywhere101- No `Inter` font102- No generic serif fonts (`Times New Roman`, `Georgia`, `Garamond`) — distinctive modern serifs only if needed103- No pure black (`#000000`)104- No neon/outer glow shadows105- No oversaturated accents106- No excessive gradient text on large headers107- No custom mouse cursors108- No overlapping elements — clean spatial separation always109- No 3-column equal card layouts110- No generic names ("John Doe", "Acme", "Nexus")111- No fake round numbers (`99.99%`, `50%`)112- No AI copywriting clichés ("Elevate", "Seamless", "Unleash", "Next-Gen")113- No filler UI text: "Scroll to explore", "Swipe down", scroll arrows, bouncing chevrons114- No broken Unsplash links — use `picsum.photos` or SVG avatars115- No centered Hero sections (for high-variance projects)116117## Output Format (DESIGN.md Structure)118119```markdown120# Design System: [Project Title]121122## 1. Visual Theme & Atmosphere123(Evocative description of the mood, density, variance, and motion intensity.124Example: "A restrained, gallery-airy interface with confident asymmetric layouts125and fluid spring-physics motion. The atmosphere is clinical yet warm — like a126well-lit architecture studio.")127128## 2. Color Palette & Roles129- **Canvas White** (#F9FAFB) — Primary background surface130- **Pure Surface** (#FFFFFF) — Card and container fill131- **Charcoal Ink** (#18181B) — Primary text, Zinc-950 depth132- **Muted Steel** (#71717A) — Secondary text, descriptions, metadata133- **Whisper Border** (rgba(226,232,240,0.5)) — Card borders, 1px structural lines134- **[Accent Name]** (#XXXXXX) — Single accent for CTAs, active states, focus rings135(Max 1 accent. Saturation < 80%. No purple/neon.)136137## 3. Typography Rules138- **Display:** [Font Name] — Track-tight, controlled scale, weight-driven hierarchy139- **Body:** [Font Name] — Relaxed leading, 65ch max-width, neutral secondary color140- **Mono:** [Font Name] — For code, metadata, timestamps, high-density numbers141- **Banned:** Inter, generic system fonts for premium contexts. Serif fonts banned in dashboards.142143## 4. Component Stylings144* **Buttons:** Flat, no outer glow. Tactile -1px translate on active. Accent fill for primary, ghost/outline for secondary.145* **Cards:** Generously rounded corners (2.5rem). Diffused whisper shadow. Used only when elevation serves hierarchy. High-density: replace with border-top dividers.146* **Inputs:** Label above, error below. Focus ring in accent color. No floating labels.147* **Loaders:** Skeletal shimmer matching exact layout dimensions. No circular spinners.148* **Empty States:** Composed, illustrated compositions — not just "No data" text.149150## 5. Layout Principles151(Grid-first responsive architecture. Asymmetric splits for Hero sections.152Strict single-column collapse below 768px. Max-width containment.153No flexbox percentage math. Generous internal padding.)154155## 6. Motion & Interaction156(Spring physics for all interactive elements. Staggered cascade reveals.157Perpetual micro-loops on active dashboard components. Hardware-accelerated158transforms only. Isolated Client Components for CPU-heavy animations.)159160## 7. Anti-Patterns (Banned)161(Explicit list of forbidden patterns: no emojis, no Inter, no pure black,162no neon glows, no 3-column equal grids, no AI copywriting clichés,163no generic placeholder names, no broken image links.)164```165166## Best Practices167- **Be Descriptive:** "Deep Charcoal Ink (#18181B)" — not just "dark text"168- **Be Functional:** Explain what each element is used for169- **Be Consistent:** Same terminology throughout the document170- **Be Precise:** Include exact hex codes, rem values, pixel values in parentheses171- **Be Opinionated:** This is not a neutral template — it enforces a specific, premium aesthetic172173## Tips for Success1741. Start with the atmosphere — understand the vibe before detailing tokens1752. Look for patterns — identify consistent spacing, sizing, and styling1763. Think semantically — name colors by purpose, not just appearance1774. Consider hierarchy — document how visual weight communicates importance1785. Encode the bans — anti-patterns are as important as the rules themselves179180## Common Pitfalls to Avoid181- Using technical jargon without translation ("rounded-xl" instead of "generously rounded corners")182- Omitting hex codes or using only descriptive names183- Forgetting functional roles of design elements184- Being too vague in atmosphere descriptions185- Ignoring the anti-pattern list — these are what make the output premium186- Defaulting to generic "safe" designs instead of enforcing the curated aesthetic187188---189190## Credits191192This skill is part of the **[Taste Skill](https://github.com/leonxlnx/taste-skill)** collection193([tasteskill.dev](https://tasteskill.dev)) by **[Leonxlnx](https://github.com/leonxlnx)**, released under194the MIT License. All credit for the design system, prompt engineering, and aesthetic direction belongs to195its author.196197Mirrored into this skills repo by Rinu ([l3ad3r1](https://github.com/l3ad3r1)) in collaboration with198Claude (Anthropic). The original skill content is reproduced unmodified except for this credits note.