prototypes-spec

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

从原型工具导出的 HTML 目录(或单个 HTML 文件)中自动识别页面结构、页面内容、控件和交互, 生成 PRD(产品需求文档)、功能清单、测试用例、数据字典等开发交付物。 支持的原型工具: - Axure RP(完整支持:页面树/控件/交互全提取) - 墨刀 Mockplus(离线 HTML 演示包:页面文本和控件) - MasterGo(离线标注导出:画板信息) - 蓝湖 Lanhu(Schema JSON 或导出 HTML) - 其他工具导出的 HTML(退化为通用 HTML 解析) 当用户提到以下任何内容时,**必须**使用此技能: - Axure 原型、RP 原型、axure 导出、原型 HTML、原型文件 - 墨刀、mockplus、mockplus 导出、墨刀离线包 - MasterGo、mastergo 导出、mastergo 离线标注 - 蓝湖、lanhu、蓝湖导出、蓝湖 schema - 原型转 PRD、原型转文档、原型生成文档、根据原型写需求、根据原型生成 - 原型分析、解析原型、分析原型页面、原型提取 - 用户上传了 .html 文件或文件夹,并提到这是原型、设计稿、产品原型 - 用户说"帮我从这个原型生成/输出/导出"等类似表述 - 涉及 "原型" + "文档/PRD/需求/功能/测试" 的组合 - 用户发来一个包含多个 html 文件、data 目录、resources 目录的文件夹,要求分析或生成文档 这是原型转开发文档的专用技能,支持多种主流原型工具,不是通用文档或设计工具技能。

一句话选型结论

按资料字段整理

prototypes-spec是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_90addaef/prototypes-spec
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_90addaef仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791734526
正文体量31.2 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
prototypes-spec当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

31.2 KB
模型实际读到的说明书原文,来自技能仓库

原型 → 开发交付物生成器

工作流程

当你收到一个原型导出目录(或单个 HTML 文件)时,按以下步骤执行:

1. 识别原型类型

脚本会自动识别工具类型,但你也应判断用户提供的是:

  • 完整导出目录:包含多个 HTML 文件和资源子目录
  • 单个 HTML 文件:独立的原型页面文件
  • Schema JSON 文件(蓝湖):结构化图层树数据

支持的工具及其导出特征:

工具 导出形式 识别特征 解析深度
Axure RP HTML 离线包 data/document.js、resources/scripts/axure/ 完整:页面树+控件+交互
墨刀 Mockplus HTML 离线演示包 index.html 含 mockplus 字样、mockplus.js 页面文本+控件类型
MasterGo 离线标注导出 JS 文件含 PAGED_FRAMES/FILE_DATA 画板名称列表
蓝湖 Lanhu Schema JSON 或 HTML .schema.json 文件、lanhutext/lanhuimage 类型 图层树+文本+控件类型
未知工具 HTML 文件 无上述特征 退化为通用 HTML 文本提取

2. 解析原型结构

使用 scripts/parse_axure.py 脚本解析原型(脚本名沿用旧名,但已支持多工具)。调用命令(在技能目录下执行):

# 完整目录解析,输出可读摘要(自动识别工具类型)
python3 scripts/parse_axure.py <原型目录路径>

# 输出 JSON 摘要(推荐,便于后续程序化处理)
python3 scripts/parse_axure.py <原型目录路径> --json-summary

# 输出完整 JSON(含所有文本/控件/交互)
python3 scripts/parse_axure.py <原型目录路径> --json

# 单个 HTML 文件
python3 scripts/parse_axure.py <页面.html>

脚本会自动识别工具类型并分发到对应解析器,返回结构化数据(含 tool 字段标注工具类型、页面树、每页的文本内容、控件类型、交互事件)。拿到 JSON 后用 json.loads 解析,按页面遍历生成交付物。工具识别顺序、各工具解析深度对比与 Axure 数据键详见 解析引擎说明.md(调试降级行为或扩展工具支持时读取)。

该脚本会:

对于 Axure 完整目录:

  • 从 data/document.js 中提取页面树结构(页面名称、URL、层级关系)
  • 从每个页面的 HTML 中提取所有可见文本内容(标题、标签、表格数据、按钮文字等)
  • 从 data.js 中提取控件类型信息(矩形、按钮、输入框、表格、树、图片等)
  • 从 data.js 中提取交互事件(onClick 跳转、弹出等)
  • 页面分类(page_category):见下方"页面分类与截图拼接识别"
  • 截图拼接识别(is_screenshot_composite):见下方
  • 筛选区域识别(filter_area):见下方
  • 严格字段提取(strict_fields / ambiguous_fields):见下方

对于墨刀离线包:

  • 扫描所有 HTML 文件提取页面文本和控件注释
  • 从 index.html 中提取页面链接列表构建扁平页面清单
  • 不含交互事件提取(墨刀离线包格式不固定)

对于 MasterGo 离线标注:

  • 定位含 PAGED_FRAMES 的数据 JS 文件
  • 提取画板名称和 ID 列表
  • 若无数据文件,退化为通用 HTML 扫描

对于蓝湖 Schema JSON:

  • 查找 .schema.json 文件,解析图层树
  • 递归遍历提取 lanhutext 类型节点的文本内容
  • 提取所有图层类型(lanhutext/lanhuimage/lanhubutton 等)
  • 若无 schema 文件,退化为通用 HTML 扫描

对于单个 HTML 文件(任何工具):

  • 解析 HTML 中的 DOM 结构,提取所有 <span> 标签内的文本内容
  • 提取控件注释(<!-- Unnamed (控件类型) -->)识别控件类型
  • 提取表格结构、按钮、链接等

对于未知工具的 HTML 目录:

  • 退化为通用 HTML 扫描,提取所有 HTML 文件中的文本和控件注释
  • 在输出中标注"工具类型未识别,输出为降级版本"

2.1 页面分类与截图拼接识别

每页解析结果新增以下字段,所有交付物(PRD/功能清单/数据字典等)都应基于这些字段生成:

字段 类型 说明
page_category string 页面分类标签,见下表
is_screenshot_composite bool 页面是否由多张截图拼出来
screenshot_evidence string 截图拼接判定的证据描述
strict_fields list 严格基于页面出现内容提取的字段说明(禁止臆想)
ambiguous_fields list 模糊字段(标签后无控件/类型无法推断),需先与用户确认再写入 PRD/数据字典
filter_area dict 筛选区域识别(管理后台常见),含 has_filter/filter_fields/filter_actions/verified(字段是否经 styles.css 坐标核实)
cleaned_texts list texts 剔除全局菜单噪声(各页重复出现的导航/菜单壳文本)后的去噪子集;生成交付物优先以 cleaned_texts 为文本来源,texts 保留全量供回溯

页面分类标签(page_category):

标签 含义 识别依据
admin_console 管理后台页面 含"管理后台/后台管理/控制台"等关键词,或 表格+下拉+按钮 控件组合
config_page 配置页 含"配置/设置/参数设置"等关键词
mobile_page 移动端页面 含"移动端/手机端/h5/viewport"等关键词
flow_diagram 流程图 / 拓扑图 含"流程图/拓扑/节点/连线"等关键词,或 图片控件为主且无输入框
login_page 登录 / 注册 / 验证码页 含"登录/注册/验证码/找回密码"等关键词
list_page 列表页 含表格控件但无下拉筛选
detail_page 详情页 标题 + 字段键值对
form_page 表单页 含输入框控件且无表格
modal_dialog 弹窗 / 对话框 —
dashboard 仪表盘 / 数据看板 含"仪表盘/看板/大盘/首页/overview"等关键词
image_composite 截图拼接页 由多张截图拼出来(见下方截图拼接识别)
unknown 无法判定 —

截图拼接识别(is_screenshot_composite):

满足以下任一条件即判定为截图拼接:

  1. 多张大图:≥2 张宽度 ≥600px 的 <img>
  2. 多张 background-image 切片:≥2 个不同 url 的 background-image
  3. 文本极少 + 图片多:文本 ≤5 条且 <img> ≥3 张
  4. 单张超大图 + 几乎无文本:一张宽度 ≥800px 的图且文本 ≤5 条

判定为截图拼接的页面,在 PRD 上必须有明确标识(见 PRD-template.md 的"截图拼接页标识"章节)。

严格字段提取(strict_fields / ambiguous_fields):

字段说明严格基于页面出现的内容输出,禁止凭空臆想。规则:

  1. 字段标签必须出现在页面 texts 中(不臆想)——以":"或":"结尾,或匹配常见字段后缀(名称/编号/状态/时间/日期/类型/分类/部门/创建时间/更新时间/手机/邮箱/地区/标签/级别 等)
  2. 字段类型从对应控件推断:标签后紧跟"请选择"则下拉,"请输入"则输入框,"请选择日期"则日期选择器;若控件类型对应不上,标"待确认"
  3. 必填/默认值/校验规则:原型未明确显示时,一律标"待确认",不得凭空臆想
  4. 模糊字段归入 ambiguous_fields:标签后无对应控件文本,或类型完全无法推断;必须先与用户确认后再写入 PRD/数据字典
  5. 英文字段名(name):不臆想,留空待用户/后端确认

每个 strict_fields 条目结构:

{
  "name": "",                  // 英文字段名,不臆想,留空待确认
  "label": "客户名称:",       // 字段标签,来源于页面文本
  "type": "输入框(input)",     // 控件类型,从页面控件推断
  "required": "待确认",        // 必填,原型未明确 * 必填符号时标"待确认"
  "default_value": "待确认",   // 默认值,原型未显示时标"待确认"
  "note": "字段标签来源于页面文本,类型/必填/默认值需对照原型确认",
  "source": "page_text"
}

筛选区域识别(filter_area,管理后台常见):

后台管理页面若有筛选区域,识别并输出筛选字段说明。识别逻辑:

  1. 文本中含筛选关键词(筛选/过滤/查询条件/搜索条件/查询/检索/filter/search/query)且同时存在下拉框/输入框/日期控件
  2. 或文本中含筛选操作按钮(查询/搜索/重置/清空/search/filter/reset/clear)且同时存在下拉框/输入框/日期控件

筛选字段提取(filter_area.filter_fields):从 texts 中按出现顺序提取,匹配常见筛选字段名(名称/编号/状态/时间/日期/类型/分类/部门/创建时间/更新时间/手机/邮箱/地区/标签/级别)的优先纳入。每个筛选字段含:label(筛选条件名称)/control_type(控件类型,待确认时不臆想)/required/default_value/note。

筛选操作按钮(filter_area.filter_actions):从 texts 中提取查询/搜索/重置/清空等按钮文字。

3. 让用户选择要纳入输出材料的页面

解析完成后先不要直接全量生成,而是让用户选择"要为哪些页面生成交付物"。原型里常常混入封面页、版本记录页、废弃草稿页,让用户先圈定范围能大幅减少后续交付物的噪声。

3.1 展示页面清单

用 --list-pages 输出带序号的页面清单(含每页文本/控件/交互数量),让用户一眼看到可选范围:

python3 scripts/parse_axure.py <原型目录> --list-pages

页面较多时(如超过 15 页),可改用 --list-pages-group 按文件名前缀分组展示,便于用户按模块快速圈选:

python3 scripts/parse_axure.py <原型目录> --list-pages-group

输出示例:

📁 项目: netxalerp
📄 识别到的页面总数: 18

可选择的页面清单(序号为选择时使用的编号):
    1. 概述       [文本×12, 控件×8, 交互×0]   overview.html
    2. 业务       [文本×5, 控件×3, 交互×2]     business.html
    ...

同时把解析摘要(页面树、页面内容摘要)一并呈现给用户,便于他判断哪些页面值得纳入。

3.2 询问选择并等待确认

向用户提供选择语法后暂停等待用户回复:

> 我已解析该原型,共识别到 18 个页面。请选择要生成交付物的页面范围:
>
> 选择语法(逗号分隔,可混合):
>
> - all — 全部页面
> - 1,3,5 — 按序号多选(1-based)
> - 2-6 — 按序号范围(闭区间)
> - 概述,业务.html — 按页面名(带不带 .html 均可)
> - 1,3-5,概述 — 混合
>
> 直接回复即可,例如:1,3-7 或 all。

3.3 按选择重新解析(过滤)

拿到用户选择后,用 --pages <spec> 重新跑解析脚本,得到只含选中页面的 JSON:

# 仅解析用户选中的页面,输出过滤后的 JSON
python3 scripts/parse_axure.py <原型目录> --pages "1,3-7" --json > prototype.json

脚本支持的 --pages 语法与 3.2 展示给用户的完全一致:

语法 含义
all 全部页面
1,3,5 按序号多选(1-based,即清单里显示的编号)
2-6 按序号范围(闭区间)
概述 / 业务.html 按页面名精确匹配(带不带 .html 后缀均可)
1,3-5,概述 混合

过滤后 JSON 的 pages 数组只保留选中页面,total_pages / selected_page_count / selected_indices 字段同步更新;page_tree 保留完整层级结构供交付物引用父子关系。后续步骤(询问交付物、生成交付物)都基于这份过滤后的 JSON 执行。

3.4 选择环节的边界处理

  • 用户尚未指定页面 → 必须先展示清单并询问,不得默认 all 直接进入交付物生成
  • 用户回复 all 或"全部" → 跳过过滤,按全量 JSON 继续
  • 用户输入无法识别的项 → 脚本会打印 警告: 以下选择项无法识别,已忽略:xxx 到 stderr,识别成功部分仍生效;若全部失败脚本以 exit code 2 退出,此时向用户重新解释语法并请求再次输入
  • 单个 HTML 文件(非目录)→ 无页面可选,直接跳到步骤 4
  • MasterGo / 蓝湖画板级原型 → 画板即页面,按相同语法选择
  • 用户选完后又想改 → 允许他在交付物生成前再次给出新的选择字符串,重新跑 3.3

4. 询问用户要生成的交付物

基于步骤 3 过滤后的页面集合,将解析结果整理后呈现给用户,展示后暂停等待用户确认范围再继续,然后询问:

> 我已经解析了该原型,共识别到 X 个页面,结构如下:
> [页面树]
> 主要页面内容摘要:...
>
> 请选择要生成的交付物(可多选):
>
> 1. 📄 PRD(产品需求文档) - Markdown,7 章节(文档信息/产品概述/页面结构/功能需求/非功能需求/页面流程图/附录)
> 2. 📋 功能清单 - xlsx,8 列(功能编号/模块/功能名称/功能描述/优先级/所属页面/关联功能/备注),按页面分组
> 3. 🧪 测试用例 - xlsx,8 列(用例编号/模块/功能点/用例标题/前置条件/测试步骤/预期结果/优先级),按模块分组
> 4. 📊 数据字典 - md,9 列字段表(字段名/中文名/类型/长度/必填/默认值/说明/所属页面/备注),按页面分组
> 5. 🔗 页面跳转关系图 - md,含 Mermaid 流程图 + 跳转详表 + 孤立页面清单
> 6. 🎯 用户故事(User Story) - md,含角色定义 + 故事地图 + 详表 + 验收标准汇总
> 7. 📅 开发计划 - md,含模块拆分表 + 4 里程碑 + 风险项
> 8. 💡 自定义组合 - 你指定格式

何时跳过询问直接生成(避免让用户重复已经说清楚的事):

  • 用户 prompt 中已明确指定要生成什么(如"生成 PRD"、"做一份功能清单和测试用例"、"分析页面"对应单页分析报告)→ 跳过询问,直接生成指定的交付物,但仍先展示解析摘要让用户确认范围
  • 用户指定了输出格式(如"xlsx 格式"、"Markdown"、"Word")→ 按指定格式输出,不问格式
  • 用户只说"分析这个原型"但未指定交付物 → 必须询问要生成什么
  • 用户说"生成所有交付物"或"能生成的都生成" → 跳过询问,生成全部7类
  • 解析后发现的页面数/结构与用户描述严重不符(如用户说"3个页面"实际解析到20个)→ 暂停,先告知差异让用户确认,再继续生成

这样做的原因:用户已经明确说出来的需求,再问一遍是冗余且让用户觉得"没被听见";但模糊的指令必须澄清,避免做错方向。

> 注意:步骤 3 已让用户圈定页面范围,步骤 4 的"让用户确认范围"指的是确认交付物清单与选中页面集合是否符合预期,而非再次选择页面。

5. 生成交付物

根据用户选择,生成对应的交付物。每种交付物有独立的格式规范文件(位于 references/,给模型读取的列定义/便签纳入规则)+ 独立生成脚本(位于 scripts/,可执行生成真正可打开的 xlsx/md):

交付物 格式 reference 规范 生成脚本 何时读取
📄 PRD md references/PRD-template.md (inline,无独立脚本) 用户要生成 PRD 时
📋 功能清单 xlsx references/功能清单.md scripts/generate_feature_list.py 用户要生成功能清单时
🧪 测试用例 xlsx references/测试用例.md scripts/generate_test_cases.py 用户要生成测试用例时
📊 数据字典 md references/数据字典.md scripts/generate_data_dict.py 用户要生成数据字典时
📅 开发计划 md references/开发计划.md scripts/generate_dev_plan.py 用户要生成开发计划时
🔗 页面跳转关系图 md references/页面跳转关系图.md scripts/generate_page_flow.py 用户要生成跳转关系图时
🎯 用户故事 md references/用户故事.md scripts/generate_user_stories.py 用户要生成用户故事时

工作分工:

  • references/ 规范文档(.md)— 给模型读取:列定义、工作表/文档结构、便签纳入规则、优先级评定、使用要点。决定"生成什么样子"
  • scripts/ 生成脚本(.py)— 给机器执行:可独立跑,按规范产出真正可打开的 .xlsx(openpyxl 生 Excel 二进制)/ .md。决定"怎么生成"

为什么不把代码塞进 reference:skill 规范里 references/ 放给模型读的文档、scripts/ 放可执行代码——职责分离便于独立调试、复用、升级。reference 只描述"应该生成什么",脚本负责"真正生成出来"。

典型生成流程(以功能清单为例):

# 1. 先用 parse_axure.py 拿到解析 JSON
python3 scripts/parse_axure.py <原型目录> --json > prototype.json

# 2. 跑对应生成脚本(脚本会读 reference 规范推断逻辑)
python3 scripts/generate_feature_list.py prototype.json output/功能清单.xlsx

生成脚本接受统一参数:<解析JSON> [输出路径],默认输出到 CWD。脚本内的推断函数(如 infer_features_for_page)实现了对应 reference 规范中描述的列定义、分组、便签纳入规则——若需调整推断逻辑,直接编辑脚本对应函数即可。

各交付物生成要点(列结构见步骤 4 交付物菜单;便签纳入规则见「便签/备注说明的解析与纳入」章节;详细规范以对应 reference 文件为准,生成前必须读取):

  • PRD 由模型 inline 生成(结构灵活),其余 6 类交付物优先跑生成脚本产出文件
  • PRD 的功能需求中,每个功能项在"功能描述"后按 references/PRD-template.md 增加「截图」与「相关页面」小节:「相关页面」嵌入该功能所属页面的原型截图(截图导出到 output/screenshots/,PRD 中用相对路径引用),「截图」放用户另行提供的现状界面截图(如有);无对应素材的功能项省略小节
  • 截图询问(生成 PRD 前必做,不得静默省略截图小节):写 PRD 前向用户确认两件事——
    1. 「相关页面」原型截图:Axure 等工具导出自带页面图片时,直接复制/导出到 output/screenshots/;原型为纯 HTML(页面无 <img> 素材)时,询问"是否将各页渲染为全页截图嵌入"(可用 Playwright/Chrome headless 渲染),用户同意后渲染导出,拒绝则省略「相关页面」小节
    2. 「截图」现状截图:询问用户是否有现状界面截图需要纳入;有则请其提供文件路径并复制到 output/screenshots/,无则全部功能项省略「截图」小节
  • 测试用例的用例编号全局递增,不按模块重置
  • 用户要求的输出格式与默认格式不同时(如测试用例要 md 而非 xlsx),仍按对应 reference 的列结构 inline 生成,不改变列定义

6. 输出文件管理

  • 所有输出存放在原型目录下的 output/ 文件夹中
  • 按交付物类型单文件命名:PRD.md、功能清单.xlsx、测试用例.xlsx、数据字典.md、页面跳转关系图.md、用户故事.md、开发计划.md
  • xlsx 单文件多 sheet:功能清单/测试用例各自独立 xlsx,主表 + 副表「说明」共 2 张 sheet;不合并不同交付物到同一 xlsx
  • md 交付物各自独立单文件,不合并
  • 如果用户指定了输出位置,则保存到指定位置

7. 可选流程:调用 requirement-analysis 进行需求澄清与分析

触发时机:在步骤 6 完成交付物输出归档(所有文件已写入 output/)之后。

前置条件(任一满足即可询问):

  • 已生成 PRD(output/PRD.md)
  • 已生成功能清单(output/功能清单.xlsx)
  • 已生成用户故事(output/用户故事.md)

> 若本次仅生成了页面跳转关系图/数据字典/开发计划等非"需求主体"交付物,仍可询问,但向用户说明"需求澄清对 PRD/功能清单类交付物收益更大"。

7.1 询问用户是否调用

生成交付物后,主动询问用户是否需要调用 requirement-analysis skill 进行需求澄清和分析:

> 📦 交付物已生成至 output/ 目录。
>
> 原型解析生成的 PRD/功能清单基于原型可见内容推断,可能存在:
>
> - 🔴 模糊描述(如"管理用户信息"无具体操作)
> - 🟡 边界不明(如"导出数据"未说明格式/范围)
> - 🟢 缺失上下文(如审批流程未定义审批角色)
>
> 是否调用 requirement-analysis skill 进行需求澄清与分析?
>
> - A. ✅ 调用 — 启动 requirement-analysis skill,对已生成的 PRD/功能清单进行需求澄清、冲突检测、INVEST 质量评估
> - B. ⏭️ 跳过 — 当前交付物已满足需求,流程结束

7.2 调用 requirement-analysis skill

用户选择 A 后,调用 requirement-analysis skill,并传入以下上下文:

传入参数:

  • 数据来源:本次原型解析生成的交付物文件路径
  • output/PRD.md(主输入,PRD 是 requirement-analysis 的核心处理对象)
  • output/功能清单.xlsx(若已生成,作为补充输入)
  • output/用户故事.md(若已生成,作为补充输入)
  • output/_prototype.json(解析 JSON,供 requirement-analysis 读取原始页面数据)
  • 原型信息:原型目录路径、工具类型、页面数、页面树
  • 本次生成范围:用户在步骤 3 选中的页面集合

调用方式:

使用 use_skill 工具调用 requirement-analysis skill,arguments 中传入上述上下文。调用后由 requirement-analysis skill 接管流程,执行其 8 阶段工作流(文档扫描 → 解析 → 功能提取 → 智能整合 → 需求澄清 → 用户确认 → 生成 PRD → 可选推送)。

调用示例:

use_skill:
  name: requirement-analysis
  arguments: |
    数据来源:本次原型解析生成的交付物
    原型目录:/Users/wikky/Documents/Axure/HTML/v2.2.3x 线索自动分配
    工具类型:axure
    页面数:8
    已生成交付物:
      - output/PRD.md(主输入)
      - output/用户故事.md(补充输入)
      - output/_prototype.json(解析 JSON)
    请对已生成的 PRD 进行需求澄清、冲突检测与 INVEST 质量评估。

7.3 requirement-analysis skill 接管后的行为

requirement-analysis skill 被调用后,将基于传入的 PRD/功能清单执行:

  1. 阶段 1-2 文档扫描与解析:读取 output/PRD.md、output/功能清单.xlsx 等,解析为统一中间格式
  2. 阶段 3 功能提取:从 PRD 的功能清单章节提取原子级功能
  3. 阶段 4 智能整合:语义去重、信息补充、冲突检测
  4. 阶段 4.5 整合摘要确认:展示整合结果供用户确认
  5. 阶段 5 需求澄清:检测模糊描述、边界不明、歧义表述等问题,按严重程度分级,逐批与用户交互澄清
  6. 阶段 6 用户确认:确认所有 🔴 严重矛盾已解决
  7. 阶段 7 生成 PRD:生成最终的标准化 PRD.md(覆盖或增量更新 output/PRD.md)
  8. 阶段 8 PRD 推送(可选):询问用户是否推送到飞书/Git/FTP 等

输出物:

  • output/PRD.md — 经需求澄清与质量评估后的最终 PRD(覆盖原型解析生成的初版 PRD)
  • output/需求澄清报告.md — requirement-analysis 生成的澄清报告(若该 skill 支持)
  • output/质量评估报告.md — INVEST 六维质量评估报告(若该 skill 支持)

7.4 边界处理

  • 用户选择 B(跳过) → 流程直接结束,不调用 requirement-analysis
  • requirement-analysis skill 未安装 → 检测 ~/.atomcode/skills/requirement-analysis/ 是否存在;不存在则告知用户"requirement-analysis skill 未安装,跳过需求澄清,可手动安装后重试",流程结束
  • requirement-analysis skill 调用失败 → 捕获错误,告知用户"需求澄清调用失败:[错误信息],当前交付物保留在 output/ 目录",流程结束
  • 用户在步骤 4 已明确说"调用 requirement-analysis"或"进行需求澄清" → 跳过 7.1 询问,直接执行 7.2 调用
  • 用户在步骤 4 已明确说"不需要需求澄清" → 跳过整个步骤 7
  • PRD 未生成但功能清单已生成 → 仍可调用,requirement-analysis 会以功能清单为主输入反推 PRD
  • 本次仅生成了页面跳转关系图 → 询问时说明"需求澄清对 PRD/功能清单类交付物收益更大,当前仅有页面跳转关系图,建议先在步骤 4 选择生成 PRD"

7.5 流程总览

步骤 1-2: 识别原型类型 → 解析原型结构
    ↓
步骤 3: 用户选择页面范围
    ↓
步骤 4: 用户选择交付物类型
    ↓
步骤 5: 生成交付物 → 写入 output/
    ↓
步骤 6: 输出文件管理(output/ 归档)
    ↓
步骤 7: 询问是否调用 requirement-analysis 进行需求澄清
    ├── A. 调用 → use_skill("requirement-analysis", ...) → requirement-analysis 接管 8 阶段流程
    └── B. 跳过 → 流程结束

便签/备注说明的解析与纳入

已支持:解析脚本 parse_axure.py 在解析每页 HTML 时已提取便签(Axure 中以 id 后缀 _ann 的 div 标识)和矩形内备注说明(以"备注"字样开头的矩形/文本段落),归入每页的 notes 字段。

所有交付物都应纳入 notes 字段,具体纳入方式见各 reference 文件的"便签/备注说明的纳入"章节:

  • PRD:补入功能需求的"备注说明"项和附录的便签汇总
  • 功能清单:补为独立功能条目或备注列
  • 测试用例:补为业务规则用例或前置条件
  • 数据字典:优先填入"说明"和"备注"列
  • 页面跳转关系图:补入跳转条件与备注列
  • 用户故事:补为独立故事、验收标准或角色识别依据
  • 开发计划:影响工时估算与风险评估

在每份交付物末尾的"数据来源说明"章节标注:便签/矩形内备注说明已纳入。

注意事项

  1. 原型完整性检查:解析前用 os.path.exists 检查 data/document.js 是否存在,判断是完整目录还是单个文件
  2. 中文优先:默认生成中文文档,如果用户要求英文则切换
  3. 内容推断:当原型中的文本不足以明确功能时,基于页面结构和控件类型做合理推断,并在输出中标注"(推测)"
  4. 交互识别:从 data.js 中提取 onClick 等交互事件,用于生成页面跳转图和用户操作流程
  5. xlsx 输出:使用 openpyxl 库生成 Excel 文件,确保格式工整
  6. Word 输出:如果用户要求 Word 格式的 PRD,使用 python-docx 库生成
  7. 不要过度脑补:原型中未体现的内容不要编造,标注为"待补充"
  8. 输出前确认:生成前先展示解析摘要,让用户确认后再生成完整文档

边界条件与异常处理

出现异常按以下 fallback 处理,不要静默失败。原则:即使原型不完整,也要交付一份降级版文档,而非直接报错退出。

  1. 路径不存在 → 报告用户 + glob 父目录搜候选让用户选 + 不自行假设路径
  2. parse_axure.py 报错 → 单独跑一次捕获 stderr 展示 + 降级为直接 read_file HTML 提取 <span> 文本和控件注释(标注"降级输出,未含交互/树结构")+ 降级也失败则终止告知
  3. files/<页面名>/data.js 缺失 → 仅 HTML 解析,标注"本页无 data.js,交互事件未提取"
  4. 页面 HTML 无 &lt;span&gt; 文本 → 标注"本页无可见文本,可能为纯图片/流程图页面",保留条目功能描述写"(待补充)"
  5. document.js 解析后页面数为 0 或树构建失败 → 降级扁平扫描 glob *.html(排除 index/start),标注"层级关系待补充"
  6. _output/ 不可写 → 尝试用户指定路径 → CWD → /tmp/,告知实际保存路径

常见问题

5 问
答案由本站依据条目字段整理
prototypes-spec怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_90addaef/prototypes-spec。安装方式为未标注。装完刷新技能列表或重开客户端。

prototypes-spec支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

prototypes-spec权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

prototypes-spec收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

prototypes-spec用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。