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: analyze 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
- color: Extract dominant palette via visual sampling. Primary by area dominance, secondary by supporting role, accent by CTA usage. Map neutral scale from lightest background to darkest text.
- typography: Identify font families by visual characteristics (geometric, humanist, serif class). Estimate scale ratios from heading/body size relationships.
- spacing: Assess density by element proximity. Measure rhythm by section gap consistency.
- layout: Identify grid by content alignment patterns. Note max-width, column count, asymmetry.
- shape: Measure border-radius by comparing to element height. Note border and divider presence.
- elevation: Classify shadow softness, spread, and layering approach.
- motion: If observable (video/interactive), note easing curves and duration feel.
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
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.
Source: zanwei/design-dna — distributed by TomeVault.
1---2name: zanwei-design-dna-design-dna3description: Design DNA4---56# Design DNA78A 3-phase workflow for extracting, structuring, and applying design identity across three dimensions:9101. **Design System** — measurable tokens (color, typography, spacing, layout, shape, elevation, motion, components)112. **Design Style** — qualitative perception (mood, visual language, composition, imagery, interaction feel, brand voice)123. **Visual Effects** — special rendering (Canvas, WebGL, 3D, particles, shaders, scroll effects, cursor effects, SVG animations, glassmorphism, etc.)1314## Phases1516### Phase 1: Structure — Output the Schema1718When the user asks for the structural dimensions or schema:19201. Read [references/schema.md](references/schema.md)212. Present the full schema with field descriptions223. Explain the three dimensions and their roles:23 - **design_system**: What you can measure — exact hex values, pixel sizes, rem scales24 - **design_style**: What you can feel — mood, personality, composition strategy25 - **visual_effects**: What you can see but can't express in CSS alone — WebGL scenes, particle systems, shader distortions, scroll-driven animations264. Ask if the user wants to customize or extend any dimensions2728### Phase 2: Analyze — Extract DNA from References2930When the user provides images, screenshots, or links representing a target design style:31321. Read [references/schema.md](references/schema.md) for the full field list332. For each reference provided:34 - If image/screenshot: analyze visual properties directly35 - If URL: fetch and analyze the page's visual design363. For every field in the schema, extract or infer a value from the references374. When multiple references conflict, note the dominant pattern and mention variants385. Output a complete Design DNA JSON — every field populated, no empty strings396. After output, ask: "Want to adjust any values before using this for generation?"4041**Analysis approach per dimension:**4243#### Dimension 1: design_system44- **color**: Extract dominant palette via visual sampling. Primary by area dominance, secondary by supporting role, accent by CTA usage. Map neutral scale from lightest background to darkest text.45- **typography**: Identify font families by visual characteristics (geometric, humanist, serif class). Estimate scale ratios from heading/body size relationships.46- **spacing**: Assess density by element proximity. Measure rhythm by section gap consistency.47- **layout**: Identify grid by content alignment patterns. Note max-width, column count, asymmetry.48- **shape**: Measure border-radius by comparing to element height. Note border and divider presence.49- **elevation**: Classify shadow softness, spread, and layering approach.50- **motion**: If observable (video/interactive), note easing curves and duration feel.5152#### Dimension 2: design_style53- Synthesize holistic impressions — mood, personality, composition strategy54- Compare against genre archetypes (SaaS, editorial, brutalist, etc.)55- Note ornamentation level and whitespace philosophy5657#### Dimension 3: visual_effects58- **From code**: Scan for `<canvas>`, WebGL contexts, Three.js/Pixi.js imports, GSAP/Lottie usage, custom shaders, IntersectionObserver scroll triggers, SVG `<animate>` elements59- **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.60- **From video/interaction demos**: Note scroll behaviors, hover distortions, transition choreography, loading sequences61- Set `enabled: false` for any effect category not present in the reference62- Rate `overview.effect_intensity` and `overview.performance_tier` based on what's observed6364### Phase 3: Generate — Apply DNA to Content6566When the user provides DNA JSON + content to design:67681. Read [references/generation-guide.md](references/generation-guide.md)692. Parse the DNA JSON and extract all tokens across three dimensions703. Build CSS custom properties from `design_system` values714. Apply `design_style` qualitative fields to guide subjective design decisions725. 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.736. Implement `visual_effects` using appropriate technologies:74 - Lightweight effects → CSS animations, SVG, vanilla JS75 - Medium effects → Canvas 2D, GSAP, Lottie76 - Heavy effects → Three.js, custom GLSL shaders, Pixi.js777. Generate the design output (default: self-contained HTML with inline CSS/JS)788. Run quality checks from the generation guide7980**If the user provides only content without DNA JSON**, ask whether to:81- Analyze a reference first (go to Phase 2)82- Use a described style (extract DNA from description, then generate)8384## Phase Combinations8586Users may invoke any combination:87- **Phase 1 only**: "Show me the design structure/schema"88- **Phase 2 only**: "Analyze this design" (with images/links)89- **Phase 2 → 3**: "Analyze this design and build me a landing page in the same style"90- **Phase 1 → 2 → 3**: Full pipeline91- **Phase 3 only**: User already has DNA JSON9293Detect which phase(s) are needed from context and execute accordingly.9495---96> Source: [zanwei/design-dna](https://github.com/zanwei/design-dna) — distributed by [TomeVault](https://tomevault.io).97<!-- tomevault:4.0:skill_md:2026-06-28 -->