원클릭으로
psd-slicer
将 Photoshop(.psd)文件的所有图层导出为独立的 PNG 图片。适用于从 PSD 文件提取图层图片、为网页开发生成切片、或为其他工具准备图层资源。自动处理图层命名、跳过不可见图层、递归导出嵌套图层组。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
将 Photoshop(.psd)文件的所有图层导出为独立的 PNG 图片。适用于从 PSD 文件提取图层图片、为网页开发生成切片、或为其他工具准备图层资源。自动处理图层命名、跳过不可见图层、递归导出嵌套图层组。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
将 Photoshop (PSD) 设计稿转换为 Cocos Creator 布局参考。 自动导出 PNG 切片并生成坐标 JSON,支持中文图层名。 触发条件:当用户提到以下关键词时激活本技能: - "PSD 转 Cocos"、"导出 PSD 到 Cocos"、"PSD 切图 Cocos" - "设计稿导入 Cocos"、"PSD 生成 Cocos 布局" - "Photoshop 转 Cocos"、"PSD 导出坐标"
从 PSD 导出的 JSON 图层树和切片图片生成 HTML/CSS 预览。默认保留 PSD 的分组嵌套结构,用 --flatten 参数可切换为平铺模式。
读取并导出 Photoshop(.psd)图层树为 JSON,包含图层元信息(名称、类型、可见性、bbox)以及详细的文本样式信息。当用户需要分析 PSD 结构、查找特定图层(如弹窗、按钮)、或准备 HTML/CSS 还原所需的数据时,务必使用此技能。即使涉及复杂的嵌套结构或需要精确的文本还原(字体、颜色、间距),此工具也能提供结构化的支撑。
从 PSD 设计文件到预览页面 + React 组件 + Vue 组件的完整转换工作流。
项目结构分析技能。用于快速理解陌生前端/全栈项目的技术栈、目录结构和模块依赖关系。通过分层阅读工作流,从框架检测到依赖分析,逐步深入理解项目架构。适用于需要接手新项目、分析代码库、或进行技术调研的场景。
总结 OpenCode 会话内容,提取可复用的经验和方法论。当用户要求"总结本次会话"、"提取经验"、"复盘"、"提取可复用的方法"或类似需求时触发此技能。
| name | psd-slicer |
| description | 将 Photoshop(.psd)文件的所有图层导出为独立的 PNG 图片。适用于从 PSD 文件提取图层图片、为网页开发生成切片、或为其他工具准备图层资源。自动处理图层命名、跳过不可见图层、递归导出嵌套图层组。 |
自动将 PSD 文件的可见图层导出为独立 PNG 图片,支持灵活过滤和命名验证。
特性:
[a-zA-Z0-9_-] 及布局标签 [tag])[flow-y]layout 自动导出为 layout.png)layer_id 级别防抖防词覆盖机制)--auto-rename 转化为通用切块命名# 导出所有合法命名的图层
py -3 scripts/export_slices.py --psd design.psd
# 自定义输出目录
py -3 scripts/export_slices.py --psd design.psd -o assets/layers
# 仅导出图层组(跳过单个图层)
py -3 scripts/export_slices.py --psd design.psd -g
# 按前缀过滤(如:slice-button)
py -3 scripts/export_slices.py --psd design.psd -p slice-
# 组合使用
py -3 scripts/export_slices.py --psd design.psd -o ./comps/ -g -p component-
| 参数 | 短参 | 说明 |
|---|---|---|
--output | -o | 输出目录(默认:images/) |
--groups-only | -g | 仅导出图层组 |
--prefix | -p | 前缀过滤(如:slice-) |
--strict-naming | -s | 强制进行命名合法性校验(不合法的名字会被跳过) |
--auto-rename | 无 | 未命中映射时自动重命名图层为 layer-xxx 或 group-xxx |
--mapping-json | -m | 显式指定 JSON 映射文件路径。若不填且所在工作目录存在同名或 layer-tree.json 等文件将自动匹配。 |
--skip-type | 无 | 跳过文本图层(kind == 'type') |
默认行为:
现在可以不作任何处理,默认即可直接将含有中文字符的图层导出。当遇到重复中文名称(如都在根组件下叫 背景),现在会使用其独立的 layer_id 进行关联防重(例如 背景_13.png 和 背景_14.png),避免了由于 _1 这种简单的重叠导致的字典含义丢失。
推荐使用 --mapping-json 参数或让其自动匹配:
当有 psd-layer-reader 处理过的标准结构需要对应时,由于它处理过了树形关系,并且把特殊的布局标签 [tag] 也作了统一管理,能够达到切图命名和 JSON 中的 name 完全一一对应的效果,这对后续页面生成尤为关键。如果没有带上 -m 参数,本工具也会自动在 PSD 所在目录寻找映射文件(优先级:[PSD同名文件].json > layer-tree.json > psd_layers.json)。
使用 --auto-rename:
如果您不需要原设计中乱七八糟没有规范的图层名称,而是想统一直接转化为 layer-xxx 的无语义形式供其他引擎或预览体系使用,您可以直接使用 --auto-rename 参数使没能被匹配到的图层统统转化其名称。
映射关系:
layer.name 返回原始名称(可能是中文)originalName 保存相同的原始名称name 是规范化后的合法文件名{layer.name: name} 即 {原始名称: 规范化名称}工作流程:
psd-layer-reader 分析 PSD 结构并生成 JSONoriginalName 和 name 映射关系psd-slicer 的 --mapping-json 参数导出图层示例:
# 步骤 1: 生成 JSON 映射
py -3 .claude/skills/psd-layer-reader/scripts/psd_layers.py design.psd -o layer-tree.json
# 步骤 2: 使用映射导出
py -3 .claude/skills/psd-slicer/scripts/export_slices.py --psd design.psd --mapping-json layer-tree.json -o assets/
注意事项:
layer.name 作为查找键完整工作流(含中文图层导出):
# 步骤 1: 创建输出目录并生成 JSON 映射
py -3 .claude/skills/psd-layer-reader/scripts/psd_layers.py \
--psd assets/share-modal.psd \
--output verify-flow/verify-010/layer-tree.json
# 步骤 2: 使用映射导出中文图层
py -3 .claude/skills/psd-slicer/scripts/export_slices.py \
--psd assets/share-modal.psd \
--output verify-flow/verify-010/sliced-images \
--mapping-json verify-flow/verify-010/layer-tree.json
实际输出示例:
Loaded 177 name mappings
Mapped '背景' -> 'layer-npdngy.png'
Exported Layer: layer-npdngy.png
Mapped '图层 1' -> 'layer-9dgwjr.png'
Exported Layer: layer-9dgwjr.png
Mapped '唱片' -> 'group-9bi971.png'
Exported Group: group-9bi971.png
...
Done! Exported to: verify-flow/verify-010/sliced-images
常见警告处理:
重复名称警告(正常现象):
Warning: Duplicate originalName '唱片'
Warning: Duplicate originalName '雨滴'
这是因为 PSD 中存在同名图层,系统会自动添加 _1、_2 后缀区分。
图层效果警告(需安装依赖):
Warning: Could not export '活动规则': Layer effects require: scikit-image
解决方案:
pip install scikit-image
# 或
pip install 'psd-tools[composite]'
导出统计示例:
如果您计划在 HTML 中使用真实的文本(而不是图片),请使用 --skip-type 参数:
py -3 scripts/export_slices.py --psd design.psd --skip-type
配合 psd-json-preview 的 --include-text 参数,可以实现设计稿文字的完美还原。
--allow-illegal-names(但传入不再引发崩溃,空执行),取而代之的是,现在脚本默认直接放行中文及特殊名称。如果需要强一致校验,必须明确传入 --strict-naming 或 -s。--auto-rename 它会被自动清洗转换。合法✅:button、btn-primary、[flow-y]layout(自动剥离标签)、[abs]icon
非法❌:按钮(中文)、Button<>(特殊字符)
规则:默认仅导出符合 [a-zA-Z0-9_-] 的图层。若图层名以 [tag]name 形式命名,系统将自动识别并剥离标签,提取 name 作为文件名,确保文件系统兼容性。
psd-tools: PSD 文件解析核心库scikit-image: 用于导出包含图层效果的元素(如阴影、发光、渐变等)# 安装依赖
py -3 -m pip install psd-tools
py -3 -m pip install scikit-image
注意:当前脚本在检测到缺少依赖时只会打印警告,不会自动安装。建议使用 psd-to-preview 技能的预检查功能,让 AI 在执行前检查并安装依赖。
-g -p component- 导出标记的组件| 用户关键词 | AI 应执行 |
|---|---|
| "中文图层" / "中文命名" | 默认即可直接满足。为了与代码生成相性好,依然推荐先执行 JSON 提取生成结构以被切图器自动应用。 |
| "统一重命名" / "转ID化" | 使用 --auto-rename 参数 |
| "只导出组" / "图层组" | 使用 -g / --groups-only 参数 |
| "icon-" 开头 | 使用 -p icon- 参数 |
| "严格名称检查" | 使用 -s / --strict-naming 参数 |
| "保存到 xxx" | 使用 -o xxx 参数 |
| "不导出文字" / "文字转代码" | 使用 --skip-type 参数 |