From mk
Applies production-grade UI/UX design with anti-AI-slop enforcement, covering typography, color, accessibility, and responsive layout for React/TypeScript components.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mk:frontend-designWhen to use
Use when replicating a mockup/screenshot or building React/TS components with best practices. NOT for design-system audits (see mk:ui-design-system).
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Production-grade UI/UX design with anti-AI-slop enforcement. Covers aesthetics, accessibility, typography, color, motion, responsive, and design tokens.
Production-grade UI/UX design with anti-AI-slop enforcement. Covers aesthetics, accessibility, typography, color, motion, responsive, and design tokens.
Auto-activate on: Design tasks, UI component styling, "make it look good", "improve the design", "fix the UI", "design review", design system work, CSS/styling changes
Explicit: /mk:frontend-design [concern]
Do NOT invoke for: Vue patterns (use mk:vue), TypeScript (use mk:typescript), backend code, API integration
Operates in Phase 3 (Build GREEN) and Phase 4 (Review) for design quality checks. Output supports the developer agent (Phase 3) or reviewer agent (Phase 4).
references/design-rules.mdEvery design output MUST pass these checks:
| Category | Anti-Pattern (NEVER) | Do Instead |
|---|---|---|
| Typography | System font stack only, single weight | 2-3 weights, intentional font pairing (use mk:ui-design-system/assets/typography.csv) |
| Typography | All text same size/weight | Clear hierarchy: display → heading → body → caption |
| Typography | Inter as default font | Choose font from typography.csv matching project mood |
| Color | Pure black (#000) on pure white (#fff) | Softened: #111827 on #fafafa or similar |
| Color | Rainbow of unrelated colors | 1 primary + 1 accent + neutrals (use mk:ui-design-system/assets/colors.csv) |
| Color | Purple gradient as hero background | Use brand-appropriate gradient or solid color |
| Layout | Centered everything, card grid with equal spacing | Asymmetric layouts, intentional whitespace variation |
| Layout | Default padding/margin everywhere | Design tokens: consistent spacing scale (4px base) |
| Layout | 3-column equal card grid | Vary card sizes, use bento grid, or 2-column with feature highlight |
| Content | "Lorem ipsum" in final delivery | Real or realistic content |
| Content | "John Doe", "[email protected]" placeholders | Diverse, realistic names and data |
| Effects | Gratuitous shadows, gradients, blur | Subtle shadows (0 1px 3px), purposeful gradients |
| Effects | Parallax on every section | Reserve motion for hero or key CTA; respect prefers-reduced-motion |
| Components | Default browser inputs/buttons | Styled components with clear states (hover, focus, disabled) |
| Components | Unstyled select/checkbox/radio | Custom-styled form controls with accessibility preserved |
| Icons | Emoji as functional icons | SVG icons from consistent library (Lucide, Heroicons, Phosphor) |
| Images | Stock photo hero banners | Custom illustrations, product screenshots, or abstract art |
| Performance | Unoptimized images, layout shift | Next-gen formats (WebP/AVIF), explicit dimensions, skeleton loaders |
| Dark Mode | Just invert colors | Separate dark palette with reduced brightness, maintain contrast ratios |
## Design: {component or page}
**Type:** {new design | redesign | review | responsive fix}
**Framework:** {Vue | React | vanilla CSS}
### Design Decisions
{numbered list of design choices with reasoning}
### Anti-Slop Check
{✓/✗ per category from checklist}
### Accessibility
- Contrast ratio: {value} (min 4.5:1)
- Keyboard navigable: {yes/no}
- Screen reader labels: {present/missing}
### Files Modified
{list of CSS/component files}
| Reference | When to load | Content |
|---|---|---|
| design-rules.md | Steps 2-3 | Typography, color, spacing, motion, responsive rules |
| anti-slop-directives.md | During UI implementation | 7 generic patterns to avoid + positive alternatives + identity test |
| Failure | Recovery |
|---|---|
| No design system in project | Apply sensible defaults (neutral palette, system fonts with fallbacks) |
| Contrast ratio below 4.5:1 | Adjust colors — never ship inaccessible UI |
| Anti-slop check fails | Fix failing items before delivery |
\text-${size}-bold`) are not detected by Tailwind's content scanner and are stripped from the production CSS bundle; use complete class strings in source or add them to the safelistintailwind.config.js`.--primary, --card, --muted etc. from its own token set; if the project's design system uses different variable names (e.g. --brand-primary), components render with the wrong colors silently; audit globals.css token names against shadcn's expected token list after every shadcn add command.Colors/Brand/Primary exports as colors-brand-primary in Style Dictionary but shadcn and Tailwind expect --primary; manually map or configure the transformer, never assume the export name matches the CSS var name.dark: variant class without defining the corresponding CSS variable in the .dark scope makes the element transparent (variable resolves to empty); always verify every token used in light mode has an explicit dark-mode override in the theme.md: 768px clashes with some design systems that use md: 960px; responsive layouts built from Figma specs at 960px will reflow at the wrong breakpoint; override breakpoints in tailwind.config.js to match the design system before implementing responsive styles.lucide-react icons in a Vue project (instead of lucide-vue-next) compiles without error but icons render as empty elements because the React component returns JSX that Vue ignores; always verify the framework-specific package is used.On completion → reviewer agent for Phase 4 design dimension check.
npx claudepluginhub ngocsangyem/meowkit --plugin mkBuilds accessible, responsive, performant frontend components using design systems, modern CSS, WCAG patterns, and React/Vue/Svelte examples.
Senior-level UI/UX design expert for building data-driven, premium production interfaces. Use when you need to: 1. Design complex applications (dashboards, SaaS, AI tools) from scratch 2. Generate comprehensive design systems (tokens, palettes, typography) 3. Audit existing UI for quality, accessibility, and "craft" 4. Search for proven real-world design patterns and implementation details Trigger: "design a...", "audit this...", "create a design system", "find icons", "fintech dashboard", "landing page"
Designs and builds distinctive production-grade frontend UIs with high aesthetic intentionality. For new web UIs, visual redesigns, or themed components in React/Vue/Svelte/HTML/CSS.