Token导航 LogoToken导航

Agent Skill · 开发

codify-design-to-code(将设计编码为代码)

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

codify-design-to-code 是开发类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为操作浏览器;许可证信息还不明确,第三方扫描有提醒项,按安装量在开发类的 21,746 个 Skill 里排第 18,928。

总安装 306周安装 13GitHub Stars 2下载 107核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:codify-design-to-code(将设计编码为代码)
来源仓库:https://github.com/chenaey/codify-dev-skill
仓库路径:skills/codify-design-to-code
安装命令:
npx skills add https://github.com/chenaey/codify-dev-skill --skill codify-design-to-code
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/chenaey/codify-dev-skill --skill codify-design-to-code

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

codify-design-to-code 辅助界面视觉还原,整合截图、骨架与 JSON 样式。遵循结构先行原则,先用 DOM 布局确定边界再填充样式值。需三者协同:截图看效果、骨架定结构、JSON 填数值。并发任务应通过 NODE_ID 隔离临时文件防止冲突。

适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/codify-design-to-code

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/chenaey/codify-dev-skill --skill codify-design…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

codify-design-to-code 怎么安装?

在终端执行 npx skills add https://github.com/chenaey/codify-dev-skill --skill codify-design-to-code。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

codify-design-to-code 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

codify-design-to-code 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

codify-design-to-code 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

codify-design-to-code 用的人多吗?

公开数据是累计安装 306 次,近一周安装 13 次,下载 107 次,GitHub 2 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

codify-design-to-code 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
codify-design-to-code

将设计编码为代码 · 本页

3062操作浏览器未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Codify Dev - 设计转代码

核心原则

截图看布局,骨架定边界,JSON 取样式。三者协同,缺一不可。 结构先行,样式后填。 你看不到渲染结果,所有布局正确性只能靠推理。先用截图和骨架确定正确的 DOM 结构,再用 JSON 填充精确样式值。结构错了,样式再精确也白费。
数据源告诉你什么不告诉你什么
截图视觉效果、颜色感知、间距比例、整体氛围精确数值、层级结构、节点 ID
骨架组件边界、布局方向、重复模式、节点层级具体样式、颜色、字体大小
JSON精确 CSS 值、节点属性、资源 ID视觉上下文、设计意图

协同:截图 + 骨架 → 理解意图、确定 DOM 结构;骨架 + JSON → 精确实现;截图 + JSON → 验证还原。


工作流程

准备:设置工作目录

每次任务开始时先执行,用节点 ID 隔离临时文件,避免并发冲突:

SKILL_DIR="/path/to/skill"                    # 替换为 skill 目录实际路径
NODE_ID="节点ID"                               # 替换为实际节点 ID
FILE_KEY="文件Key"                             # 替换为实际文件 Key
WORK_DIR="$TMPDIR/codify-${NODE_ID//:/–}"     # 每个节点独立目录
mkdir -p "$WORK_DIR"
SKILL_DIR 通常为当前 skill 文件所在目录,如 /Users/xxx/project/skill。

Step 0. 获取截图,建立视觉基准

截图是第一步,不可跳过。 在读骨架和 JSON 之前先看截图,用于:

  • 识别所有视觉元素(装饰图形、渐变、光晕等)
  • 建立视觉基准,后续所有 JSON 解读都以截图为参照
node "$SKILL_DIR/scripts/download-screenshot.cjs" \
  --nodeId "$NODE_ID" \
  --fileKey "$FILE_KEY" \
  --output "$WORK_DIR/screenshot.png"

截图下载后立即读取图片,记录:

  1. 页面整体布局和层次
  2. 所有视觉装饰元素(光晕、阴影、渐变、图标)
  3. 文字样式的视觉重量和颜色
  4. 哪些元素突出了其父容器的边界(如图标超出卡片顶部、阴影溢出容器等)

Step 1. 获取骨架,理解结构

curl -s -X POST http://127.0.0.1:13580/get_design \
  -H "Content-Type: application/json" \
  -d "{\"node_id\": \"$NODE_ID\", \"file_key\": \"$FILE_KEY\", \"mode\": \"skeleton\"}"

对照截图阅读骨架,重点关注:

  • 整体层级和布局方向
  • 与截图对应的视觉元素是否都在骨架中有对应节点
  • 组件边界和重复结构

骨架标记见 design-schema.md,拆分规则见 codegen-rules.md。

判断复杂度,选择路径
条件路径说明
骨架层级 ≤ 3 层,且带 ID 的子节点 ≤ 3 个快速路径直接获取完整 JSON 一次性生成
骨架层级 > 3 层,或带 ID 的子节点 > 3 个分块路径按区块逐块实现再组合
判断标准不是绝对的:如果骨架虽然层级多但节点重复度高(大量 ×N),仍可走快速路径。关键是你能否在一次生成中准确记住所有节点的精确样式值。如果不确定,选分块路径。

Step 2A. 快速路径:一次性获取 JSON + 生成

适用于简单 UI(少量节点、浅层级)。

获取完整 JSON 并保存:

curl -s -X POST http://127.0.0.1:13580/get_design \
  -H "Content-Type: application/json" \
  -d "{\"node_id\": \"$NODE_ID\", \"file_key\": \"$FILE_KEY\"}" \
  > "$WORK_DIR/design.json"

# 读取(小型节点直接格式化输出)
cat "$WORK_DIR/design.json" | python3 -m json.tool

识别并下载所有资源:

JSON 返回的数据中有两类资源需要下载,它们的发现机制不同:

  1. assets 数组中列出的矢量资源:JSON 末尾的 assets 数组明确列出了所有 ICON / VECTOR 类型节点,可直接按 nodeId 批量下载为 SVG
  2. 主结构中的位图资源:RECTANGLE / IMAGE 类型且带有 object-fit 属性的节点是位图填充节点,不会出现在 assets 数组中,需要从主结构中识别后单独下载为 PNG

建立节点→用途的映射:下载前,必须将每个资源节点的 nodeId 映射回主 JSON 结构树中,通过该节点在结构树中的位置(父子层级、相邻节点)来确定它的 UI 角色(如关闭按钮、装饰图标等)。不要凭节点的 type 或 name 猜测用途。

node "$SKILL_DIR/scripts/download-assets.cjs" --fileKey "$FILE_KEY" --nodes '[
  {"nodeId":"<nodeId>","outputPath":"$WORK_DIR/icon-name.svg","format":"svg"}
]'
⚠️ 关键规则:ICON / IMAGE 节点必须下载实际资源文件,代码中直接引用文件路径。不要跳过下载自己画 SVG,也不要用占位符,也不要用 Unicode 字符近似替代。

然后跳到 Step 4. 生成代码。


Step 2B. 分块路径:制定分块计划

适用于复杂 UI(深层级、多节点)。

根据骨架结构,将设计拆分为 3-6 个独立区块。每个区块对应骨架中一个带 ID 的子树。

分块原则:

  1. 每块对应截图中一个视觉区域
  2. 每块的 JSON 数据量在一次上下文中可完整消化
  3. 块之间通过容器布局关系组合,互不依赖内部细节

记录分块计划(示例):

Block A: 25:05110  → 卡片容器 + 装饰光晕 + 关闭按钮
Block B: 25:05123  → 盾牌图标 + 标题
Block C: 25:05133  → 步骤图标列(左侧)
Block D: 25:05134  → 步骤内容列(右侧)

Step 3. 分块路径:逐块执行

对每个 Block 重复以下三步,完成一个块后再开始下一个:

3.1 获取该块的 JSON
curl -s -X POST http://127.0.0.1:13580/get_design \
  -H "Content-Type: application/json" \
  -d "{\"node_id\": \"子节点ID\", \"file_key\": \"$FILE_KEY\"}" \
  > "$WORK_DIR/block-A.json"

cat "$WORK_DIR/block-A.json" | python3 -m json.tool

读取 JSON 时必须做到:

  1. 子节点 customStyle 全量读取:不只读顶层节点,对每一个子节点都读取 customStyle,尤其关注:

- margin-top / margin-bottom / margin-right / margin-left:决定元素间距,是布局精确度的关键 - padding:决定容器内边距 - align-items / justify-content:决定对齐方式

  1. 布局模式判断:遇到并排/堆叠结构,明确区分:

- 左列是弹性伸缩(flex:1)还是固定尺寸堆叠(固定 height + margin-bottom)? - 判断依据:子节点是否有固定 width/height + margin-bottom,如有则用固定尺寸,不用 flex:1 估算

  1. JSON 必须读完:如数据较大需分段读取,须确认读到最后一段才进入下一步
3.2 下载该块涉及的资源

资源的发现和识别规则:

  • 矢量资源:从 JSON 末尾的 assets 数组中,筛选出 nodeId 属于当前块子树的条目,批量下载为 SVG
  • 位图资源:在当前块的 JSON 结构中,查找带 object-fit 属性的 RECTANGLE / IMAGE 节点,单独下载为 PNG

命名依据结构位置而非猜测:资源文件的命名应基于该节点在结构树中的 UI 角色(通过父子层级和相邻节点判断),而不是基于节点的 type 或 name 字段。

node "$SKILL_DIR/scripts/download-assets.cjs" --fileKey "$FILE_KEY" --nodes '[
  {"nodeId":"<nodeId>","outputPath":"$WORK_DIR/icon-xxx.svg","format":"svg"}
]'
⚠️ 关键规则:ICON / IMAGE 节点必须下载实际资源文件,代码中直接引用文件路径。不要跳过下载自己画 SVG,也不要用占位符,也不要用 Unicode 字符近似替代。
3.3 记录该块的关键样式

读完 JSON 和下载资源后,在继续下一个块之前,用简要注释记录该块的核心信息:

  • 容器布局方式(flex 方向、padding、gap)
  • 关键节点的 customStyle 摘要(字号、颜色、间距等)
  • 该块涉及的资源文件列表
目的是确保每块的 JSON 数据被充分消化,而不是在最终生成时回头翻找。

所有块处理完成后,进入 Step 4 生成代码。


Step 4. 生成代码

阅读 codegen-rules.md。

代码生成分两步:先确定结构,再填充样式。

4.1 先写 DOM 结构骨架

基于截图和骨架,先输出纯 DOM 结构(含语义化的 class 名和注释,但不含具体样式值)。这一步只关注:

  • 容器嵌套关系是否合理
  • 需要绝对定位的元素,其定位参考(position: relative 的祖先)是否正确
  • 需要裁切(overflow: hidden)的容器,其子元素是否都在边界内——如有元素需要突出容器边界,该元素必须放在裁切容器外部
  • 重复结构是否使用循环
  • 设计稿的层级与 DOM 层级的映射是否合理(设计稿层级不一定要 1:1 映射到 DOM,合理调整以符合 CSS 布局需要)
4.2 再填充精确样式

结构确认后,从 JSON 的 customStyle 中提取所有精确值填充到代码中:

  • 所有尺寸、颜色、间距直接来自 JSON,不估算
  • ICON / IMAGE 节点直接引用已下载的资源文件路径,不手绘近似 SVG
  • 以截图为参照校验每个区块的视觉效果
  • 输出格式和资源引用方式遵循项目规范(见 codegen-rules.md)

Step 5. 视觉验证(可选但强烈推荐)

如果生成的是可直接在浏览器运行的代码(HTML 文件、本地可启动的应用等),使用 Playwright 截图与设计稿截图进行对比验证。最多进行 2 轮修正。

5.1 截图渲染结果
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)
    page = browser.new_page(viewport={"width": 375, "height": 812})
    page.goto('file:///path/to/output.html')
    page.wait_for_load_state('networkidle')
    page.screenshot(path='$WORK_DIR/render-result.png', full_page=True)
    browser.close()
需要 Playwright 环境。如不可用,跳过此步进入完成前回顾。
5.2 逐区域对比

不要泛泛地看"像不像",要逐区域精确对比。 将页面分为 3-5 个视觉区域(与分块计划对应),每个区域单独检查:

  1. 位置:元素在区域内的水平/垂直位置是否与设计稿一致?居中、偏左、还是固定偏移?
  2. 尺寸:元素的宽高比例是否正确?有没有被拉伸或压缩?
  3. 层叠:元素之间的前后遮挡关系是否正确?有没有被裁切、被遮挡?
  4. 间距:元素之间的间距是否合理?太紧或太松?
5.3 聚焦修正

发现差异后,每次只修一个问题,修完立刻重新截图验证。不要一次改多处——同时改多个地方,无法判断哪个改动造成了新问题。

修正优先级:

  1. 结构性问题(元素缺失、层级错误、被裁切) → 修 DOM 结构
  2. 位置问题(偏移、对齐方向错误) → 修定位和布局属性
  3. 细节问题(间距、字号、颜色微调) → 修具体样式值

完成前回顾

生成代码后(如已做视觉验证则在验证通过后),对照截图逐项检查:

  • 截图中的所有视觉元素是否都已实现(包括装饰光晕、阴影等)
  • 骨架中的关键节点是否都有对应代码
  • JSON 是否已完整读完(包括最后的 assets 字段)
  • 所有资源是否已下载,代码中引用的是已下载的文件路径,无手绘近似、无占位符
  • 左右并排结构的对齐是否基于 JSON 的固定尺寸,而非估算
  • 动态数据是否通过接口/Props 传入(非硬编码)
  • 重复结构是否使用数组循环
  • 资源引用方式是否与项目已有代码一致

常见错误

错误原因正确做法
资源节点的用途判断错误(如把关闭按钮图标当成装饰图标)凭节点的 type 或 name 字段猜测用途,未回溯结构树将资源 nodeId 映射回主 JSON 结构,通过结构位置(父子层级、相邻节点、坐标)确定 UI 角色
位图资源遗漏未下载只从 assets 数组中查找资源assets 数组仅包含矢量资源;带 object-fit 属性的 RECTANGLE / IMAGE 节点是位图资源,需从主结构中额外识别并下载
用 Unicode 字符或 HTML 实体代替图标资源认为简单图标(如 ✕ ⓘ ▶)可以用文字近似ICON 节点必须使用下载的实际资源文件,文字字符与设计资源在视觉上不等价(大小、粗细、对齐方式均不同)
结构和样式一起写,结构定错后推倒重来边想结构边写样式,注意力分散导致结构性错误先写纯 DOM 结构确认合理,再填充样式值
突出元素被 overflow: hidden 裁切元素放在了圆角裁切容器内部,用负偏移试图突出突出元素放在裁切容器外部的 wrapper 上绝对定位
资源文件内容被内联为 base64读取了已下载的文件内容再转为 data URI直接引用文件路径(<img src="path/to/icon.svg">),不读文件内容
对同一节点多次 curl 分段读取 JSON直接 pipe 给 head/tail,每次重新请求先 > design.json 保存,后续 sed -n 分段读文件
左右对齐结构用 flex:1 拉伸连接线没有读子节点的 margin-bottom + 固定 height读 JSON 中每个子节点的 customStyle,用固定尺寸还原
跳过截图,直接看骨架和 JSON截图当作"可选"步骤截图必须是第一步
装饰图形(光晕/渐变椭圆)缺失没有下载无 customStyle 的图形节点下载 assets 里的所有资源;如骨架有图形节点但不在 assets 里,单独下载确认
SVG 图标手绘近似路径没下载资源或下载后不用,凭印象自己画下载资源后在代码中直接引用文件路径(如 <img src="icon.svg">)
大 JSON 读到一半就开始写代码JSON 分段读取时跳过了后半段必须确认 JSON 完整读取后(含 assets)才进入代码生成
复杂 UI 一口气生成导致细节丢失上下文窗口无法记住所有节点样式使用分块路径,逐块消化、逐块生成

参考文档

文档何时读取
codegen-rules.md生成代码前必读
design-schema.md理解 JSON 结构时
api.md调用 API 或下载资源时

错误处理

见 api.md 错误格式与错误码。

平台分布

Codex

35.59%
按下载量换算38

Claude

34.6%
按下载量换算37

Cursor

18.14%
按下载量换算19

Gemini CLI

9.47%
按下载量换算10

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills