with one click
psd-to-preview
从 PSD 设计文件到预览页面 + React 组件 + Vue 组件的完整转换工作流。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
从 PSD 设计文件到预览页面 + React 组件 + Vue 组件的完整转换工作流。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
将 Photoshop(.psd)文件的所有图层导出为独立的 PNG 图片。适用于从 PSD 文件提取图层图片、为网页开发生成切片、或为其他工具准备图层资源。自动处理图层命名、跳过不可见图层、递归导出嵌套图层组。
将 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 还原所需的数据时,务必使用此技能。即使涉及复杂的嵌套结构或需要精确的文本还原(字体、颜色、间距),此工具也能提供结构化的支撑。
项目结构分析技能。用于快速理解陌生前端/全栈项目的技术栈、目录结构和模块依赖关系。通过分层阅读工作流,从框架检测到依赖分析,逐步深入理解项目架构。适用于需要接手新项目、分析代码库、或进行技术调研的场景。
总结 OpenCode 会话内容,提取可复用的经验和方法论。当用户要求"总结本次会话"、"提取经验"、"复盘"、"提取可复用的方法"或类似需求时触发此技能。
| name | psd-to-preview |
| description | 从 PSD 设计文件到预览页面 + React 组件 + Vue 组件的完整转换工作流。 |
当用户请求使用此技能时,必须按以下步骤实际执行命令。
AI 执行规则:
psd-slicer 现已默认支持导出所有的图层(包含中文字符和非常规字符),并且会自动在 PSD 目录下寻找 layer-tree.json 等映射文件。psd-slicer 时直接加上 --auto-rename 参数将资源转为 layer-xxx 格式。如果想要强制图层名字只能是标准的英文+横杠,可以使用 --strict-naming 过滤掉不规范命名的层。--skip-type,并在步骤 3 使用 --include-text此技能作为工作流入口,高度依赖以下三个核心技能。在执行前请确保它们在指定路径存在:
psd-layer-reader: 负责解析 PSD 结构生成 JSON 树。psd-slicer: 负责导出图层切片图片。psd-json-preview: 负责将 JSON 和图片合成为终端代码(HTML/React/Vue)。AI 在执行工作流前,必须先检查依赖是否已安装:
# 检查 psd-tools
py -3 -c "import psd_tools" 2>&1
# 如果返回 ImportError,表示未安装
# 检查 scikit-image
py -3 -c "import skimage" 2>&1
如果缺少依赖,AI 必须询问用户:
"检测到缺少以下依赖,是否安装?
psd-tools(必需)scikit-image(必需)输入 '是' 确认安装,或 '否' 跳过(部分图层可能无法导出)"
用户确认后,AI 执行安装:
# 安装必需依赖
py -3 -m pip install psd-tools
# 安装可选依赖(如果用户同意)
py -3 -m pip install scikit-image
版本检查(可选):
# 检查已安装的版本
py -3 -c "import psd_tools; print('psd-tools:', psd_tools.__version__)"
py -3 -c "import skimage; print('scikit-image:', skimage.__version__)"
注意事项:
psd-tools,无法继续执行工作流scikit-image,可以执行但部分带图层效果的元素会被跳过# 步骤 1:图层解析
py -3 .claude/skills/psd-layer-reader/scripts/psd_layers.py \
<PSD文件路径> --output <输出目录>/layer-tree.json
# 步骤 2:图层切片
py -3 .claude/skills/psd-slicer/scripts/export_slices.py \
--psd <PSD文件路径> --output <输出目录>/sliced-images
# 注:psd-slicer 现默认允许各种图层导出并在工作目录自动查找映射 JSON。若用户需转命名规范化图形文件,可添加 --auto-rename。
# 步骤 3:代码生成
py -3 .claude/skills/psd-json-preview/scripts/generate_preview.py \
--json <输出目录>/layer-tree.json --images <输出目录>/sliced-images \
--out <输出目录> --generate-react --generate-vue \
--component-name PsdComponent --preserve-names
---
### 高级方案:输出真实文本(保留文案可编辑性)
如果用户提到“要输出文案”、“文字转代码”或“文字不要切图”,请使用以下组合命令:
```powershell
# 步骤 2:图层切片(跳过文本图层,避免生成文字图片)
py -3 .claude/skills/psd-slicer/scripts/export_slices.py \
--psd <PSD文件路径> --output <输出目录>/sliced-images --skip-type
# 步骤 3:代码生成(开启文本渲染,将文字转为 HTML/CSS)
py -3 .claude/skills/psd-json-preview/scripts/generate_preview.py \
--json <输出目录>/layer-tree.json --images <输出目录>/sliced-images \
--out <输出目录> --generate-react --generate-vue --include-text
**关键提醒**:
- ✅ 使用 `py -3`(Windows)或 `python3`(Linux/Mac)
---
### 执行检查清单
- [ ] `<输出目录>/layer-tree.json` 有数据
- [ ] `<输出目录>/sliced-images/` 有 PNG 文件
- [ ] `<输出目录>/preview/` 有 HTML 文件
- [ ] `<输出目录>/react-component/` 有 JSX 和 CSS 文件
- [ ] `<输出目录>/vue-component/` 有 Vue 文件
---
## 工作原理
PSD → psd-layer-reader → layer-tree.json → psd-slicer → sliced-images/ → psd-json-preview → preview/ + react-component/ + vue-component/
---
## 快速参考
### 核心参数
| 参数 | 说明 | 示例 |
| ---------- | ------------ | ----------------------- |
| `<PSD路径>` | PSD 文件路径 | `assets/design.psd` |
| `--output` | 输出目录 | `output/design-preview` |
### 常见问题
**Q: 某些图层没有被导出?**
A: 大部分通常是因为图层不可见、不包含内容或者完全透明。如果使用了 `--strict-naming` 参数,则不合规命名(中文等)也会被跳过。
**Q: 导出的图层名字是乱的/中文的?**
A: psd-slicer 会默认使用 PSD 中的原始名称进行导出。你可以在生成切片时加入 `--auto-rename` 将它们转化为通用的标准命名,或者确保 `psd-layer-reader` 已执行并在它的工作目录下自然匹配映射结构。
---
## 输出目录结构
output/ ├── layer-tree.json # 图层数据 ├── sliced-images/ # PNG切片 ├── preview/ # HTML 预览 │ ├── index.html │ ├── styles.css │ └── images/ ├── react-component/ # React组件 │ ├── index.jsx │ ├── index.module.css │ └── images/ └── vue-component/ # Vue组件 ├── index.vue └── images/
---
## 故障排查
| 错误 | 原因 | 解决方案 |
| ------------- | ---------- | ---------------- |
| PSD 未找到 | 路径错误 | 检查文件路径 |
| 权限错误 | 无写入权限 | 检查目录权限 |
| 预览加载失败 | 路径错误 | 确保目录结构完整 |
| JSON 解析错误 | 文件损坏 | 重新运行工作流 |
---
## 依赖说明
### 必需依赖
- `psd-tools`: PSD 文件解析核心库
### 可选依赖
- `scikit-image`: 用于导出包含图层效果的元素(如阴影、发光、渐变等)
### 手动安装命令
如果预检查阶段的自动安装失败,可手动执行:
```bash
# 安装依赖
py -3 -m pip install psd-tools
py -3 -m pip install scikit-image
注意:虽然 SKILL.md 中包含安装命令,但 AI 执行时不会自动运行。请参考"依赖预检查"小节,让 AI 在执行工作流前检查并安装依赖。
版本: 1.6 | 更新: 2026年3月12日