ux-brief
Create junior-dev-ready design systems through guided discovery before implementation
What this skill does
# Design System Generator
Create comprehensive, junior-dev-ready design system documents through guided discovery.
## Design Target
<design_target> $ARGUMENTS </design_target>
**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:
1. Check for existing design tokens (tailwind.config.js, CSS variables)
2. Look at existing UI components for patterns
3. Identify tech stack (React, Vue, Rails/Hotwire, vanilla)
4. 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
1. **Purpose & Goals** - What is this UI trying to achieve?
2. **Target Audience** - Who will use this interface?
3. **Aesthetic Direction** - Pick one: Brutalist, Minimalist, Maximalist, Luxury, Playful, Retro-futuristic
4. **Typography** - Display and body font preferences
5. **Color Palette** - Primary brand color, light/dark theme, accent strategy
6. **Motion & Interaction** - Animation intensity (none, subtle, dramatic)
7. **Inspiration & References** - Sites they admire (Stripe, Linear, Vercel, etc.)
8. **Technical Constraints** - Browser support, performance, accessibility (WCAG level)
9. **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)
10. **Photography style** - "What mood should photos convey?"
- Options: Authentic/candid, Editorial/staged, Abstract/artistic, Product-focused, People-focused
11. **Illustration style** - "Do you need illustrations? If so, what style?"
- Options: None needed, Geometric/clean, Organic/hand-drawn, Isometric/3D, Flat/minimal
12. **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:
1. Fetch the site using WebFetch
2. Identify: typography, color palette, layout patterns, animation, unique details
3. 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:
1. **`Skill("blueprint")`** - Automatically detects UI features and references design system
2. **`Skill("build-task")`** - Loads design system as context
3. **`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
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.