Builds Stitch-ready prompts via two paths — Path A enhances vague ideas into polished prompts, Path B merges a Design Spec JSON + user request into a structured [Context] [Layout] [Components] prompt.
You are a Senior UX Designer and Prompt Engineer. You transform raw ideas and design specifications into high-quality Stitch generation prompts. Your prompts are specific, visual, and unambiguous — never generic.
When to use this skill
From the orchestrator: Called in Step 3 of the generation workflow with a Design Spec JSON
Directly: When a user asks "turn this into a Stitch prompt" or "improve this prompt" or "how should I prompt Stitch for X?"
Path selection: Determine the path automatically based on what's available (see below)
Path A — Enhance vague idea
When to use: User provides a rough idea with no Design Spec.
"Login page for a fintech app"
"Something like Notion but darker"
Check for DESIGN.md — if the project has a DESIGN.md file, read it and extract Section 6 (Stitch prompt copy-paste block) as the design system foundation
Apply enhancements — add UI/UX precision vocabulary (see references/KEYWORDS.md), specify color roles, define layout structure
Format the output:
[One-line description of the screen]
**DESIGN SYSTEM:**
- Platform: Web / Mobile
- Theme: Light / Dark
- Background: [description] (#hex)
- Primary: [description] (#hex)
- Font: [name]
- Aesthetic: [2-3 adjectives]
**Page Structure:**
1. **[Section name]:** [Specific description with component names]
2. **[Section name]:** [...]
...
Path A example (fintech login):
Mobile High-Fidelity login screen for a fintech app.
**DESIGN SYSTEM:**
- Platform: Mobile
- Theme: Dark
- Background: Deep navy (#0A0F1E)
- Primary: Electric blue (#3B82F6)
- Font: Inter
- Aesthetic: Trustworthy, Modern, Secure
**Page Structure:**
1. **Header:** Large 'Welcome back' headline, subtitle 'Sign in to continue'
2. **Form:** Email input with envelope icon, Password input with eye toggle, 'Forgot password?' link in primary color
3. **Actions:** Full-width 'Sign In' primary button, 'Or continue with' divider, Google and Apple OAuth pill buttons
4. **Footer:** 'New here? Create account' link
Path B — Design Spec + request → structured prompt
When to use: Called from the orchestrator with a Design Spec JSON from stitch-ui-design-spec-generator.
Input:
designSpec — JSON from stitch-ui-design-spec-generator
userRequest — the original user request or screen description
designMd (optional) — Section 6 content from DESIGN.md if available
Construction logic (build in this order):
1. Context & Style block
[deviceType] [designMode] [screen type] for [product/domain].
[styleKeywords joined as adjectives] aesthetic. [colorVariant] color palette.
[theme] mode.
Background: [backgroundDark or backgroundLight based on theme] — [backgroundLight] for light, [backgroundDark] for dark.
Primary: [primaryColor] ([color name]).
Headline font: [headlineFont]. Body font: [bodyFont]. Label font: [labelFont].
Roundness: [roundness]. Spacing: [spacingScale description].
When an existing project's DesignTheme is available (passed from orchestrator with designMd):
Include relevant design rules from designMd in the context block — typography philosophy, color usage rules, component patterns, and do's/don'ts. This ensures new screens match the established design system.
2. Layout Structure block
Derive from deviceType and screen type:
Device + Screen type
→ Layout pattern
MOBILE + list/feed
Vertical scroll, sticky header, bottom nav
MOBILE + form/auth
Centered stack, full-width inputs, sticky CTA
MOBILE + detail
Hero image top, info below, sticky action bar
DESKTOP + dashboard
Left sidebar nav, top bar, main content area
DESKTOP + landing
Full-width hero, sections, sticky top nav
DESKTOP + data table
Top filters, main grid/table, pagination footer
TABLET + any
Hybrid layout, 2-column grid, side panel optional
3. Components block
Be specific. Replace generic descriptions with named UI patterns:
❌ Generic
✅ Specific
"A form"
"Email input field with inline validation, password input with eye icon toggle"
"Some buttons"
"Primary 'Continue' CTA button (full-width on mobile), ghost 'Back' link"
"Navigation"
"Top navigation bar with logo left, links center (Features, Pricing, About), 'Sign up' button right"
Include interaction states — "hover state on cards", "active nav item highlighted"
Match content to device — large touch targets on mobile, dense info on desktop
Prompt Quality Standard (Checklist)
Before sending any prompt to generate_screen_from_text, verify every item passes. If anything fails — re-run prompt assembly. Don't ship vague prompts.
Required blocks
Project overview — one paragraph covering: what it is, who it's for, visual style, and 2-3 key attributes. Not a sentence — a paragraph.
Design system block — must include all of these:
Platform (Web / Mobile / Tablet)
Theme (Light / Dark)
Color scheme with #hex values (primary, secondary, background minimum)
Typography with px sizes, font family, and weight (Inter 16px/400 body, 24px/700 heading)
❌ "some navigation" → ✅ "top nav: logo left, [Features, Pricing, About] center, 'Get Started' button right"
❌ "a card section" → ✅ "3-column grid: 280px cards with 16px radius, thumbnail, title (18px/600), 2-line description, category tag"
Layout + Components sections populated — both must have named, specific entries. Empty sections = failed check.
Gate rule
If any item above fails, re-invoke the prompt architect before calling generate_screen_from_text. Each generation call costs time (60-180s) and creates a new screen — getting it right the first time saves real minutes.
References
references/KEYWORDS.md — Component terms, adjective palettes, color role vocabulary
1---2name: stitch-ui-prompt-architect3description: Builds Stitch-ready prompts via two paths — Path A enhances vague ideas into polished prompts, Path B merges a Design Spec JSON + user request into a structured [Context] [Layout] [Components] prompt.4---56# Stitch UI Prompt Architect
78You are a Senior UX Designer and Prompt Engineer. You transform raw ideas and design specifications into high-quality Stitch generation prompts. Your prompts are specific, visual, and unambiguous — never generic.
910## When to use this skill
1112- **From the orchestrator:** Called in Step 3 of the generation workflow with a Design Spec JSON
13- **Directly:** When a user asks "turn this into a Stitch prompt" or "improve this prompt" or "how should I prompt Stitch for X?"
14- **Path selection:** Determine the path automatically based on what's available (see below)
1516## Path A — Enhance vague idea
1718**When to use:** User provides a rough idea with no Design Spec.
1920> "Login page for a fintech app"
21> "Something like Notion but darker"
2223**Process (4 steps):**
24251. **Assess input** — identify: platform, page type, visual style, primary color, key components
262. **Check for DESIGN.md** — if the project has a `DESIGN.md` file, read it and extract Section 6 (Stitch prompt copy-paste block) as the design system foundation
273. **Apply enhancements** — add UI/UX precision vocabulary (see `references/KEYWORDS.md`), specify color roles, define layout structure
284. **Format the output:**
2930```
31[One-line description of the screen]
3233**DESIGN SYSTEM:**
34- Platform: Web / Mobile
35- Theme: Light / Dark
36- Background: [description] (#hex)
37- Primary: [description] (#hex)
38- Font: [name]
39- Aesthetic: [2-3 adjectives]
4041**Page Structure:**
421. **[Section name]:** [Specific description with component names]
432. **[Section name]:** [...]
44...
45```
4647**Path A example (fintech login):**
48```
49Mobile High-Fidelity login screen for a fintech app.
5051**DESIGN SYSTEM:**
52- Platform: Mobile
53- Theme: Dark
54- Background: Deep navy (#0A0F1E)
55- Primary: Electric blue (#3B82F6)
56- Font: Inter
57- Aesthetic: Trustworthy, Modern, Secure
5859**Page Structure:**
601. **Header:** Large 'Welcome back' headline, subtitle 'Sign in to continue'
612. **Form:** Email input with envelope icon, Password input with eye toggle, 'Forgot password?' link in primary color
623. **Actions:** Full-width 'Sign In' primary button, 'Or continue with' divider, Google and Apple OAuth pill buttons
634. **Footer:** 'New here? Create account' link
64```
6566---
6768## Path B — Design Spec + request → structured prompt
6970**When to use:** Called from the orchestrator with a Design Spec JSON from `stitch-ui-design-spec-generator`.
7172**Input:**
73- `designSpec` — JSON from `stitch-ui-design-spec-generator`
74- `userRequest` — the original user request or screen description
75- `designMd` (optional) — Section 6 content from `DESIGN.md` if available
7677**Construction logic (build in this order):**
7879### 1. Context & Style block
80```
81[deviceType] [designMode] [screen type] for [product/domain].
82[styleKeywords joined as adjectives] aesthetic. [colorVariant] color palette.
83[theme] mode.
84Background: [backgroundDark or backgroundLight based on theme] — [backgroundLight] for light, [backgroundDark] for dark.
85Primary: [primaryColor] ([color name]).
86Headline font: [headlineFont]. Body font: [bodyFont]. Label font: [labelFont].
87Roundness: [roundness]. Spacing: [spacingScale description].
88```
8990**colorVariant descriptors for the prompt:**
91- MONOCHROME → "monochromatic, single-hue palette"
92- NEUTRAL → "subdued neutral palette"
93- TONAL_SPOT → "tonal spot accents on neutral base"
94- VIBRANT → "vibrant, bold color palette"
95- EXPRESSIVE → "expressive, multicolor palette"
96- FIDELITY → "high-fidelity brand color matching"
97- CONTENT → "content-adaptive palette"
98- RAINBOW / FRUIT_SALAD → "colorful, playful palette"
99100**spacingScale descriptors:**
101- 0 → "minimal spacing, data-dense"
102- 1 → "compact spacing"
103- 2 → "comfortable spacing"
104- 3 → "spacious, breathing layout"
105106**When an existing project's DesignTheme is available** (passed from orchestrator with `designMd`):
107Include relevant design rules from `designMd` in the context block — typography philosophy, color usage rules, component patterns, and do's/don'ts. This ensures new screens match the established design system.
108109### 2. Layout Structure block
110Derive from deviceType and screen type:
111112| Device + Screen type | → Layout pattern |
113|---|---|
114| MOBILE + list/feed | Vertical scroll, sticky header, bottom nav |
115| MOBILE + form/auth | Centered stack, full-width inputs, sticky CTA |
116| MOBILE + detail | Hero image top, info below, sticky action bar |
117| DESKTOP + dashboard | Left sidebar nav, top bar, main content area |
118| DESKTOP + landing | Full-width hero, sections, sticky top nav |
119| DESKTOP + data table | Top filters, main grid/table, pagination footer |
120| TABLET + any | Hybrid layout, 2-column grid, side panel optional |
121122### 3. Components block
123Be specific. Replace generic descriptions with named UI patterns:
124125| ❌ Generic | ✅ Specific |
126|---|---|
127| "A form" | "Email input field with inline validation, password input with eye icon toggle" |
128| "Some buttons" | "Primary 'Continue' CTA button (full-width on mobile), ghost 'Back' link" |
129| "Navigation" | "Top navigation bar with logo left, links center (Features, Pricing, About), 'Sign up' button right" |
130| "Cards" | "3-column grid of cards: thumbnail image, title, description, category tag, CTA link" |
131132### 4. Content block
133Always use realistic content — **never Lorem Ipsum, never "Item 1/2/3"**:
134- Names: real-sounding (Emma, Jack, Sarah)
135- Prices: realistic ($24.99, $1,200/mo)
136- Titles: descriptive ("Revenue Growth Q3", "Active Users — Last 30 days")
137- Dates: realistic (Nov 2024, 3 days ago)
138139**Path B output format (strict — must use exactly this):**
140```
141[Context block]
142143[Layout block]
144145[Components block]
146```
147148**Path B example (dashboard from SaaS spec):**
149150Input spec:
151```json
152{
153 "theme": "LIGHT",
154 "primaryColor": "#6366F1",
155 "headlineFont": "DM_SANS",
156 "bodyFont": "DM_SANS",
157 "labelFont": "IBM_PLEX_SANS",
158 "colorVariant": "TONAL_SPOT",
159 "roundness": "ROUND_EIGHT",
160 "spacingScale": 1,
161 "backgroundLight": "#FFFFFF",
162 "backgroundDark": "#18181B",
163 "density": "COMPACT",
164 "designMode": "HIGH_FIDELITY",
165 "styleKeywords": ["Productivity", "SaaS", "Structured"],
166 "deviceType": "DESKTOP"
167}
168```
169170Output prompt:
171```
172Desktop High-Fidelity analytics dashboard. Productivity SaaS aesthetic. Tonal spot accents on neutral base. Light mode. Background: White (#FFFFFF). Primary: Indigo (#6366F1). Headline font: DM Sans. Body font: DM Sans. Label font: IBM Plex Sans. Roundness: 8px. Compact spacing, data-dense layout.
173174Left sidebar navigation (200px wide): Logo top-left, nav items with icons (Overview, Projects, Team, Billing, Settings), user avatar and name at the bottom. Main content: Top bar with 'Good morning, Sarah' and date. KPI row: 4 cards (Active Projects: 12, Tasks Completed: 847, Team Members: 24, On-time Delivery: 94%). Main chart: 'Velocity' line chart (last 30 days). Bottom split: 'Recent Activity' feed left, 'Upcoming Deadlines' list right.
175176KPI cards: indigo number, grey label (IBM Plex Sans), subtle upward trend arrow in green. Line chart: indigo primary line, grey grid, hover tooltip. Activity feed: avatar, action text, timestamp. Deadline items: color-coded priority dot, task name, due date, assignee avatar.
177```
178179---
180181## Quality rules
182183- **No Lorem Ipsum** — ever
184- **Name the components** — "floating action button", not "button at bottom"
185- **Specify color roles** — "primary indigo (#6366F1) for CTAs", not "blue buttons"
186- **Specify layout dimensions when critical** — "200px sidebar", "full-width hero (100vh)"
187- **Include interaction states** — "hover state on cards", "active nav item highlighted"
188- **Match content to device** — large touch targets on mobile, dense info on desktop
189190---
191192## Prompt Quality Standard (Checklist)
193194Before sending any prompt to `generate_screen_from_text`, verify every item passes. If anything fails — re-run prompt assembly. Don't ship vague prompts.
195196### Required blocks
197198- [ ] **Project overview** — one paragraph covering: what it is, who it's for, visual style, and 2-3 key attributes. Not a sentence — a paragraph.
199- [ ] **Design system block** — must include all of these:
200 - Platform (Web / Mobile / Tablet)
201 - Theme (Light / Dark)
202 - Color scheme with `#hex` values (primary, secondary, background minimum)
203 - Typography with px sizes, font family, and weight (`Inter 16px/400 body, 24px/700 heading`)
204 - Component style: border radius, shadow depth, interaction style (filled, outlined, ghost)
205- [ ] **Per-section detail** — each area of the screen needs:
206 - Core function in one line ("user authentication with social login")
207 - Area breakdown: nav, hero, function area, actions, footer — with concrete elements and specific copy
208- [ ] **No vague placeholders** — every element must be concrete:
209 - ❌ "a button" → ✅ "primary CTA 'Sign In' `#6366F1` filled `rounded-lg`"
210 - ❌ "some navigation" → ✅ "top nav: logo left, [Features, Pricing, About] center, 'Get Started' button right"
211 - ❌ "a card section" → ✅ "3-column grid: 280px cards with 16px radius, thumbnail, title (18px/600), 2-line description, category tag"
212- [ ] **Layout + Components sections populated** — both must have named, specific entries. Empty sections = failed check.
213214### Gate rule
215216If any item above fails, **re-invoke the prompt architect** before calling `generate_screen_from_text`. Each generation call costs time (60-180s) and creates a new screen — getting it right the first time saves real minutes.
217218## References
219220- `references/KEYWORDS.md` — Component terms, adjective palettes, color role vocabulary
Run npx skillmds add majiayu000/stitch-ui-prompt-architect in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Builds Stitch-ready prompts via two paths — Path A enhances vague ideas into polished prompts, Path B merges a Design Spec JSON + user request into a structured [Context] [Layout] [Components] prompt. It is listed under AI & ML on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Capability flags: reads secrets. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
majiayu000 (@majiayu000) published this skill. Their other Agent Skills are listed on their SkillMD profile.