用途:本技能用于把 Pencil 设计稿导入并生成 Axhub Make 原型代码,核心是先经 MCP 读取当前打开的 Pencil 文件与 Frame,用户确认后才写文件。
前置条件:Pencil 桌面端已打开目标 .pen 文件;MCP 可用(如不可用参考 /skills/mcp-installer/SKILL.md)。
标准流程(须按顺序):
- 检测 Pencil MCP 可用性,优先调用 mcp__pencil__get_editor_state;不确定工具前缀时先用 list_tools 列出可用工具,再调用 pencil 相关工具。工具不可用或调用失败则停止后续步骤,提示用户打开 Pencil 并选中目标 Frame 后重试。
- 获取当前 selection 与候选 Frame。selection 含 Frame 时以之为候选;为空或非 Frame 时用 mcp__pencil__batch_get 在当前文件搜索/列出 Frame 候选。候选信息至少包含序号、frameId、frameName、尺寸(若可得);候选较少时可选使用 mcp__pencil__get_screenshot 辅助辨认。候选过多无法确认时,要求用户回到 Pencil 选中需导入的 Frame(可多选)后重新读取 selection。
- 用户确认(阻塞点,确认前不写文件):需明确回答导入范围(全部/子集/回 Pencil 重选)与输出结构(A 单原型多屏:生成 1 个 src/prototypes/<name>/,在 index.tsx 内提供导航切换各 Screen;B 多原型批量:每个 Frame 生成 1 个 src/prototypes/<proto-name>/,不推荐任一选项),并确认 <name>/<proto-name> 由 Frame 名称派生为 kebab-case 的命名规则及重名冲突处理规则。
- 生成原型产物:每个原型目录至少输出 src/prototypes/<name>/spec.md 与 src/prototypes/<name>/index.tsx,可选 style.css;spec.md 记录 Pencil 来源信息(可得则写),包括 .pen 标识/路径、导入的 frameId 与 frameName 列表、Screen 到实现模块的映射。如需“先完成原型、再 1:1 回建 Pencil 并强制后续同步”,可参考 /skills/pencil-sync-after-prototype-workflow/SKILL.md。
- 验收:对每个生成的原型运行 node scripts/check-app-ready.mjs /prototypes/<name>,直到状态为 READY。
限制:具体界面样式、组件能力与平台支持等细节资料暂未提供,需以实际 MCP 工具返回与用户确认为准。