design-first-ui-prompting — Claude Code skill: how to install
Turns loose visual ideas into strict, design-system-style specifications for UI generation. It fixes grids, typography rules, and spacing upfront for predictable screens.
npx skills add MengTo/Skills --skill design-first-ui-prompting -a claude-codeWhat design-first-ui-prompting does
This skill structures UI generation prompts around design system rules rather than casual requests. It introduces a fixed specification skeleton covering format dimensions, safe margins, wireframe layout, typographic hierarchy, a single accent color, and exact copy strings.
The workflow relies on controlled iterations. You change one variable at a time, keep local style references in a gitignored refs/... directory, and apply mini constraint cards to anchor styles like font choices or dark mode.
Because image models often garble letterforms, the skill enforces a two-pass workflow: generate the composition with a clean, empty text area first, then typeset the final words inside Figma.
What it helps with
- write spec-driven prompts for consistent UI generation
- define layout grids, safe margins, and font scales in words
- lock visual styles using small constraint panels
- avoid distorted typography through a two-pass workflow
Example prompts for the agent
- Draft a spec-driven UI prompt for a mobile onboarding screen using design-first-ui-prompting
- Create a constraints card and text wireframe for a dashboard hero layout
- Format this landing page prompt using the Swiss 6-column grid template
How to install design-first-ui-prompting
1Skills CLI (Vercel)
npx skills add MengTo/Skills --skill design-first-ui-prompting -a claude-code2Manually: put the files in place
~/.claude/skills/design-first-ui-prompting/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/design-first-ui-prompting/
1Skills CLI (Vercel)
npx skills add MengTo/Skills --skill design-first-ui-prompting -a codex2Manually: put the files in place
.agents/skills/design-first-ui-prompting/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add MengTo/Skills --skill design-first-ui-prompting -a cursor2Manually: put the files in place
.cursor/skills/design-first-ui-prompting/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install MengTo/Skills design-first-ui-prompting2Manually: put the files in place
.github/skills/design-first-ui-prompting/SKILL.md1Skills CLI (Vercel)
npx skills add MengTo/Skills --skill design-first-ui-prompting -a gemini-cli2Platform CLI
gemini skills install https://github.com/MengTo/Skills --path agent-skills/ui/design-first-ui-promptingManually: put the files in place
.devin/skills/design-first-ui-prompting/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add MengTo/Skills --skill design-first-ui-prompting -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about design-first-ui-prompting
How to install design-first-ui-prompting in Claude Code?
Run npx skills add MengTo/Skills --skill design-first-ui-prompting -a claude-code in your terminal. The file is saved to ~/.claude/skills/design-first-ui-prompting/SKILL.md.
What does design-first-ui-prompting do?
It provides a template that forces UI prompts to declare layouts, typography, exact copy, margins, and single accent colors before generating screens.
How does it resolve misspelled text in generated interfaces?
It advises generating the layout without text while reserving empty space, then typesetting the final copy directly in Figma.
Source text
SKILL.md · MIT
--- name: design-first-ui-prompting description: Use when you need design-first, spec-driven, skimmable prompts for UI generation. Covers prompt structure, constraints, variations, typography/spacing rules, and iteration workflow for consistent UI outputs. --- # Design-First UI Prompting Skill This skill is for **design-first prompting**: turn fuzzy ideas into a tight spec that produces consistent UI. ## Core principle **Prompt like a design system, not a wish.** ## Prompt Structure (copy/paste) Use this skeleton, then fill the blanks. ```text GOAL - What are we making? (e.g., landing page hero / onboarding / dashboard / carousel slide) - Who is it for? (persona) - What’s the success criteria? (clarity, conversion, vibe) FORMAT - Size/aspect: (e.g., 1080x1350) - Safe margins: (e.g., 90px) LAYOUT (wireframe in words) - Grid: (e.g., Swiss 6-col) - Placement: (e.g., type-left / image-right) - Hierarchy: H1 → subhead → body → CTA TYPE SYSTEM - Font vibe: (e.g., Söhne / Neue Haas / SF Pro) - Weights: (H1 700, body 400) - Leading: (tight for H1, readable for body) - Tracking: (micro labels wider) COLOR + MATERIAL - Background: (hex or description) - Text: (white/ivory/charcoal) - One accent only: (cyan/lime/purple) - Texture: (subtle grain, no plastic HDR) IMAGERY / UI STYLE - UI style: (minimal / glass / editorial / playful 3D) - If photo: lighting + crop + texture rules - If 3D: materials + lighting + softness COPY (render EXACTLY) - Line 1: - Line 2: - ... CONSTRAINTS (change 1–2 things only) - FONT: ___ - STYLE: ___ - MODE: ___ NEGATIVE PROMPT - No logos, no watermarks - No extra text beyond provided lines - No gibberish typography ``` ## Rules that improve consistency ### 1) Lock one “system”, then iterate with variants - First output: nail **layout + hierarchy + copy**. - Variants: change **ONE variable** at a time: - angle / crop - accent color - card arrangement - background tone ### 2) Treat typography as fragile If the model keeps misspelling: - Use **2-pass workflow**: 1) Generate without text (reserve a clean text-safe area) 2) Typeset in Figma ### 3) Use “constraints cards” When you want the model to obey a style: - Add a small “Constraints” panel with explicit values. - It anchors the output like a mini style guide. Example: ```text Constraints FONT CANELA STYLE MINIMAL MODE DARK ``` ### 4) Keep a local reference pack Don’t ask the model to “remember” taste. - Save references into a gitignored local reference folder, such as `refs/...` - Point prompts to the reference style ## Fast iteration checklist (what to tweak) - Spacing: margins, leading, baseline rhythm - Contrast: background vs text - Hierarchy: one hero line, one support line - One accent only (don’t rainbow) - Texture: add grain, remove smoothing ## Questions to ask (when user is vague) - What’s the single message of this screen? - What’s the hierarchy (H1 / sub / CTA)? - Which style lane: minimal editorial vs playful 3D vs glass UI? - Any must-keep constraints (font vibe, color, spacing, grid)?
© MengTo · MIT · MengTo/Skills