Skip to content

About

No description, website, or topics provided.

Resources

Stars

15 stars

Watchers

0 watching

Forks

Repository files navigation

prototypes-spec · 原型→开发交付物生成器

从原型工具导出的 HTML 目录(或单个 HTML 文件)中自动识别页面结构、页面内容、控件和交互,生成 PRD、功能清单、测试用例、数据字典、页面跳转关系图、用户故事、开发计划,以及系统概要说明书、详细说明书、数据库设计说明书、试运行报告、维护手册、操作手册、应用软件清单、系统参数配置说明、培训计划、服务计划、功能与性能测试报告等开发交付物。

支持 Axure RP、墨刀 Mockplus、MasterGo、蓝湖 Lanhu 及未知工具的 HTML 导出(退化为通用解析)。


目录


安装

方式 1:通过 .skill 文件安装

  1. 获取 prototypes-spec.skill 包文件
  2. 在 Claude Code 或 Claude.ai 中导入该 .skill 文件
  3. 安装后技能会出现在 ~/.claude/skills/prototypes-spec/

方式 2:手动放置源文件

将 prototypes-spec/ 目录复制到 ~/.claude/skills/ 下,保持以下结构:

~/.claude/skills/prototypes-spec/
├── SKILL.md                    # 主技能文档(500+ 行)
├── scripts/
│   ├── parse_axure.py          # 多工具解析引擎
│   ├── generate_spec_docs.py   # 说明书/手册/计划/报告统一生成器
│   └── generate_*.py           # 其他交付物生成脚本
└── references/
    ├── PRD-template.md         # PRD 格式规范
    ├── 功能清单.md             # 功能清单 xlsx 规范
    ├── 测试用例.md             # 测试用例 xlsx 规范
    ├── 数据字典.md             # 数据字典 md 规范
    ├── 开发计划.md             # 开发计划 md 规范
    ├── 页面跳转关系图.md       # 页面跳转关系图 md 规范
    ├── 用户故事.md             # 用户故事 md 规范
    ├── 系统概要说明书.md       # 系统概要说明书 md 规范
    ├── 详细说明书.md           # 详细说明书 md 规范
    ├── 数据库设计说明书.md     # 数据库设计说明书 md 规范
    ├── 试运行报告.md           # 试运行报告 md 规范
    ├── 维护手册.md             # 维护手册 md 规范
    ├── 操作手册.md             # 操作手册 md 规范
    ├── 应用软件清单.md         # 应用软件清单 md 规范
    ├── 系统参数配置说明.md     # 系统参数配置说明 md 规范
    ├── 培训计划.md             # 培训计划 md 规范
    ├── 服务计划.md             # 服务计划 md 规范
    └── 测试报告.md             # 功能与性能测试报告 md 规范

安装完成后,当你在对话中提到"原型""Axure""生成 PRD""原型转文档"等触发词时,Claude 会自动调用此技能。


依赖

依赖 用途 是否必装
python3 运行解析脚本 必装(系统自带)
openpyxl 生成 xlsx 交付物(功能清单/测试用例) 必装(pip install openpyxl)
python-docx 生成 Word 格式 PRD(可选) 选装(pip install python-docx)

支持的原型工具

工具 导出形式 识别特征 解析深度
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 文本提取 + 便签

使用方法

快速开始

直接在对话中告诉 Claude 你的需求,例如:

"我这边有一个 Axure 原型导出的目录,在 /path/to/prototype 下面,请帮我解析这个原型,然后生成一份 PRD(Markdown 格式)。"

Claude 会自动:

  1. 识别原型类型 — 调用 parse_axure.py 脚本自动识别工具类型
  2. 解析原型结构 — 提取页面树、文本内容、控件类型、交互事件、便签/备注
  3. 询问交付物(若未明确指定) — 展示解析摘要,等待你确认范围
  4. 生成交付物 — 按对应 reference 规范生成文件,保存到 output/ 或你指定的位置

输入形式

技能接受以下输入形式:

  • 完整导出目录:包含多个 HTML 文件和资源子目录的文件夹路径
  • 单个 HTML 文件:独立的原型页面文件路径
  • Schema JSON 文件(蓝湖):.schema.json 文件所在目录路径
  • PRD Markdown 文件:用于直接生成培训计划、服务计划与功能/性能测试报告

指定交付物

你可以在对话中明确指定要生成什么:

  • "生成 PRD" → 只生成 PRD.md
  • "做一份功能清单和测试用例" → 生成功能清单.xlsx + 测试用例.xlsx
  • "根据 PRD 生成培训计划、服务计划和测试报告" → 读取 output/PRD.md 生成培训计划.md、服务计划.md、测试报告.md
  • "生成功能测试报告和性能测试报告" → 合并为同一份 测试报告.md
  • "生成所有交付物" / "能生成的都生成" → 生成全部 18 类
  • "分析这个原型" 但未指定交付物 → Claude 会询问你要生成什么

指定输出格式

  • "Markdown 格式" / "md 格式" → 生成 .md 文件
  • "xlsx 格式" / "Excel 格式" → 生成 .xlsx 文件
  • "Word 格式" / "docx 格式" → 生成 .docx 文件(需 python-docx)

输出位置

  • 默认:原型目录下的 output/ 文件夹
  • 自定义:在对话中指定路径,如 "保存到 ~/Desktop/"

交付物清单与输出格式

共支持 18 类交付物,每类有独立的格式规范文件(位于 references/):

# 交付物 默认格式 文件名 规范文件 列数/结构
1 📄 PRD(产品需求文档) md PRD.md PRD-template.md 7 章节
2 📋 功能清单 xlsx 功能清单.xlsx 功能清单.md 8 列,主表 + 副表「说明」
3 🧪 测试用例 xlsx 测试用例.xlsx 测试用例.md 8 列,主表 + 副表「说明」
4 📊 数据字典 md 数据字典.md 数据字典.md 9 列字段定义表
5 🔗 页面跳转关系图 md 页面跳转关系图.md 页面跳转关系图.md Mermaid 流程图 + 详表 + 孤立页面
6 🎯 用户故事 md 用户故事.md 用户故事.md 角色定义 + 故事地图 + 详表 + 验收标准
7 📅 开发计划 md 开发计划.md 开发计划.md 模块拆分表 + 4 里程碑 + 风险项
8 📘 系统概要说明书 md 系统概要说明书.md 系统概要说明书.md 背景/目标/架构/模块/接口/非功能/实体
9 📗 详细说明书 md 详细说明书.md 详细说明书.md 按模块展开功能/流程/规则/异常/接口
10 📙 数据库设计说明书 md 数据库设计说明书.md 数据库设计说明书.md 逻辑模型/ER 图/物理表/字段/索引
11 🧾 试运行报告 md 试运行报告.md 试运行报告.md 准备/执行/结果/整改/结论
12 🛠️ 维护手册 md 维护手册.md 维护手册.md 组织/巡检/故障/变更/安全/应急
13 📖 操作手册 md 操作手册.md 操作手册.md 访问/权限/功能/场景/问题
14 🧩 应用软件清单 md 应用软件清单.md 应用软件清单.md 基础软件/业务模块/接口/许可
15 ⚙️ 系统参数配置说明 md 系统参数配置说明.md 系统参数配置说明.md 配置方式/参数/敏感项/变更/环境差异
16 🎓 培训计划 md 培训计划.md 培训计划.md 目标/对象/需求/课程/组织日程/考核评估
17 🤝 服务计划 md 服务计划.md 服务计划.md 范围/组织职责/服务内容/SLA/流程/应急
18 🧪 功能与性能测试报告 md 测试报告.md 测试报告.md 功能结果/缺陷/性能指标/瓶颈/上线建议(同一文件)

各交付物详细说明

📄 PRD(产品需求文档)

  • 格式:Markdown
  • 文件名:PRD.md
  • 7 章节:文档信息 / 产品概述 / 页面结构 / 功能需求 / 非功能需求 / 页面流程图 / 附录
  • 便签/备注说明纳入功能需求项和附录汇总

📋 功能清单

  • 格式:xlsx(Excel)
  • 文件名:功能清单.xlsx
  • 主表 8 列:功能编号 / 模块 / 功能名称 / 功能描述 / 优先级 / 所属页面 / 关联功能 / 备注
  • 副表「说明」:项目元信息 + 便签纳入标注
  • 按页面分组,合并单元格做模块标题行
  • 便签说明补为独立功能条目或备注列

🧪 测试用例

  • 格式:xlsx(Excel)
  • 文件名:测试用例.xlsx
  • 主表 8 列:用例编号 / 模块 / 功能点 / 用例标题 / 前置条件 / 测试步骤 / 预期结果 / 优先级
  • 副表「说明」:项目元信息 + 便签纳入标注
  • 按模块分组,用例编号全局递增(TC-001、TC-002...)
  • 便签说明补为业务规则用例或前置条件

📊 数据字典

  • 格式:Markdown
  • 文件名:数据字典.md
  • 9 列字段定义表:字段名 / 中文名 / 类型 / 长度 / 必填 / 默认值 / 说明 / 所属页面 / 备注
  • 按页面分组组织
  • 便签说明优先填入"说明"和"备注"列

🔗 页面跳转关系图

  • 格式:Markdown
  • 文件名:页面跳转关系图.md
  • 含 Mermaid 流程图代码块 + 跳转关系详表 + 孤立页面清单
  • 跳转来源优先级:onClick 交互事件 > 按钮文字 > 链接 href > 页面名推断
  • 便签说明补入跳转条件与备注列

🎯 用户故事

  • 格式:Markdown
  • 文件名:用户故事.md
  • 含角色定义 + 用户故事地图(角色 × 模块) + 详表(按角色分组) + 验收标准汇总
  • 故事格式:作为 [角色] / 我想要 [功能] / 以便于 [业务价值] + 验收标准 + 优先级
  • 便签说明补为独立故事、验收标准或角色识别依据

📅 开发计划

  • 格式:Markdown
  • 文件名:开发计划.md
  • 含模块拆分表(工时/依赖/角色) + 4 个里程碑(M1 核心框架 → M4 优化收尾) + 风险项
  • 工时基于功能数估算,需团队确认
  • 便签说明影响工时估算与风险评估

📘 系统概要说明书

  • 格式:Markdown
  • 文件名:系统概要说明书.md
  • 含编写目的 / 适用范围 / 系统概述 / 总体设计 / 功能概要 / 接口概要 / 数据概要 / 非功能需求 / 约束与假设
  • 面向评审与立项,不展开按钮级交互和表字段
  • 生成脚本:python3 scripts/generate_spec_docs.py prototype.json output/系统概要说明书.md --doc-type system-overview

📗 详细说明书

  • 格式:Markdown
  • 文件名:详细说明书.md
  • 按模块展开:模块职责 / 功能构成 / 处理流程与交互 / 业务规则与异常处理
  • 功能编号全局递增;交互事件翻译为业务步骤,过滤 Axure 运行时脚本
  • 生成脚本:python3 scripts/generate_spec_docs.py prototype.json output/详细说明书.md --doc-type detailed-design

📙 数据库设计说明书

  • 格式:Markdown
  • 文件名:数据库设计说明书.md
  • 含设计原则 / 数据库选型 / 命名规范 / 逻辑模型 / ER 图 / 物理表 / 字段 / 索引 / 安全与备份
  • 每表必备 id、created_at、updated_at;无业务字段的页面不建空表
  • 字段类型、默认值、索引均为建议,未知项标“待确认”
  • 生成脚本:python3 scripts/generate_spec_docs.py prototype.json output/数据库设计说明书.md --doc-type database-design

🧾 试运行报告

  • 格式:Markdown
  • 文件名:试运行报告.md
  • 含试运行概述 / 准备 / 执行 / 结果 / 问题整改与上线建议 / 结论
  • 执行结果、指标、结论必须来自真实记录;无记录时标“待执行/待确认”
  • 生成脚本:python3 scripts/generate_spec_docs.py prototype.json output/试运行报告.md --doc-type trial-run-report

🛠️ 维护手册

  • 格式:Markdown
  • 文件名:维护手册.md
  • 含维护组织 / 日常巡检 / 故障处理 / 变更发布 / 安全合规 / 应急预案
  • 部署拓扑、监控工具、值班电话等原型未体现内容标“待确认”
  • 生成脚本:python3 scripts/generate_spec_docs.py prototype.json output/维护手册.md --doc-type maintenance-manual

📖 操作手册

  • 格式:Markdown
  • 文件名:操作手册.md
  • 含系统访问 / 角色权限 / 功能操作 / 常见业务场景 / 常见问题
  • 操作步骤过滤原型运行时噪声,只保留用户可理解的导航、按钮与表单动作
  • 生成脚本:python3 scripts/generate_spec_docs.py prototype.json output/操作手册.md --doc-type operation-manual

🧩 应用软件清单

  • 格式:Markdown
  • 文件名:应用软件清单.md
  • 含基础软件与中间件 / 业务应用模块 / 接口与外部依赖 / 版本与许可 / 部署关系
  • 业务模块来自原型页面;基础软件为通用基线建议,版本/许可/部署位置标“待确认”
  • 生成脚本:python3 scripts/generate_spec_docs.py prototype.json output/应用软件清单.md --doc-type application-inventory

⚙️ 系统参数配置说明

  • 格式:Markdown
  • 文件名:系统参数配置说明.md
  • 含配置概述 / 参数清单 / 敏感参数 / 变更流程 / 环境差异 / 校验与故障处理
  • 配置页面字段只作为业务参数候选,参数键名、默认值、取值范围需确认
  • 生成脚本:python3 scripts/generate_spec_docs.py prototype.json output/系统参数配置说明.md --doc-type system-parameters

🎓 培训计划

  • 格式:Markdown
  • 文件名:培训计划.md
  • 含培训目标 / 对象 / 需求分析 / 课程大纲 / 组织与日程 / 考核与效果评估 / 保障与风险
  • 优先根据 PRD 生成:python3 scripts/generate_spec_docs.py output/PRD.md output/培训计划.md --doc-type training-plan
  • 也可在原型 JSON 上叠加 PRD:追加 --prd output/PRD.md
  • 时间、人数、讲师、考核标准未提供时标“待确认”;课时为建议值

🤝 服务计划

  • 格式:Markdown
  • 文件名:服务计划.md
  • 含服务范围 / 组织职责 / 服务内容 / SLA / 服务流程 / 资源保障 / 风险应急 / 持续改进
  • 优先根据 PRD 生成:python3 scripts/generate_spec_docs.py output/PRD.md output/服务计划.md --doc-type service-plan
  • 服务团队、联系方式、合同 SLA 未提供时标“待确认”;响应/恢复时限为建议基线

🧪 功能与性能测试报告

  • 格式:Markdown
  • 文件名:测试报告.md
  • 功能测试报告与性能测试报告在同一份文件,分章节记录,不拆成两个文件
  • 含测试概述 / 测试对象与策略 / 功能测试(执行汇总、结果明细、缺陷、结论)/ 性能测试(目标、场景、指标、瓶颈、调优、结论)/ 综合结论与上线建议
  • 优先根据 PRD 生成:python3 scripts/generate_spec_docs.py output/PRD.md output/测试报告.md --doc-type test-report
  • 执行结果、缺陷、性能指标与结论必须来自真实测试记录;未提供时标“待执行/待确认”,不得编造通过率

xlsx 输出规则

  • 功能清单和测试用例各自独立 xlsx 文件,不合并到同一 xlsx
  • 每个 xlsx 含主表 + 副表「说明」共 2 张 sheet
  • 主表冻结首行,列宽固定,模块标题行合并单元格

md 输出规则

  • 每份 md 交付物独立单文件,不合并(功能测试与性能测试合并为一份 测试报告.md 除外)
  • 末尾含"数据来源说明"章节,标注便签/备注说明是否已纳入

页面分类与截图拼接识别

解析时每页新增以下字段,所有交付物都应基于这些字段生成:

字段 类型 说明
page_category string 页面分类标签
is_screenshot_composite bool 页面是否由多张截图拼出来
screenshot_evidence string 截图拼接判定的证据描述
strict_fields list 严格基于页面出现内容提取的字段说明(禁止臆想)
ambiguous_fields list 模糊字段,需先与用户确认再写入 PRD/数据字典
filter_area dict 筛选区域识别(管理后台常见)

页面分类(page_category)

分类 含义
admin_console 管理后台页面
config_page 配置页
mobile_page 移动端页面
flow_diagram 流程图 / 拓扑图
login_page 登录 / 注册 / 验证码页
list_page 列表页
detail_page 详情页
form_page 表单页
modal_dialog 弹窗 / 对话框
dashboard 仪表盘 / 数据看板
image_composite 截图拼接页
unknown 无法判定

识别优先级:关键词匹配(页面名+文本)> 控件组合推断 > 截图拼接 > unknown。

截图拼接识别(is_screenshot_composite)

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

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

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

严格字段提取(禁止臆想)

字段说明严格基于页面出现的内容输出:

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

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

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

  • has_filter:是否存在筛选区(含筛选关键词且同时存在下拉/输入/日期控件,或含筛选操作按钮)
  • filter_fields:筛选条件列表,每项含 label(筛选条件名称)/control_type(控件类型,待确认时不臆想)/required/default_value/note
  • filter_actions:筛选操作按钮列表(查询/搜索/重置/清空等)

筛选字段的控件类型/必填/默认值若原型未明确显示,标"待确认",需对照原型或与用户确认后再补充。


便签/备注说明的纳入

技能已支持解析原型中的便签和矩形内备注说明:

  • Axure 便签:以 id 后缀 _ann 的 div 标识,文本在 <span> 内
  • 矩形内备注说明:以"备注"字样开头的矩形/文本段落

解析后归入每页的 notes 字段。所有 18 类交付物都应纳入 notes 字段,具体纳入方式见各 reference 文件的"便签/备注说明的纳入"章节:

交付物 纳入方式
PRD 补入功能需求的"备注说明"项和附录的便签汇总
功能清单 补为独立功能条目或备注列
测试用例 补为业务规则用例或前置条件
数据字典 优先填入"说明"和"备注"列
页面跳转关系图 补入跳转条件与备注列
用户故事 补为独立故事、验收标准或角色识别依据
开发计划 影响工时估算与风险评估
系统概要说明书 补入项目背景、功能边界或待确认项
详细说明书 补入业务规则、交互步骤或异常处理
数据库设计说明书 补入字段说明、索引建议或待确认项
试运行报告 补入验证记录、问题清单或风险评估
维护手册 补入巡检项、故障处理或应急预案
操作手册 补入业务规则、操作步骤或常见问题
应用软件清单 补入模块用途、依赖说明或待确认项
系统参数配置说明 补入参数说明、取值范围或待确认项
培训计划 补入培训重点、演练场景或待确认项
服务计划 补入服务范围、SLA、应急或待确认项
功能与性能测试报告 补入测试范围、性能场景、缺陷或待确认项

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


解析引擎说明

脚本调用

# 完整目录解析,输出可读摘要(自动识别工具类型)
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>

工具识别顺序

脚本按以下顺序识别工具类型,第一个匹配成功即返回:

  1. Axure:data/document.js 或 resources/scripts/axure/
  2. 墨刀:index.html 含 mockplus/mp-,或含 mockplus.js/mp.js
  3. MasterGo:index.html 含 mastergo,或 JS 含 PAGED_FRAMES/FILE_DATA
  4. 蓝湖:含 lanhu/lanhuapp、.schema.json 文件,或 JS 含 lanhutext/lanhuimage
  5. 未知:退化为通用 HTML 扫描

各工具解析深度对比

工具 数据源 页面树 文本 控件类型 交互事件 便签/备注
Axure document.js + HTML + data.js ✓ 树形 ✓ span ✓ friendlyType ✓ onClick ✓ _ann div + 矩形备注
墨刀 HTML + index.html 链接 ✗ 扁平 ✓ span ✓ 注释 ✗ ✓ 矩形备注
MasterGo PAGED_FRAMES JS ✗ 画板列表 ✗ ✗ ✗ ✗
蓝湖 .schema.json 图层树 ✗ 每画板独立 ✓ lanhutext ✓ 图层类型 ✗ ✗
未知 HTML 扫描 ✗ 扁平 ✓ span ✓ 注释 ✗ ✓ 矩形备注

Axure 数据键说明

  • document.js:用 "pageName"/"url"/"children" 标识页面层级
  • 每页 data.js:用 friendlyType/label/interactionMap/style 描述控件
  • HTML 中:<span> 装载可见文本、<!-- Unnamed (类型) --> 标识控件、table_cell 类标识表格、<img> 引用 images/

降级原则

任一工具缺数据源时退化为通用 HTML 扫描,输出中标注"降级版本"。


边界条件与异常处理

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

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

示例

示例 1:Axure 完整目录 → PRD

输入:

我这边有一个 Axure 原型导出的目录,在 /Users/wikky/Net Scaler 下面,是一个服务管理后台的原型。
请帮我解析这个原型,然后生成一份 PRD(产品需求文档),输出 Markdown 格式。

执行过程:

  1. 脚本识别为 Axure(存在 data/document.js)
  2. 解析得到 17 个页面 + 5 根节点树结构 + 每页文本/控件/交互/便签
  3. 展示解析摘要,等待用户确认范围
  4. 读取 references/PRD-template.md
  5. 生成 output/PRD.md,含 7 章节,便签说明纳入功能需求和附录

输出:/Users/wikky/Net Scaler/output/PRD.md

示例 2:Axure → 功能清单 + 测试用例

输入:

请帮我分析 /Users/wikky/Net Scaler 这个 Axure 原型,生成一份功能清单(Excel xlsx 格式)
和一份测试用例文档(xlsx 格式)。功能清单需要包含模块、功能名称、功能描述、优先级这些列。
测试用例需要包含模块、功能点、测试场景、前置条件、测试步骤、预期结果。

执行过程:

  1. 脚本识别为 Axure,解析 17 页面
  2. 展示解析摘要
  3. 读取 references/功能清单.md 和 references/测试用例.md
  4. 用 openpyxl 生成两个独立 xlsx,各含主表 + 副表「说明」
  5. 功能清单按页面分组,测试用例按模块分组,便签说明补入

输出:

  • /Users/wikky/Net Scaler/output/功能清单.xlsx
  • /Users/wikky/Net Scaler/output/测试用例.xlsx

示例 3:单个 HTML 文件 → 页面分析报告

输入:

我这里有一个 Axure 原型导出的单个 HTML 页面,是 /Users/wikky/Net Scaler/实例管理.html,
请帮我解析这个页面,然后生成一份页面分析报告,包括页面名称、核心功能、页面上的所有控件和交互、
以及数据字段定义。

执行过程:

  1. 脚本识别为单文件模式
  2. 解析 HTML 提取文本/控件注释/便签;查找同级 data.js(若有)
  3. 生成页面分析报告(含数据字段定义,参考 数据字典.md 规范)

输出:/Users/wikky/Net Scaler/output/页面分析报告.md

示例 4:墨刀离线包 → PRD + 功能清单

输入:

我有一个墨刀导出的离线 HTML 演示包,解压后放在 ~/Downloads/订单管理原型/ 下面,
是一个电商后台订单管理的原型。请帮我解析这个墨刀原型,识别里面的页面,
生成一份 PRD(Markdown 格式)和一份功能清单(xlsx 格式)。

执行过程:

  1. 脚本识别为 mockplus(index.html 含 mockplus 字样)
  2. 扫描所有 HTML 文件提取页面文本和控件注释
  3. 标注"不支持交互提取"(墨刀离线包格式不固定)
  4. 生成 PRD.md(含页面清单、功能描述)和功能清单.xlsx

输出:

  • ~/Downloads/订单管理原型/output/PRD.md
  • ~/Downloads/订单管理原型/output/功能清单.xlsx

示例 5:MasterGo 离线标注 → 页面清单 + 测试用例

输入:

我从 MasterGo 离线标注插件导出了一个设计稿,文件夹在 ./mastergo_export/ 下,
里面有一个含 PAGED_FRAMES 的 js 数据文件和 index.html。
请帮我分析这个导出,列出所有画板名称,生成一份页面清单和测试用例文档。

执行过程:

  1. 脚本识别为 mastergo(JS 含 PAGED_FRAMES)
  2. 定位数据 JS 文件,提取画板名称和 ID 列表
  3. 标注"不含图层文本"(画板级数据不含图层文本)
  4. 生成页面清单.md 和测试用例.md

输出:

  • ./mastergo_export/output/页面清单.md
  • ./mastergo_export/output/测试用例.md

示例 6:蓝湖 Schema JSON → 页面分析报告 + 数据字典

输入:

蓝湖导出的设计稿 schema JSON 文件在 ./lanhu_schema/ 目录下,有几个 .schema.json 文件,
每个对应一个画板。请帮我解析这些 schema,提取每个画板的文本内容和图层类型,
生成一份页面分析报告和数据字典。

执行过程:

  1. 脚本识别为 lanhu(存在 .schema.json 文件)
  2. 递归遍历图层树提取 lanhutext 文本和图层类型
  3. 生成页面分析报告.md 和数据字典.md

输出:

  • ./lanhu_schema/output/页面分析报告.md
  • ./lanhu_schema/output/数据字典.md

示例 7:未知工具 → PRD(降级)

输入:

我这边有一个原型导出的 HTML 文件夹,但我不确定是什么工具导出的,
在 ./unknown_prototype/ 下面,有十几个 html 文件和一些图片资源。
请帮我分析这个原型,生成一份 PRD。

执行过程:

  1. 脚本识别为 unknown(退化 fallback)
  2. 扫描所有 HTML 提取文本和控件注释
  3. 标注"工具类型未识别,输出为降级版本"
  4. 生成 PRD.md

输出:./unknown_prototype/output/PRD.md


技能目录结构

prototypes-spec/
├── SKILL.md                    # 主技能文档(500+ 行,触发词 + 工作流 + 边界条件)
├── scripts/                   # 解析引擎 + 各交付物生成脚本
│   ├── parse_axure.py         # 多工具解析引擎(1000+ 行)
│   ├── generate_spec_docs.py  # 十一类说明书/手册/计划/报告统一生成器
│   └── generate_*.py          # 功能清单/测试用例/数据字典等生成脚本
├── references/                # 各交付物的格式规范(渐进披露,按需加载)
│   ├── PRD-template.md         # PRD 7 章节结构规范
│   ├── 功能清单.md             # 功能清单 8 列 xlsx 规范
│   ├── 测试用例.md             # 测试用例 8 列 xlsx 规范
│   ├── 数据字典.md             # 数据字典 9 列字段定义规范
│   ├── 开发计划.md             # 开发计划模块拆分 + 里程碑规范
│   ├── 页面跳转关系图.md       # Mermaid 流程图 + 跳转详表规范
│   ├── 用户故事.md             # 角色定义 + 故事地图规范
│   ├── 系统概要说明书.md       # 系统概要说明书结构规范
│   ├── 详细说明书.md           # 详细说明书结构规范
│   ├── 数据库设计说明书.md     # 数据库设计说明书结构规范
│   ├── 试运行报告.md           # 试运行报告结构规范
│   ├── 维护手册.md             # 维护手册结构规范
│   ├── 操作手册.md             # 操作手册结构规范
│   ├── 应用软件清单.md         # 应用软件清单结构规范
│   ├── 系统参数配置说明.md     # 系统参数配置说明结构规范
│   ├── 培训计划.md             # 培训计划结构规范
│   ├── 服务计划.md             # 服务计划结构规范
│   └── 测试报告.md             # 功能与性能测试报告结构规范
├── test-prompts.json          # 18 个测试 prompt(覆盖 5 工具 + 十一类说明书/手册/计划/报告场景)
├── _meta.json                 # 技能元数据与 changelog
├── package.json               # 技能包配置
└── readme.md                  # 本文件

渐进披露设计

技能采用三层加载系统:

  1. 元数据(name + description)— 始终在上下文中(~100 词),用于触发判断
  2. SKILL.md 正文(500+ 行)— 技能触发时加载,含工作流 + 边界条件
  3. reference 文件(按需加载)— 只在生成对应交付物时读取,含详细列定义 + 生成代码模板

这样设计的原因:每种交付物的列定义、生成代码模板、便签纳入规则都较复杂,全塞进 SKILL.md 会超过 500 行上限。拆分到 reference 后,只在真正生成某交付物时加载对应规范,节省上下文。


优化历史

本技能经 Darwin Skill 自主优化循环持续改进,完整优化日志见 git 提交记录。

1.5.0 新增交付物

  • 新增培训计划、服务计划、功能与性能测试报告三类交付物(功能测试与性能测试合并为同一份 测试报告.md)
  • generate_spec_docs.py 新增 training-plan、service-plan、test-report 三个 --doc-type 与对应生成器
  • 支持直接以 PRD Markdown 为输入生成上述三类文档;也支持用 --prd 在原型 JSON 上叠加 PRD
  • 交付物总数由 15 类扩展为 18 类

1.4.0 新增交付物

  • 新增试运行报告、维护手册、操作手册、应用软件清单、系统参数配置说明五类交付物
  • generate_spec_docs.py 新增五个 --doc-type 与对应生成器
  • 交付物总数由 10 类扩展为 15 类

历次优化摘要

阶段 分数 改进维度 改进内容
初始基线 71.1 — axure-prototypes-prd 命名,初始版本
Round 1 74.1 边界条件 补充 5 条 fallback 路径
Round 2 76.2 检查点设计 补充跳过询问规则
Round 3 79.2 指令具体性 补充 parse_axure.py 调用命令
重基线 84.5 — 改名 prototypes-spec + 新增 6 reference + 便签解析 + PRD 精简
Round 1' 86.0 指令具体性 询问环节补列速查 + 输出管理补 xlsx 多 sheet 规则
Round 2' 87.5 整体架构 解析引擎说明精简为对比表
Round 3' 88.2 检查点设计 询问环节补"展示后暂停等待确认"指令

当前分数:88.2/100

8 维度评分明细

# 维度 权重 当前分 加权
1 Frontmatter 质量 8 9 7.2
2 工作流清晰度 15 9 13.5
3 边界条件覆盖 10 9 9.0
4 检查点设计 7 10 7.0
5 指令具体性 15 9 13.5
6 资源整合度 5 9 4.5
7 整体架构 15 9 13.5
8 实测表现 25 8 20.0
总分 100 88.2

About

No description, website, or topics provided.

Resources

Stars

15 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages