| name | design-dna |
| description | Extract, define, and apply design DNA across three dimensions: design system (tokens), design style (qualitative feel), and visual effects (Canvas, WebGL, 3D, particles, shaders, scroll effects, etc.). Use this skill when: (1) a user wants to see the full 3-dimension design structure/schema, (2) a user provides images, screenshots, or URLs of reference designs and wants them analyzed into a structured JSON profile covering all three dimensions, (3) a user has a Design DNA JSON and content and wants a design generated from it, or (4) any combination of these phases. Triggers on "design DNA", "extract design style", "analyze design", "design tokens from reference", "generate design from JSON", "design system from screenshot", "design profile", "style guide JSON", "visual effects analysis", "design with effects", "3d design analysis". |
Design DNA
A 3-phase workflow for extracting, structuring, and applying design identity across three dimensions:
- Design System — measurable tokens (color, typography, spacing, layout, shape, elevation, motion, components)
- Design Style — qualitative perception (mood, visual language, composition, imagery, interaction feel, brand voice)
- Visual Effects — special rendering (Canvas, WebGL, 3D, particles, shaders, scroll effects, cursor effects, SVG animations, glassmorphism, etc.)
Phases
Phase 1: Structure — Output the Schema
When the user asks for the structural dimensions or schema:
- Read references/schema.md
- Present the full schema with field descriptions
- Explain the three dimensions and their roles:
- design_system: What you can measure — exact hex values, pixel sizes, rem scales
- design_style: What you can feel — mood, personality, composition strategy
- visual_effects: What you can see but can't express in CSS alone — WebGL scenes, particle systems, shader distortions, scroll-driven animations
- Ask if the user wants to customize or extend any dimensions
Phase 2: Analyze — Extract DNA from References
When the user provides images, screenshots, or links representing a target design style:
- Read references/schema.md for the full field list
- For each reference provided:
- If image/screenshot: first run the deterministic color measurement (see below), then analyze the remaining visual properties directly
- If URL: fetch and analyze the page's visual design
- For every field in the schema, extract or infer a value from the references
- When multiple references conflict, note the dominant pattern and mention variants
- Output a complete Design DNA JSON — every field populated, no empty strings
- After output, ask: "Want to adjust any values before using this for generation?"
Analysis approach per dimension:
Dimension 1: design_system
Dimension 2: design_style
- Synthesize holistic impressions — mood, personality, composition strategy
- Compare against genre archetypes (SaaS, editorial, brutalist, etc.)
- Note ornamentation level and whitespace philosophy
Dimension 3: visual_effects
- From code: Scan for
<canvas>, WebGL contexts, Three.js/Pixi.js imports, GSAP/Lottie usage, custom shaders, IntersectionObserver scroll triggers, SVG <animate> elements
- From screenshots: Describe visible effects that go beyond standard CSS — glowing particles, 3D object renders, noise textures, gradient animations, parallax depth, cursor trails, text distortions, glassmorphic surfaces. Note these in
composite_notes when exact implementation can't be determined.
- From video/interaction demos: Note scroll behaviors, hover distortions, transition choreography, loading sequences
- Set
enabled: false for any effect category not present in the reference
- Rate
overview.effect_intensity and overview.performance_tier based on what's observed
Phase 3: Generate — Apply DNA to Content
When the user provides DNA JSON + content to design:
- Read references/generation-guide.md
- Parse the DNA JSON and extract all tokens across three dimensions
- Build CSS custom properties from
design_system values
- Apply
design_style qualitative fields to guide subjective design decisions
- When the design needs assets or source materials, fetch them from the original source whenever possible. If the user provided a URL, retrieve the real asset from that URL instead of recreating, approximating, or substituting it.
- Implement
visual_effects using appropriate technologies:
- Lightweight effects → CSS animations, SVG, vanilla JS
- Medium effects → Canvas 2D, GSAP, Lottie
- Heavy effects → Three.js, custom GLSL shaders, Pixi.js
- Generate the design output (default: self-contained HTML with inline CSS/JS)
- Run quality checks from the generation guide
- Verify (when the DNA contains a measured palette): save the current Design DNA JSON if it is not already a file, screenshot the generated output, then score it against that DNA file. Resolve
SKILL_ROOT from this SKILL.md and use absolute paths; do not assume a temporary file named measured-colors.json exists:
node "$SKILL_ROOT/scripts/verify.mjs" "$IMPLEMENTATION_SCREENSHOT" "$DESIGN_DNA_JSON"
A standalone measurement JSON may be used instead of the DNA file when that is the only persisted artifact. For multiple image references, verify against each reference's measurement separately. The report gives per-color ΔE and coverage drift with PASS/FAIL thresholds. If it fails, fix the offending colors and re-verify instead of asking the user to judge fidelity by eye.
If the user provides only content without DNA JSON, ask whether to:
- Analyze a reference first (go to Phase 2)
- Use a described style (extract DNA from description, then generate)
Phase Combinations
Users may invoke any combination:
- Phase 1 only: "Show me the design structure/schema"
- Phase 2 only: "Analyze this design" (with images/links)
- Phase 2 → 3: "Analyze this design and build me a landing page in the same style"
- Phase 1 → 2 → 3: Full pipeline
- Phase 3 only: User already has DNA JSON
Detect which phase(s) are needed from context and execute accordingly.