| name | design-html |
| description | Generates production-quality HTML/React components with proper text layout, responsive reflow, and content-driven heights. No hardcoded heights. Text reflows on resize. Framework-aware for React. |
| used_by | ["ui-designer","frontend-dev"] |
Design HTML Skill
This skill produces HTML/React that works like a real app, not a static mockup.
Rules — Non-negotiable
- NO hardcoded heights on text containers. Use
min-height if needed, never fixed height.
- NO
overflow:hidden on text. If text overflows, the container grows.
- ALL text containers use natural flow. Padding + content = height.
- Responsive breakpoints: 375px (mobile) → 768px (tablet) → 1024px (laptop) → 1440px (desktop)
- All components MUST render correctly at every breakpoint — verify by resizing.
- Use CSS Grid or Flexbox for layout. Never use absolute positioning for content layout.
- All interactive elements have hover, focus, and active states.
- All images have explicit
width/height or aspect-ratio to prevent CLS.
React Component Pattern (standard)
import React from 'react';
interface [Component]Props {
}
export function [Component]({ ...props }: [Component]Props) {
if (isLoading) return <[Component]Skeleton />;
if (error) return <[Component]Error error={error} onRetry={refetch} />;
if (!data?.length) return <[Component]Empty onAction={handleCreate} />;
return (
<div className="[component] [responsive-classes]">
{/* Content that reflows naturally */}
</div>
);
}
function [Component]Skeleton() {
return (
<div className="animate-pulse">
{/* Match the shape of the real content */}
</div>
);
}
Typography Scale
Load design-system/MASTER.md and use the defined type scale. Never invent font sizes.
Spacing Scale
Use the defined spacing tokens. Never use arbitrary pixel values.
Locale-Specific Patterns
- Use logical CSS properties (
margin-inline-start, not margin-left) for RTL readiness if applicable
- Currency, phone, and date formats should match the project's target locale
- Use
Intl.NumberFormat and Intl.DateTimeFormat for locale-aware formatting
Verification Checklist
Before handing off any HTML/React component: