بنقرة واحدة
psd-to-preview
从 PSD 设计文件到预览页面 + React 组件 + Vue 组件的完整转换工作流。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
从 PSD 设计文件到预览页面 + React 组件 + Vue 组件的完整转换工作流。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
将 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日