Design to code
Codex skill for turning segmented design images into high-fidelity UnoCSS page code.
npx -y skills add fitoe/DesignToCode --skill design-to-codeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when converting approved design sources, handoff packages, mockups, visual contracts, or UI blueprints into implementation code and visual parity evidence; also when visual implementation feels rough, stretched, under-specified, or needs section-level high-fidelity repair.
SKILL.md
10.7 KB, as published. Nobody here has run it
Design to Code
Purpose
Turn an approved visual source into maintainable code without relying on prose precision. Prefer structured inputs, small implementation passes, and screenshot-backed parity evidence.
Ownership Boundary
design-to-code owns work after design approval/handoff:
- implementation mapping and code changes
- extracting implementation details from approved visual sources
data-sectionanchors and section-level parity evidence- visual repair, mismatch/debt notes, accepted deviations
Return to idea-to-design only when the approved source is missing/stale, scope changed, the handoff predates approval, or the user asks for a design change.
Input Priority
implementation-blueprint.json+page-matrix.json+component-blueprint.json+debt-ledger.json- Visual IR / section contract (
visual-ir/<page-id>.json,visual-contracts/*, section crops) - Approved design images / Figma context / persisted mockups
- Page briefs and prose notes
Prose briefs are supporting context, not the source of truth.
Fidelity Path
D2C has one default path: highest-fidelity-regeneration.
Use D2C only when converting or repairing against an approved visual source and the expected result is the highest practical design-source fidelity. Do not downgrade to quick, standard, or "structure-first" modes unless the user explicitly waives fidelity for that specific task.
For every visual D2C page/section:
- approved visual source is the source of truth; prose only supports it
- load the highest-fidelity references before coding, not after a mismatch appears
- extract executable section-level IR before implementation
- inventory visible text, icons, shapes, tokens, assets, and controls before coding; for mobile pages include icon anatomy, icon size tokens, and Iconify visual compensation
- implement from the inventory/IR, then generate left-design/right-live evidence
- any shortcut, placeholder, missing icon, or simplified asset is debt and must be named before showing the result
Required references for visual D2C work:
references/design-extraction-analysis-gate.mdreferences/full-page-regeneration-guard.mdreferences/high-fidelity-rules.mdreferences/section-driven-high-fidelity.mdreferences/executable-visual-ir.mdreferences/asset-atlas-generation.mdwhen multiple related bitmap assets are neededreferences/functional-component-handoff-guard.mdwhen controls/forms/tabs/pickers affect behavior
Non-visual or minor project-convention edits should not use D2C and must not claim design parity.
Fidelity Kernel
These rules are always active for GPT Image 2/mockup work:
- approved visual source is the source of truth; prose only supports it
- preserve page type, section order, first-screen density, card/list/form anatomy, and action hierarchy
- preserve icon anatomy and icon size tokens: box size, glyph size, container/radius/color/alignment, and Iconify visual compensation must be explicit before L4/L5 claims
- for mobile H5 / phone-width work, preserve readability floors as part of fidelity; do not copy or generate tiny 10-12px-equivalent text for meaningful content just to match density
- do not convert list/detail/form/product pages into generic dashboards
- do not replace populated designs with empty states unless the source says so
- do not claim parity from DOM/text smoke alone; use screenshot or section evidence
- maintain or create lightweight Visual IR for the active page/section
- before strict visual repair, perform design extraction and analysis from the approved source; load
references/design-extraction-analysis-gate.mdwhen fidelity depends on a screenshot/mockup - for high-fidelity page rewrites, enrich Visual IR to executable section-level layout/asset/anatomy/token contracts before coding
- if visual repair keeps producing "similar but not restored", treat under-specified IR as the blocker and load
references/executable-visual-ir.mdbefore more CSS - generated media must match its final display role and aspect ratio; do not hide asset mismatch with
object-fitor background-position tricks - atlas generation is for creation efficiency only; crop atlas outputs into independent files before implementation
- fix the largest 1-3 visual gaps per pass and record remaining debt
Default Workflow
- Intake: identify source of truth, target routes/files, framework constraints, current maturity target.
- Foundation: map tokens/shell/base components before page-specific polish.
- Coverage: make every in-scope route/page visibly present before deep fidelity work.
- Section Anchors: add stable
data-sectionmarkers for key sections. - Fidelity Loop: compare source vs implementation by section; fix the largest 1-3 gaps per pass.
- Handoff: report page maturity, evidence, debt, and deviations.
Highest-Fidelity Gate
Before coding any visual D2C page/section, the required references above must be loaded and applied. Section-level executable IR is mandatory: each major section needs bbox/height or density, component anatomy, text/icon/shape inventory, token targets including mobile typography floors, media/asset role, crop strategy, text safe areas, screenshot target, pass criteria, and must-not-substitute rules.
If any required field is missing, stop and enrich the IR/brief before changing code.
Asset Strategy Kernel
Use generated media by role:
| role | strategy |
|---|---|
| hero main visual | generate as an independent asset |
| CTA/banner background | generate as an independent asset |
| repeated card thumbnails | atlas generation allowed, then crop to independent files |
| application/factory scene groups | atlas generation allowed, then crop to independent files |
| certificates, logos, nav, buttons, labels | render with HTML/CSS/SVG/Iconify; do not bake into images |
Hard rule: an atlas is never a production UI asset. Final code must reference the cropped output files, not use CSS background-position against the atlas to fake separate images.
Visual IR Minimum
Use or create a lightweight Visual IR for PNG/GPT Image 2/mockup sources when fidelity matters:
{
"page_id": "application-list",
"route": "/pages/applications/index",
"viewport": [390, 844],
"page_type": "list",
"source_refs": ["design-to-code-inputs/mockup.png"],
"sections": [
{"name": "topbar", "order": 1, "bbox": [0,0,390,72]},
{"name": "card-list", "order": 4, "density": "2.5 cards visible"}
],
"section_anchors": ["topbar", "card-list"],
"must_not_do": ["do not replace list with dashboard"]
}
Do not over-model every pixel. Capture page type, section order, bbox, first-screen density, card/list anatomy, action hierarchy, must-not-do, and asset strategy.
Required Output Evidence
For each meaningful checkpoint, report:
- route/page coverage
- maturity level: L0 route-ready, L1 skeleton, L2 content, L3 system-styled, L4 core-fidelity, L5 functional
- section parity: PASS/WARN/FAIL for major sections when fidelity is claimed
- largest remaining visual gaps and whether they are debt or accepted deviation
- verification actually run; do not claim checks that were skipped
Hard Rules
- Do not claim design parity from DOM/text smoke alone.
- Do not replace populated designs with empty states unless the design/source says so.
- Do not convert list/detail/form pages into generic dashboards.
- Do not run broad lint/type/build repeatedly during active visual editing unless a failure signal or gate requires it.
- Do not handwave “close enough”; record section-level debt.
- Do not invent visual effects or decorative assets beyond the approved source; when strict detail is needed, load
references/high-fidelity-rules.md. - Functional controls must follow existing project/UI-library patterns first; load
IdeaToTechonly when API/state/permission/cross-platform/verification risk is non-trivial.
Mandatory Reference Loading
For visual D2C work, load these before coding; they are not optional or deferred:
references/high-fidelity-rules.md— exactness, text/icon/shape inventory, asset/layer rules, functional-control escalationreferences/design-extraction-analysis-gate.md— design extraction from screenshots/mockups into section IR, component anatomy, asset roles, token targets, must-not-substitute rules, and pass criteriareferences/full-page-regeneration-guard.md— complete-page token table, text inventory, icon anatomy, asset grouping map, and section-level asset planreferences/section-driven-high-fidelity.md— section-by-section restoration and strict visual repairreferences/executable-visual-ir.md— executable section-level layout/asset/anatomy/token contractsreferences/asset-atlas-generation.md— when multiple related bitmap assets are present or may be neededreferences/functional-component-handoff-guard.md— when controls/forms/tabs/pickers affect behaviorreferences/blueprint-driven-implementation.md— when project blueprint files existreferences/visual-measurements.md— extracting sizes, colors, densityreferences/width-normalization.md— canonical page width, responsive/H5 viewport metrics, and real mobile screenshot evidencereferences/mobile-recomposition.md— when desktop/PC-only sources must become mobilereferences/playwright-section-diff.md— screenshot comparison and Mobile H5 visual audit packreferences/main-skill-full-reference.md— if the compact guide is insufficient
Common Pitfalls
| Pitfall | Fix |
|---|---|
| Implementing from prose only | Build/read Visual IR and source crops |
| Broad route smoke treated as visual pass | Require section screenshots for parity claims |
| Reusing a dashboard template everywhere | Preserve page type and first-screen anatomy |
| Pixel-chasing before coverage | Cover routes first, then L4/L5 selected pages |
| Coding starts before extracting design | Stop; run design extraction and analysis, then write executable IR before implementation |
| IR only names sections | Add executable IR: bbox/height, density, component anatomy, asset role, token targets, pass criteria, and must-not-substitute rules |
| Repeated CSS tuning still feels unlike source | Stop coding; classify mismatch as asset/structure/anatomy/token/verification and enrich references/executable-visual-ir.md fields first |
| Using one generated atlas as many CSS backgrounds | Crop atlas into independent files and reference cropped assets only |
| Hero/banner mixed into thumbnail atlas | Generate hero/CTA as independent assets with final safe areas |