Design System Generator
Create comprehensive, junior-dev-ready design system documents through guided discovery.
Design Target
$ARGUMENTS
If empty, ask: "What would you like to design? Describe the component, page, or feature."
Phase 0: Interview Option (Optional)
For complex features where requirements are unclear, offer a deep interview first:
AskUserQuestion: "This design could benefit from a requirements interview to clarify goals and constraints. Would you like to explore it in depth first?"
Options:
- "Yes, interview me first" → Skill(skill: "majestic-tools:workflows:interview", args: "[design target]"), then use refined output
- "No, proceed to design discovery" → Continue to Phase 1
When to suggest interview:
- Design target is vague (e.g., "dashboard", "admin panel")
- Multiple user types or stakeholders involved
- Business goals not clearly stated
- User seems uncertain about what they want
Skip interview suggestion for:
- Specific components with clear scope (e.g., "login form", "settings page")
- When user has existing specs/mockups
- Iteration on existing designs
Phase 1: Context Gathering
Before asking questions, understand the project:
- Check for existing design tokens (tailwind.config.js, CSS variables)
- Look at existing UI components for patterns
- Identify tech stack (React, Vue, Rails/Hotwire, vanilla)
- Check for style guides or brand documentation
Phase 2: Discovery Questions
Ask questions ONE AT A TIME. Prefer multiple choice when options are bounded.
Question Areas
- Purpose & Goals - What is this UI trying to achieve?
- Target Audience - Who will use this interface?
- Aesthetic Direction - Pick one: Brutalist, Minimalist, Maximalist, Luxury, Playful, Retro-futuristic
- Typography - Display and body font preferences
- Color Palette - Primary brand color, light/dark theme, accent strategy
- Motion & Interaction - Animation intensity (none, subtle, dramatic)
- Inspiration & References - Sites they admire (Stripe, Linear, Vercel, etc.)
- Technical Constraints - Browser support, performance, accessibility (WCAG level)
- Framework (REQUIRED) - Based on tech_stack, suggest:
rails → DaisyUI + Tailwind
react → Tailwind or styled-components
- Default → Plain Tailwind
Visual Language Questions (if comprehensive design system needed)
Photography style - "What mood should photos convey?"
- Options: Authentic/candid, Editorial/staged, Abstract/artistic, Product-focused, People-focused
Illustration style - "Do you need illustrations? If so, what style?"
- Options: None needed, Geometric/clean, Organic/hand-drawn, Isometric/3D, Flat/minimal
Iconography - "What icon style fits your brand?"
- Options: Outlined (Heroicons), Filled (solid), Duotone (Phosphor), Custom/branded
Question Guidelines
- ONE question per turn
- Multiple choice preferred
- Skip obvious questions from context
- Summarize every 2-3 questions
- Research references - if user mentions a site, fetch it
Phase 3: Reference Research
When user mentions reference sites:
- Fetch the site using WebFetch
- Identify: typography, color palette, layout patterns, animation, unique details
- Present findings to confirm what resonates
Common References
- Stripe: Clean gradients, depth, premium, documentation excellence
- Linear: Dark themes, minimal, focused, developer-oriented
- Vercel: Typography-forward, confident whitespace
- Notion: Friendly, approachable, illustration-forward
- Raycast: Dark, utility-focused, keyboard-first
Phase 4: Design System Generation
Load the design system template directly:
Read(file_path="references/design-system-template.md")
Then customize it with the user's specific choices:
- Replace all
[placeholder] values with actual design decisions
- Fill in color hex values based on palette
- Configure typography choices
- Customize component specifications
- Add project-specific do's and don'ts
Write the completed design system to docs/design/design-system.md.
Design principles applied during generation:
- Junior-dev ready: Document should be so complete that no follow-up questions are needed
- Copy-paste ready: All classes, values, and configs should be directly usable
- Commit to a direction: Avoid wishy-washy "a bit of everything" designs
- Avoid AI slop: No Inter font, no purple gradients, no predictable layouts
Phase 5: Save & Configure
Step 1: Determine Output Path
Check .agents.yml for design_system_path, default to docs/design/design-system.md.
Step 2: Auto-Preview Check
AUTO_PREVIEW = config_read("auto_preview", "false")
If AUTO_PREVIEW is "true": Execute open <design-system-path>
Step 3: Present Options
Use AskUserQuestion:
If NOT auto-previewed:
- Preview in editor
- Start building (Recommended) - Invoke
skill frontend-design
- Refine sections
- Research more
If auto-previewed:
- Start building (Recommended)
- Refine sections
- Research more
Integration with Workflow
After completing the design system:
Skill("blueprint") - Automatically detects UI features and references design system
Skill("build-task") - Loads design system as context
visual-validator - Verifies implementation against specifications
Key Principles
- Commit to a direction - Avoid wishy-washy designs
- Avoid AI slop - No Inter font, no purple gradients
- Research references - Actually look at sites users mention
- Be opinionated - Push back on generic choices
- Junior-dev ready - Document so complete no follow-up needed
- Copy-paste ready - All classes and configs directly usable
1---2name: ux-brief3description: Create junior-dev-ready design systems through guided discovery before implementation4---56# Design System Generator78Create comprehensive, junior-dev-ready design system documents through guided discovery.910## Design Target1112<design_target> $ARGUMENTS </design_target>1314**If empty, ask:** "What would you like to design? Describe the component, page, or feature."1516## Phase 0: Interview Option (Optional)1718For complex features where requirements are unclear, offer a deep interview first:1920```21AskUserQuestion: "This design could benefit from a requirements interview to clarify goals and constraints. Would you like to explore it in depth first?"22Options:23- "Yes, interview me first" → Skill(skill: "majestic-tools:workflows:interview", args: "[design target]"), then use refined output24- "No, proceed to design discovery" → Continue to Phase 125```2627**When to suggest interview:**28- Design target is vague (e.g., "dashboard", "admin panel")29- Multiple user types or stakeholders involved30- Business goals not clearly stated31- User seems uncertain about what they want3233**Skip interview suggestion for:**34- Specific components with clear scope (e.g., "login form", "settings page")35- When user has existing specs/mockups36- Iteration on existing designs3738## Phase 1: Context Gathering3940Before asking questions, understand the project:41421. Check for existing design tokens (tailwind.config.js, CSS variables)432. Look at existing UI components for patterns443. Identify tech stack (React, Vue, Rails/Hotwire, vanilla)454. Check for style guides or brand documentation4647## Phase 2: Discovery Questions4849Ask questions **ONE AT A TIME**. Prefer multiple choice when options are bounded.5051### Question Areas52531. **Purpose & Goals** - What is this UI trying to achieve?542. **Target Audience** - Who will use this interface?553. **Aesthetic Direction** - Pick one: Brutalist, Minimalist, Maximalist, Luxury, Playful, Retro-futuristic564. **Typography** - Display and body font preferences575. **Color Palette** - Primary brand color, light/dark theme, accent strategy586. **Motion & Interaction** - Animation intensity (none, subtle, dramatic)597. **Inspiration & References** - Sites they admire (Stripe, Linear, Vercel, etc.)608. **Technical Constraints** - Browser support, performance, accessibility (WCAG level)619. **Framework** (REQUIRED) - Based on tech_stack, suggest:62 - `rails` → DaisyUI + Tailwind63 - `react` → Tailwind or styled-components64 - Default → Plain Tailwind6566### Visual Language Questions (if comprehensive design system needed)676810. **Photography style** - "What mood should photos convey?"69 - Options: Authentic/candid, Editorial/staged, Abstract/artistic, Product-focused, People-focused707111. **Illustration style** - "Do you need illustrations? If so, what style?"72 - Options: None needed, Geometric/clean, Organic/hand-drawn, Isometric/3D, Flat/minimal737412. **Iconography** - "What icon style fits your brand?"75 - Options: Outlined (Heroicons), Filled (solid), Duotone (Phosphor), Custom/branded7677### Question Guidelines7879- **ONE question per turn**80- **Multiple choice preferred**81- **Skip obvious questions** from context82- **Summarize every 2-3 questions**83- **Research references** - if user mentions a site, fetch it8485## Phase 3: Reference Research8687When user mentions reference sites:88891. Fetch the site using WebFetch902. Identify: typography, color palette, layout patterns, animation, unique details913. Present findings to confirm what resonates9293### Common References9495- **Stripe**: Clean gradients, depth, premium, documentation excellence96- **Linear**: Dark themes, minimal, focused, developer-oriented97- **Vercel**: Typography-forward, confident whitespace98- **Notion**: Friendly, approachable, illustration-forward99- **Raycast**: Dark, utility-focused, keyboard-first100101## Phase 4: Design System Generation102103Load the design system template directly:104105```106Read(file_path="references/design-system-template.md")107```108109Then customize it with the user's specific choices:110111- Replace all `[placeholder]` values with actual design decisions112- Fill in color hex values based on palette113- Configure typography choices114- Customize component specifications115- Add project-specific do's and don'ts116117Write the completed design system to `docs/design/design-system.md`.118119**Design principles applied during generation:**120- **Junior-dev ready**: Document should be so complete that no follow-up questions are needed121- **Copy-paste ready**: All classes, values, and configs should be directly usable122- **Commit to a direction**: Avoid wishy-washy "a bit of everything" designs123- **Avoid AI slop**: No Inter font, no purple gradients, no predictable layouts124125## Phase 5: Save & Configure126127### Step 1: Determine Output Path128129Check `.agents.yml` for `design_system_path`, default to `docs/design/design-system.md`.130131### Step 2: Auto-Preview Check132133AUTO_PREVIEW = config_read("auto_preview", "false")134135If AUTO_PREVIEW is "true": Execute `open <design-system-path>`136137### Step 3: Present Options138139Use AskUserQuestion:140141**If NOT auto-previewed:**142- Preview in editor143- Start building (Recommended) - Invoke `skill frontend-design`144- Refine sections145- Research more146147**If auto-previewed:**148- Start building (Recommended)149- Refine sections150- Research more151152## Integration with Workflow153154After completing the design system:1551561. **`Skill("blueprint")`** - Automatically detects UI features and references design system1572. **`Skill("build-task")`** - Loads design system as context1583. **`visual-validator`** - Verifies implementation against specifications159160## Key Principles161162- **Commit to a direction** - Avoid wishy-washy designs163- **Avoid AI slop** - No Inter font, no purple gradients164- **Research references** - Actually look at sites users mention165- **Be opinionated** - Push back on generic choices166- **Junior-dev ready** - Document so complete no follow-up needed167- **Copy-paste ready** - All classes and configs directly usable