ui-workflow
Skill9 starsChanged 3 months agoMITView on GitHub
Full UI design pipeline. Wireframes first, then a design PRD, optional Stitch MCP mockups, shadcn/ui components, an anti-vibe-code checklist, explicit interaction states, and a browser-based visual feedback loop.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- colasama/MahoShojo-Generatortheir own version, first seen Nov 9, 2026
- game1991/awesome-skillstheir own version, first seen Sep 14, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- colasama/MahoShojo-Generator★ 167same name
- game1991/awesome-skills★ 0same 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 repository15 other files it gives its agents.
- ai-voice-humanizerSkill
- blog-writerSkill
- brand-kitSkill
- brand-voice-extractorSkill
- watchSkill
- course-infographicsSkill
- extract-designSkill
- lesson-writerSkill
- mascot-processorSkill
- prompt-enhancerSkill
- remotion-video-builderSkill
- saas-studySkill
- skool-courseSkill
- startup-naming-scorerSkill
- video-style-extractorSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
32 rules. About 0 are common, 24 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈24
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Follow this pipeline for any project involving UI.
- Distinctive: line 13
Before any visual design, produce ASCII wireframes for each screen or layout.
- Distinctive: line 19
Write the design PRD before writing any UI code.
- Very specific: line 32
If you also have a dedicated design-direction skill installed (Anthropic's frontend-design plugin skill, or any house equivalent), invoke …
- Very specific: line 40
Use generate_screen_from_text to generate mockup screens from the PRD, one screen per screen defined in the PRD.
- Very specific: line 41
Use extract_design_context on a finished screen to pull design tokens (palette, fonts, layout patterns), then feed that context into the …
- Very specific: line 42
Use fetch_screen_code to retrieve the production HTML and CSS.
- Distinctive: line 48
Create or pick a Google Cloud project and enable the Stitch API:
- Distinctive: line 87
Use the generated code and design context as the foundation for the project UI.
- Very specific: line 97
Always: use shadcn/ui components for buttons, dialogs, cards, inputs, selects, tabs, and similar primitives.
- Distinctive: line 98
Never create a custom primitive when a shadcn equivalent exists.
- Very specific: line 99
Add components via CLI: npx shadcn@latest add button card dialog
- Very specific: line 100
If the project has not initialized shadcn yet, run npx shadcn@latest init first.
- Distinctive: line 109
Use OKLCH color format for perceptual uniformity (the shadcn default).
- Distinctive: line 116
Run: "Critique the design of [component/page].
- Distinctive: line 117
Run: "Redesign [component/page], fixing all critique items."
- Very specific: line 122
After generating UI code, render it in a real browser and look at the result.
- Distinctive: line 129
When starting a new UI project, gather 2 to 5 screenshots of sites or apps whose design you admire.
- Distinctive: line 130
Ask Claude to break down each screenshot: layout, components, colors, typography, spacing.
- Distinctive: line 136
Every interactive element must have these states defined explicitly:
- Distinctive: line 154
Never use emojis as UI icons.
- Distinctive: line 155
Never use AI-selected decorative icons (colorful circles, gradient blobs).
- Distinctive: line 158
Never let AI choose colors.
- Distinctive: line 163
Never let AI choose your layout.
- Distinctive: line 172
If a form or flyout has few fields and lots of empty space, use a modal instead of a full page.
- Distinctive: line 180
Follow proven SaaS pricing patterns (Resend, Supabase, Vercel).
- Distinctive: line 183
Never ship a landing page with just text and generic icons.
- Distinctive: line 184
Use actual product screenshots with perspective transforms (skew, rotation).
- Distinctive: line 188
Add data comparison toggles, for example splitting a chart into individual items.
- Distinctive: line 189
Add informational icons with color splashes in data rows.
- Distinctive: line 195
Before starting new UI work, audit existing code for inefficiencies and dead code.
- Distinctive: line 201
Use these as a visual library Claude can reference: "match the style from [guide name]".
≈ “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
UI Design Workflow
Follow this pipeline for any project involving UI. Steps 0, 1, 3, and everything under Best Practices need no external tooling. Step 2 is optional and depends on an MCP server you may not have installed.
Step 0: Structural Wireframing (ASCII First)
- Before any visual design, produce ASCII wireframes for each screen or layout.
- This forces structural thinking (hierarchy, sections, flow) before aesthetics.
- Present wireframes for approval before moving to the PRD.
Step 1: PRD Creation
- Write the design PRD before writing any UI code.
- Save it to wherever the project keeps planning docs, for example
docs/design/prd-design.md. - The PRD must include:
- Page and screen inventory with clear names and purposes
- Layout structure (grid, sections, hierarchy)
- Component breakdown (buttons, forms, cards, navs, modals)
- Color palette, typography, spacing system
- Responsive behavior (breakpoints, mobile-first rules)
- Interaction states (hover, active, disabled, loading, error, empty)
- Accessibility requirements (contrast, aria, keyboard nav)
- Data flow per screen (what data populates what)
- Format the PRD with tables, bullet lists, and clear headings. No ambiguity.
If you also have a dedicated design-direction skill installed (Anthropic's frontend-design plugin skill, or any house equivalent), invoke it here to set aesthetic direction before the PRD is written.
Step 2: Mockup Generation (optional, via Stitch MCP)
Skip this step entirely if you do not use Google Stitch. Hand-built HTML mockups or any other design tool substitute fine; the rest of the pipeline does not depend on it.
With the Stitch MCP server connected:
- Use
generate_screen_from_textto generate mockup screens from the PRD, one screen per screen defined in the PRD. - Use
extract_design_contexton a finished screen to pull design tokens (palette, fonts, layout patterns), then feed that context into the next generation so every screen matches. - Use
fetch_screen_codeto retrieve the production HTML and CSS.
Stitch MCP setup
The server is the community stitch-mcp npm package. It talks to Google Stitch using your own Google Cloud credentials, so it is per-user setup, not per-project.
Create or pick a Google Cloud project and enable the Stitch API:
gcloud auth login gcloud config set project YOUR_PROJECT_ID gcloud auth application-default set-quota-project YOUR_PROJECT_ID gcloud beta services mcp enable stitch.googleapis.comInstall application default credentials so the server can authenticate as you:
gcloud auth application-default loginRegister the server with Claude Code:
claude mcp add stitch --scope user -e GOOGLE_CLOUD_PROJECT=YOUR_PROJECT_ID -- npx -y stitch-mcpOr add the equivalent block by hand to your MCP config:
{ "mcpServers": { "stitch": { "command": "npx", "args": ["-y", "stitch-mcp"], "env": { "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID" } } } }
Replace YOUR_PROJECT_ID with your own Google Cloud project ID. Never hardcode credentials into the config; the gcloud auth application-default login step is what supplies them.
Step 3: Integration
- Use the generated code and design context as the foundation for the project UI.
- Maintain consistency across all screens by referencing the extracted design tokens.
- Any deviation from the PRD must be noted and justified.
UI Best Practices
Use shadcn/ui Components, Never Invent Primitives
- Always use
shadcn/uicomponents for buttons, dialogs, cards, inputs, selects, tabs, and similar primitives. - Never create a custom primitive when a shadcn equivalent exists.
- Add components via CLI:
npx shadcn@latest add button card dialog - If the project has not initialized shadcn yet, run
npx shadcn@latest initfirst. - Setup details and the component catalog live at ui.shadcn.com.
Build and Reference Design Tokens
- Encode all colors, spacing, typography, radii, and shadows as CSS custom properties (design tokens).
- Store tokens in
globals.cssusing the shadcn and Tailwind v4 pattern (--primary,--background, and so on). - Reference tokens by name in prompts: "style this card using the
--primaryand--cardtokens". - Multiple themes become trivial once tokenized. Swap token values, nothing else.
- Use OKLCH color format for perceptual uniformity (the shadcn default).
Critique-Then-Redesign Pattern
Claude is better at redesigning than at designing from scratch. Follow this loop:
- Build a first pass. It does not need to look great.
- Run: "Critique the design of [component/page]. List every issue."
- Run: "Redesign [component/page], fixing all critique items."
- The critique gives Claude specific context for a much better second pass.
Visual Feedback Loop
- After generating UI code, render it in a real browser and look at the result. A browser automation MCP such as Playwright MCP (
browser_snapshot,browser_take_screenshot) does this well; install it withclaude mcp add playwright -- npx -y @playwright/mcp@latest. - Compare rendered output against the PRD and the design tokens.
- Fix discrepancies in a tight build, check, fix loop.
- This closes the gap between "code that looks right" and "UI that actually looks right".
Feed Reference Screenshots
- When starting a new UI project, gather 2 to 5 screenshots of sites or apps whose design you admire.
- Ask Claude to break down each screenshot: layout, components, colors, typography, spacing.
- Cherry-pick the features you want and discard the rest.
- Feed the selected design features into the PRD and the design tokens.
Specify All Interaction States
Every interactive element must have these states defined explicitly:
- Default, the resting appearance
- Hover, cursor over
- Active/Pressed, during click or tap
- Focus, keyboard navigation
- Disabled, non-interactive
- Loading, async operation in progress
- Error, validation failure
- Empty, no data or zero state
Anti-Vibe-Code Checklist
Audit every screen against this list before shipping. These are the telltale signs of AI-generated UI.
Icons & Emojis
- Never use emojis as UI icons. They scream vibe-coded. Use Phosphor Icons (preferred), Lucide, or similar.
- Never use AI-selected decorative icons (colorful circles, gradient blobs). Use purposeful, monochrome interface icons.
Colors
- Never let AI choose colors. It always picks bright, clashing palettes.
- Introduce color through data visualizations (charts, sparklines), not through buttons and decorative icons.
- Muted, cohesive palettes with one dominant color plus one sharp accent.
Layout & Information Architecture
- Never let AI choose your layout. Human intervention gives the biggest ROI here.
- Eliminate redundant KPI cards. One instance per metric, maximum.
- Tighten sidebar spacing and left-align navigation items.
- Replace gradient profile avatar circles with proper account cards.
- Tuck secondary or rare links into popovers (click to reveal).
- Collapse busy action buttons into triple-dot overflow menus.
- Group related settings together (settings plus billing plus usage).
Forms & Modals
- If a form or flyout has few fields and lots of empty space, use a modal instead of a full page.
- Collapse advanced options by default. Show only core fields initially.
- Design layouts that let new features slot in easily. Tabs beat static sections.
Pricing Pages
- Maximum 3 to 4 pricing tiers. Five or more is confusing and screams AI-generated.
- Show actual discount amounts prominently, not just "save X%".
- Make price the largest text element, not the plan name.
- Follow proven SaaS pricing patterns (Resend, Supabase, Vercel).
Landing Pages
- Never ship a landing page with just text and generic icons. You need real graphics.
- Use actual product screenshots with perspective transforms (skew, rotation).
- Replace generic feature icons with cropped screenshots of the actual feature.
Low-Hanging Fruit
- Add data comparison toggles, for example splitting a chart into individual items.
- Add informational icons with color splashes in data rows.
- Replace boring bar charts with richer visualizations (maps, donut charts, sparklines).
Keep the Codebase Clean
- Messy code degrades Claude's ability to produce good UI suggestions.
- Before starting new UI work, audit existing code for inefficiencies and dead code.
- Fix structural issues first. Clean code leads to better emergent UI output.
HTML Style Guides as References
- For rapid style exploration, generate pure HTML single-file style guides with no build step.
- Use these as a visual library Claude can reference: "match the style from [guide name]".
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.

