---
name: oma-design
description: >
  AI design specialist skill with DESIGN.md management, anti-pattern enforcement,
  optional Stitch MCP integration, and component library guidance.
  Covers typography, color systems, motion design (motion/react, GSAP, Three.js),
  responsive-first layouts, and accessibility (WCAG 2.2).
---

# oma-design

## Scheduling

### Goal
Design specialist that defines, creates, and validates project design systems.
DESIGN.md is the central artifact — all design work revolves around it.

### Intent signature
- User asks for design system, `DESIGN.md`, visual direction, typography, color, motion, accessibility, anti-pattern review, or component guidance.
- User needs design decisions before frontend implementation or wants UI quality audited from a design perspective.

### When to use
- Defining or revising a project design system
- Creating or auditing `DESIGN.md`
- Selecting typography, color, layout, motion, or component direction
- Reviewing UI work for responsive behavior, accessibility, and visual quality
- Using optional vendor inspiration from Stitch MCP or getdesign

### When NOT to use
- Implementing frontend components or application UI -> use `oma-frontend`
- Planning product scope or task breakdown -> use `oma-pm`
- Backend, database, infrastructure, or mobile implementation -> use the relevant specialist skill
- General quality/security review outside visual, interaction, and accessibility concerns -> use `oma-qa`

### Expected inputs
- Product, brand, audience, platform, and UI/design problem
- Existing `.design-context.md`, `DESIGN.md`, screenshots, references, or component constraints
- Accessibility, responsive, language, and implementation constraints

### Expected outputs
- Design direction, revised `DESIGN.md`, audit findings, component guidance, or handoff notes
- Responsive-first, WCAG-aware design recommendations
- Optional vendor seed attribution when getdesign is used

### Dependencies
- `.design-context.md` and `DESIGN.md`
- Design resources, references, anti-pattern catalog, and optional Stitch/getdesign integrations
- shadcn/component library context when recommending components

### Control-flow features
- Branches by missing context, CJK language support, vendor seed availability, and anti-pattern audit results
- May read/write design docs and call optional design/vendor tooling
- Requires user confirmation before generation when multiple directions exist

## Structural Flow

### Entry
1. Check `.design-context.md`; if missing, run setup before design work.
2. Identify target audience, platform, content language, and design artifact.
3. Decide whether vendor inspiration or Stitch integration is relevant.

### Scenes
1. **PREPARE**: Load design context and constraints.
2. **ACQUIRE**: Extract existing design signals, references, and anti-pattern risks.
3. **REASON**: Propose directions, typography, color, layout, motion, and accessibility choices.
4. **ACT**: Generate or revise `DESIGN.md` and related guidance.
5. **VERIFY**: Audit responsive behavior, WCAG, Nielsen heuristics, and AI-slop patterns.
6. **FINALIZE**: Handoff design decisions and attribution where required.

### Transitions
- If `.design-context.md` is missing, create it before continuing.
- If CJK support is needed, prioritize CJK-ready fonts.
- If vendor seed fetch fails, choose retry, continue without seed, or abort.
- If anti-patterns appear, surface alternatives before finalizing.

### Failure and recovery
- If design context is insufficient, ask for one focused clarification or propose assumptions.
- If vendor inspiration is unavailable, continue with local design synthesis.
- If accessibility checks fail, revise before handoff.

### Exit
- Success: design artifact is project-specific, responsive-first, accessible, and audit-ready.
- Partial success: missing context, vendor failure, or open design decision is explicit.

## Logical Operations

### Actions
| Action | SSL primitive | Evidence |
|--------|---------------|----------|
| Read design context | `READ` | `.design-context.md`, `DESIGN.md`, references |
| Select design direction | `SELECT` | 2-3 directions and recommended option |
| Infer visual system | `INFER` | Typography, color, layout, motion |
| Call optional tooling | `CALL_TOOL` | Stitch/getdesign/shadcn when relevant |
| Write design artifact | `WRITE` | `DESIGN.md` or audit output |
| Validate design quality | `VALIDATE` | Checklist, WCAG, anti-patterns |
| Report handoff | `NOTIFY` | Final design summary |

### Tools and instruments
- Design references, anti-pattern catalog, checklist, Stitch integration, getdesign fetcher
- shadcn CLI recommendations when component guidance is needed

### Canonical workflow path
```text
1. Check `.design-context.md`; create it if missing.
2. Produce 2-3 design directions and get confirmation.
3. Generate or revise `DESIGN.md`, then run the design checklist.
```

Optional vendor seed discovery:
```bash
bunx getdesign@latest list
```

### Resource scope
| Scope | Resource target |
|-------|-----------------|
| `LOCAL_FS` | `.design-context.md`, `DESIGN.md`, design resources |
| `CODEBASE` | Existing UI and component patterns |
| `NETWORK` | Optional getdesign/vendor references |
| `PROCESS` | Optional CLI/tool invocations |

### Preconditions
- Target design problem and artifact are identifiable.
- Design context exists or setup can create it.

### Effects and side effects
- May create or modify `DESIGN.md` and design context artifacts.
- May fetch vendor seed material and append MIT attribution.
- Does not implement frontend code directly.

### Guardrails
1. Check `.design-context.md` before any design work. If missing, run Phase 1 (Setup) to create it.
2. System font stack as default (`system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif`). Add custom fonts only with project justification.
3. If the service supports CJK languages (ko/ja/zh): prioritize CJK-ready fonts (Pretendard Variable > Noto Sans CJK > system-ui fallback). If latin-only: choose fonts appropriate for the target audience.
4. Enforce anti-patterns strictly — reject AI slop. See `resources/anti-patterns.md`.
5. Name colors semantically with hex values: "Deep Ocean Navy (#1a2332)" not "dark blue".
6. Recommend components with install commands (shadcn CLI).
7. ALL output must be responsive-first (mobile layout as default, enhance upward).
8. WCAG AA minimum for all designs. Respect `prefers-reduced-motion`.
9. Stitch MCP is optional — all phases work without it.
10. Present 2-3 design directions and get user confirmation before generating.

### Anti-Pattern Quick Reference

### Typography
- DON'T: Default to custom Google Fonts when system fonts suffice
- DON'T: Use Inter/Geist alone without considering project context
- DON'T: Load 3+ font families without justification
- DON'T: Body text below 16px on mobile
- DO: System font stack first, custom fonts for brand identity only
- DO: Test CJK at every size (line-height 1.7-1.8)

### Color & Gradient
- DON'T: Purple-to-blue gradient backgrounds (strongest AI slop signal)
- DON'T: Gradient orbs/blobs as hero decoration ("AI SaaS look")
- DON'T: Gradient + glassmorphism + blur combo (triple slop)
- DON'T: Mesh gradient backgrounds as primary visual
- DON'T: Pure white (#fff) on pure black (#000) — too harsh
- DO: Solid colors or subtle single-hue gradients
- DO: Texture (noise, grain, dither) over plain gradients
- DO: Derive gradients from brand colors with clear purpose

### Layout
- DON'T: Nested cards inside nested cards
- DON'T: Desktop-only fixed-width layouts
- DON'T: Hero with identical 3-metric stats layout (AI pattern)
- DO: 8px grid, consistent section rhythm
- DO: Responsive-first, works at 375px minimum
- DO: Mix layout patterns (chess, grid, bento, full-bleed)

### Motion
- DON'T: Bounce easing on everything
- DON'T: Animation duration > 800ms for UI transitions
- DON'T: Ignore prefers-reduced-motion
- DO: transform + opacity only for 60fps
- DO: 150ms micro-interactions, 200-500ms transitions

### Components
- DON'T: Glassmorphism everywhere — use sparingly
- DON'T: Hover-only interactions without touch/keyboard alternatives
- DO: shadcn/ui for base, Aceternity UI / React Bits for accent effects
- DO: All interactive elements must have visible focus states

### Workflow Summary
7 phases: Setup → Extract → Enhance → Propose → Generate → Audit → Handoff.
See `resources/execution-protocol.md` for full detail.

### Vendor Inspiration (getdesign)

Phase 2 can optionally seed from the community
[getdesign](https://getdesign.md) catalog
([VoltAgent/awesome-design-md](https://github.com/VoltAgent/awesome-design-md),
MIT). Trigger it by listing a supported vendor domain in the
`## Reference Sites` section of your `.design-context.md`:

```markdown
## Reference Sites
- [linear.app](https://linear.app) — clean dark UI, minimal, professional
- [stripe.com](https://stripe.com) — strong hierarchy, purposeful animation
```

Any domain that matches a brand in the getdesign manifest triggers an
automatic fetch + hash-verify + load during Phase 2. No new fields, no
extra config. Full vendor list: see `bunx getdesign@latest list`
(telemetry is always disabled by oma-design).

**Seed, not final.** oma-design treats vendor templates as inspiration
and synthesizes a project-specific DESIGN.md around them. Importantly:
- **Typography is never adopted from the seed.** Rule #2 (system font
  stack default) and Rule #3 (Pretendard Variable / Noto Sans CJK for
  ko/ja/zh) always win over the vendor's latin-only fonts.
- **Anti-patterns are pre-audited** before synthesis. If a vendor uses
  heavy glassmorphism or purple gradients, Phase 4 will surface the
  choice explicitly rather than copy the pattern silently.
- **Offline is fine.** If the fetch fails, you get a 3-option dialog
  (retry / continue without seed / abort). Default: continue.

Attribution is appended to the generated `DESIGN.md` in Phase 7 as a
required MIT compliance footer. Full fetcher rules, matching algorithm,
injection defenses, and multi-vendor merge policy live in
`resources/getdesign-fetcher.md`.

### Resources
- `resources/execution-protocol.md` — 7-phase workflow
- `resources/anti-patterns.md` — Full DO/DON'T catalog
- `resources/checklist.md` — Audit checklist (Responsive + WCAG + Nielsen + Slop)
- `resources/design-md-spec.md` — DESIGN.md generation guide (9 sections)
- `resources/design-tokens.md` — CSS/Tailwind/shadcn export templates
- `resources/prompt-enhancement.md` — Vague request → detailed spec
- `resources/stitch-integration.md` — Stitch MCP tool mapping (optional)
- `resources/getdesign-fetcher.md` — Vendor seed fetch, hash verify, seed rules
- `resources/error-playbook.md` — Design error recovery

## References
- `reference/visual-hierarchy.md` — 7 hierarchy principles (Alignment, Color, Contrast, Proximity, Size, Texture, Time)
- `reference/typography.md` — Font selection, type scale, CJK
- `reference/color-and-contrast.md` — Color psychology, WCAG contrast
- `reference/spatial-design.md` — 8px grid, breakpoints, spacing
- `reference/motion-design.md` — motion/react, GSAP, Three.js, ogl, Temporal UX
- `reference/responsive-design.md` — Mobile-first, theme system
- `reference/component-patterns.md` — shadcn/Aceternity/React Bits catalog
- `reference/accessibility.md` — WCAG 2.2, ARIA, focus, reduced-motion
- `reference/shader-and-3d.md` — WebGL, R3F, ogl, performance

### Examples
- `examples/design-context-example.md` — .design-context.md example
- `examples/landing-page-prompt.md` — Detailed landing page prompt
