image-to-code

GitHub

将设计图或截图转化为基于 Token 的 UI 代码。自动推断配色、排版等设计系统,生成可访问的代码并验证对比度与布局匹配度。

.claude/skills/image-to-code/SKILL.md plugin87/ux-ui-agent-skills

Trigger Scenarios

用户提供设计稿或截图并要求生成对应前端代码 需要将视觉参考转换为符合设计系统的 UI 实现

Install

npx skills add plugin87/ux-ui-agent-skills --skill image-to-code -g -y
More Options

Non-standard path

npx skills add https://github.com/plugin87/ux-ui-agent-skills/tree/main/.claude/skills/image-to-code -g -y

Use without installing

npx skills use plugin87/ux-ui-agent-skills@image-to-code

指定 Agent (Claude Code)

npx skills add plugin87/ux-ui-agent-skills --skill image-to-code -a claude-code -g -y

安装 repo 全部 skill

npx skills add plugin87/ux-ui-agent-skills --all -g -y

预览 repo 内 skill

npx skills add plugin87/ux-ui-agent-skills --list

SKILL.md

Frontmatter
{
    "name": "image-to-code",
    "description": "Turn a reference image, screenshot, or mockup into token-driven, accessible code — infer the design system from the reference (palette, type scale, spacing, radius, layout archetype), map it to the 3-tier tokens, rebuild it, then verify with the kit's gates. Use when the user provides a design\/screenshot and wants matching UI code.",
    "disable-model-invocation": true
}

Skill: Image to Code

Step 0 — is the kit here? This skill reads files from the kit. Check once: ls ${CLAUDE_SKILL_DIR}/../../../tokens >/dev/null 2>&1 && echo KIT_OK || echo KIT_MISSING On KIT_MISSING only the skill folders were installed, which is what npx skills add does. Say so plainly, point the user at npx ux-ui-agent-skills init or the plugin install, and stop. Do not guess the contents of a file you could not open.

Reconstruct a design from a visual reference as a real design system, not a one-off copy. Match the system (color/type/spacing language), never lift copyrighted imagery or brand assets.

Steps

  1. Read the reference like a designer. Infer and write down:
    • Palette — 1 dominant surface family, text colors, 1 primary action + at most 1 accent (sample the hues; don't guess random hex).
    • Type — family feel (geometric/grotesk/serif), the scale jumps, display vs. body contrast, weights.
    • Spacing & density — base unit, section rhythm, card padding; airy vs. compact.
    • Radius & depth — radius language (sharp/soft/pill), shadow vs. hairline separation.
    • Layout archetype + sequence — bounded hero / asymmetric split / dense bento / editorial stack (${CLAUDE_SKILL_DIR}/../../../taste/design-taste.md → Variance Mandate).
  2. Anchor to a known system if it's close — browse ${CLAUDE_SKILL_DIR}/../../../taste/aesthetic-systems.md / python3 ${CLAUDE_SKILL_DIR}/../../../scripts/design_systems.py search <term> and adopt that recipe to stabilize decisions.
  3. Build the token theme from the inferred values → 3-tier DTCG (design-tokens skill); generate a single theme.css. Verify every color pair with ${CLAUDE_SKILL_DIR}/../../../scripts/contrast.py / ${CLAUDE_SKILL_DIR}/../../../scripts/validate_contrast.py (light + dark) — a sampled brand color that fails AA gets adjusted; taste never overrides POUR.
  4. Rebuild layout + components token-driven via ${CLAUDE_SKILL_DIR}/../../../frameworks/adapter-protocol.md + ${CLAUDE_SKILL_DIR}/../../../components/*: one shared primitive layer, all 8 states, a11y wired, no emoji (lucide), single theme. Apply taste (design-taste.md) so it doesn't regress to generic.
  5. Verify against the reference — render and screenshot it, compare side-by-side to the reference; run node ${CLAUDE_SKILL_DIR}/../../../scripts/measure_render.mjs, lint_hardcodes.py, taste_audit.mjs, and npm run verify.

Verification (definition of done)

  • npm run verify is 100% (tokens resolve, contrast AA light+dark, no hardcodes/emoji, real-render WCAG).
  • The rebuilt UI uses ONE inferred token theme — no per-section palettes.
  • A screenshot of the result visibly matches the reference's design language.

Honest limit: this matches the design system, not a pixel-perfect copy. Do not reproduce the reference's photographs, logos, or copyrighted copy — substitute your own or generic placeholders.

Version History

  • 62092bd Current 2026-10-19 09:19

    新增 Kit 存在性检查步骤;调整布局原型描述以适配屏幕经济规则;更新路径引用为绝对路径。

  • 2ffb677 2026-08-28 11:59
  • 93a7fbb 2026-07-25 07:41

Same Skill Collection

.claude/skills/a11y-audit/SKILL.md
.claude/skills/apply-aesthetic/SKILL.md
.claude/skills/brandkit/SKILL.md
.claude/skills/critique/SKILL.md
.claude/skills/design-code/SKILL.md
.claude/skills/design-component/SKILL.md
.claude/skills/design-doctrine/SKILL.md
.claude/skills/design-qa/SKILL.md
.claude/skills/design-review/SKILL.md
.claude/skills/design-tokens/SKILL.md
.claude/skills/figma-integration/SKILL.md
.claude/skills/gate/SKILL.md
.claude/skills/governance/SKILL.md
.claude/skills/grill-me/SKILL.md
.claude/skills/migrate-design-system/SKILL.md
.claude/skills/performance/SKILL.md
.claude/skills/prototype/SKILL.md
.claude/skills/redesign/SKILL.md
.claude/skills/scaffold-project/SKILL.md
.claude/skills/ship/SKILL.md
.claude/skills/token-build/SKILL.md
.claude/skills/ux-writing/SKILL.md

Metadata

Files
0
Version
62092bd
Hash
f755a703
Indexed
2026-07-25 07:41

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-19 22:13
浙ICP备14020137号-1