Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add mae616/design-skills --skill "frontend-implementation"
Install specific skill from multi-skill repository
# Description
Translate designs and UI requirements into robust, extensible implementations. Apply when converting designs to code, implementing components, fixing broken UI, or handling responsive layouts.
# SKILL.md
name: frontend-implementation
description: Translate designs and UI requirements into robust, extensible implementations. Apply when converting designs to code, implementing components, fixing broken UI, or handling responsive layouts.
user-invocable: false
metadata:
tags: frontend, implementation, design-to-code, responsive, css, layout
Frontend Implementation Skill
When to Apply
Apply this skill when the request involves:
- UI implementation, design-to-code, Figma to code, component implementation, styling, responsive design, fixing broken UI
- UI実装、デザインから実装、Figmaから実装、コンポーネント実装、スタイル調整、レスポンシブ対応、UIの崩れ修正
- Translating any design tool output (Figma/Pencil/Canva/sketches) to code
Core Principles
- Goal is not pixel-perfect copying, but maintaining ratios, alignment, resilience, and consistency.
- Translate, don't transcribe. Design tool values (px) are references; implementation uses scales, ratios, and structure.
- Fixed values are exceptions. If using fixed values, articulate why (spec requirement, media, tap target, etc.).
Design Philosophy (Decision Rules)
- UI is a set of constraints, not a picture. Include states (loading/error/empty/disabled) to be complete.
- Don't create alignment with margin tweaks. Use structure (flex/grid) and
gap. - Avoid fixed heights. Consider
min/max/overflowfirst. - Typography is role-based. Don't proliferate by copying values.
- Handle exceptions upfront. Long text, zero items, failures, delays—no afterthoughts.
- Articulate design intent first (what to emphasize, how to guide the eye), then create structure that preserves it.
- Width follows the viewport. UI should adapt to screen width (SCALE/FILL intent); don't just crop from the left.
Translation Process (Design Tool → Code)
1) Read Intent Before Numbers
- Purpose (what should users understand/do first on this screen)
- Visual flow (first → second → last thing to see)
- Emphasis (hero / supporting / background elements)
- Hierarchy (parent-child, groupings)
- Stretch/state intent (Auto Layout / Constraints / Variants)
- Spacing rules (gap/padding patterns)
- Alignment (what aligns to what)
- Variable elements (text length, list count, image ratio, input values)
2) Convert to Implementation
- px → Round to scale (e.g., 4/8/12/16/24/32/40/48)
- font-size → Map to roles (heading/body/caption)
- Local margin tweaks → Convert to layout structure (flex/grid/gap, clarify parent-child responsibilities)
- Fixed width/height → Convert to constraints (min/max, wrap, ellipsis, overflow)
- Width design → Separate background/container/content responsibilities
3) Alignment Decisions
When to align:
- Repeated elements (cards/lists/forms) for comparison
- Main column (body/primary input/CTA) for clear visual path
- Reducing confusion (admin panels, settings, heavy input screens)
When breaking alignment is acceptable:
- Intentionally floating a hero element
- Emphasizing section boundaries
- Media/decoration as the focus (but ensure resilience)
Rules when breaking alignment:
- Keep at least one baseline
- Limit offset patterns to 1-2
- On narrow viewports, favor alignment
4) Preserve Width Distribution (Weights)
- Width distribution IS visual guidance. Column weights (primary/secondary/tertiary) are intentional.
- Don't accidentally equalize. Applying
flex: 1to everything makes supporting elements as prominent as heroes. - Separate baseline alignment from width distribution. They can differ.
Implementation Guidelines
Typography
- Use
rem(orclamp()). Useemonly when relating to parent size. line-heightshould be unitless (e.g., 1.5–1.7).- Body text readability: aim for
max-width: 60ch.
Spacing
- Round to scale (avoid fractional values).
- Prefer parent's
gap/paddingover scattering margins on children.
Proportions
- Maintain look through ratios, not exact numbers (column width ratios, spacing steps, type scale).
- Prefer max-width + spacing rules over fixed widths.
Layout
- One-dimensional: flex. Two-dimensional: grid. Spacing: gap.
position: absoluteonly for overlays/decorations with clear purpose.- Images: preserve aspect ratio by default; use
aspect-ratiowhen needed.
Fixed Values (Exceptions)
- Icons, thumbnails, tap targets, spec-defined header heights, etc.
- Even for breakage prevention, consider
min/maxbefore going fixed.
States and Resilience (Required)
- Include: default / hover / active / focus / disabled / loading / error / empty
- Handle long text, zero items, network failure, delays from the start—no afterthoughts.
Output Format (Follow This Order)
- Purpose (what this UI achieves)
- Prerequisites (design input type, existing conventions, constraints)
- Translation results (hierarchy, alignment, spacing rules, variable elements)
- Implementation approach (layout structure, scale, exception conditions)
- State design (default/hover/active/focus/disabled/loading/error/empty)
- Checklist self-assessment (OK / needs work)
Checklist
- [ ] Has empty / loading / error states
- [ ] Has disabled conditions (prevent double-submit, invalid states)
- [ ] Doesn't break on long text (wrap/ellipsis/max-width/overflow)
- [ ] Has keyboard operation and visible focus
- [ ] Doesn't break on narrow/mobile viewports
- [ ] Spacing, typography, colors follow conventions (tokens/scale)
Common Pitfalls
- Pixel-perfect copying from design data, breaking on edge states and responsiveness
- Margin tweaks proliferating, becoming unmaintainable
- Prioritizing "visual match" while states (loading/error/empty) become afterthoughts
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.