原型不是「照着PRD画页面」,而是「把PRD每条需求翻译成可视化的、可交互的、可评审的产品实物」。 8 Phase 流水线 + 自动化验收门禁 ≥95%,从文档到可点击原型,30+ 页面 30 分钟并行搞定。
做过原型的人都知道:
| # | 痛点 | 后果 |
|---|---|---|
| 1 | 页面画出来了,按钮全点不动 | 评审演示当场翻车,「页面存在 ≠ 功能完成」 |
| 2 | 「100% 覆盖」是口头承诺 | 子 Agent 只实现了 60% 功能点,无人验证 |
| 3 | 每个原型一套样式 | Token 不统一,评审说「像三个团队做的」 |
| 4 | 只有理想态,没有空态/加载态/报错态 | 数据一空页面就崩,演示穿帮 |
| 5 | Mock 数据写死在每个函数里 | 改数据改 20 个文件,空态/极限态没法切换 |
| 6 | 评审意见记了一堆,改完不知道改没改 | 无标注无追踪,返工靠记忆 |
| 7 | 30+ 页面手工做要 3 天 | 交付周期拖垮项目,需求都冻结了原型还没出 |
根因:原型当「画图」做,而不是当「产品」做。
每个按钮必须有 handler,每个弹窗必须有内容,每个状态必须有覆盖——用自动化验收脚本兜底,用 ≥95% 门禁拦交付,拒绝「我感觉」式自查。
一句话:把 PRD 当代码编译,把原型当产品验收。
P0 前置检查 → P1 结构化清单 → P2 架构规划 → P3 设计系统
→ P4 页面实现 → P5 Mock数据 → P6 自动化验收 → P7 评审走查 → P8 交付
P1 是灵魂:checklist.yaml 细化到每个操作按钮——每个模块必须回答三层验收:
- List — 数据在哪展示?(表格/卡片/树)→ 空白页 = 未完成
- Detail — 点击一行能看到什么?(详情弹窗/新页面)→ 详情点不开 = 未完成
- Action — 用户能做什么?(新增/编辑/删除/审核)→ 按钮无响应 = 未完成
三个答案不全,模块不能算「done」。这就是为什么这个流程交付的原型评审通过率远超手工原型。
cd my-project/prototype && python3 scripts/verify-prototype.py| 门禁 | 检查项 | 一句话说明 |
|---|---|---|
| G1 | 模态框完整性 | 每个 showModal('xxx') 必须有对应 id 元素 |
| G2 | 函数完整性 | 每个 onclick 必须有函数定义 |
| G3 | 页面路由完整性 | 每个 data-page 必须有对应 id |
| G4 | 事件处理完整性 | 每个 data-action 必须有 case |
| G5 | 按钮无遗漏 | 每个 <button> 必须有 handler |
| G6 | Emoji 使用率 | ≤20%,不滥用图标 |
| G7 | Token 引用 | HTML 必须引用 design-tokens.css |
| G8 | 字号合规 | 正文≥14px / 表格≥13px / 标签≥12px |
| G9 | 空态/加载态覆盖 | 每个列表页必须有空态+加载态 |
| G10 | 运营看板可统计 | 看板页存在 + 指标数据一致 + 口径可统计 |
子 Agent 说「100% 覆盖」不可信——只认验证脚本输出。 ≥95% 通过才允许交付,不足则列出失败项返回修复。
每个组件覆盖 6 种状态:
理想态(有数据) → 空态(无数据引导) → 加载态(骨架屏)
→ 报错态(网络错误) → 极限态(超长文本/1000条分页) → 成功态(操作Toast)
评审时切数据源就能演示所有状态——不用改一行页面逻辑。
禁止在每个函数里写死数据。data/mock-data.js 统一数据池:
var MOCK = {
entities: { list: [...], emptyList: [], longList: [...] }, // 每域三态
getEntityById: function(id) { ... },
};- 同一实体跨页面数据一致(订单号→车辆→质检→结算 关联字段一致)
- 金额计算真实可验证(公式写在注释里)
- 空态/极限态只需切换数据源,不改页面逻辑
Native JS SPA(零 CDN 依赖,双击可运行)+ 子 Agent 并行:
① 主Agent建基(壳+Token+Mock+路由,5min)
② 并行子Agent按域生成 pages-*.js(每域10-15min)
③ 组装验证(node --check + headless截图健康检查)
截图健康检查判据(1 秒判断成败):
- 100-200KB 且各不相同 → ✅ 正常渲染
- 全部等大且 18-20KB → ❌ JS 渲染失败(语法/服务器问题)
- 全部等大且 30-40KB →
⚠️ 只有布局壳(页面函数未注册)
60+ 页超大规模还有 Python Generator 路径(references/python-generator-monolithic.md),正则验证 + node --check,无需 headless 环境。
在 HTML 末尾注入 review-mode.js:
| 快捷键 | 功能 |
|---|---|
| R | 评审标注 — 每个元素标注属性引用(data-page/data-action) |
| L | 骨架屏加载态 — 表格替换为灰色动画条 |
| D | 恢复真实数据 |
评审会直接看着标注走查,不再「凭感觉」。
WORKFLOW.md 收录了从真实项目(84 页/107 页原型)沉淀的全部陷阱,最致命的有:
- NodeList.forEach 浏览器兼容性 — 某些浏览器静默失败导致导航空白,排查了整天才发现一行代码。SPA 导航一律用 for 循环。
- data-action 大小写静默失效 — 43 个按钮 42 个失效,事件委托必须大小写容错
- 孤儿页面 — 有 HTML 无导航入口,交付前 comm 对比页面清单与导航清单
- statusTag 映射缺失 — 新状态值未加颜色映射,全部渲染为灰色
- 嵌套入口套娃 — 子原型内禁止重复外层入口
- Toast 模拟永不通过 — 按钮必须对应真实数据操作,验收脚本拦截
每一条都是真金白银的返工换来的,用这个流程等于站在前人的肩膀上。
# 克隆仓库
git clone https://github.com/kangedy/prototype-king.git
cd prototype-king
# 打开示例原型直接看效果
open example/index.html # 订单管理后台完整示例
open examples/super-todo-list/ # AI待办清单交互原型# 前提:已有一份符合 prd-king 10章标准的 PRD
# 1. 创建工作目录
mkdir -p my-project/prototype && cd my-project/prototype
# 2. 复制工作流文件
cp -r <path-to-prototype-king>/* ./
# 3. 按 WORKFLOW.md 的 8 Phase 执行
open WORKFLOW.md
# 4. Phase 6: 运行自动化验收(≥95% 门禁)
python3 scripts/verify-prototype.py| 你的身份 | 怎么做 |
|---|---|
| AI Agent 用户(Hermes/Codex/OpenClaw) | 安装 skill → 说「根据PRD做原型」→ 自动走 8 Phase |
| 产品经理(评审) | 按 R 键开评审标注,逐页走查,意见直接记原型上 |
| 前端开发(要交付物) | 看 verify-prototype.py 输出,失败项逐个修复,≥95% 再交付 |
| 独立开发者(单干) | 用 example/ 当起点,改 Token + Mock 数据 + 页面,比从零写快 3 倍 |
# Codex
codex skills install kangedy/prototype-king
# Hermes Agent
mkdir -p ~/.hermes/skills/product/prototype-king/
cp -r * ~/.hermes/skills/product/prototype-king/
# → 说「根据PRD做原型」prd-king 写PRD → prototype-king 转原型 → verify-prototype.py 交付验收
↓ ↓ ↓
10章标准 8 Phase 流水线 ≥95% 门禁
□ 自动化验收 ≥95% 通过(verify-prototype.py)
□ 每个按钮有 handler,无 Toast 模拟
□ 每个列表页有空态+加载态
□ 同一实体跨页面数据一致
□ 正文≥14px / 表格≥13px / 标签≥12px
□ 无孤儿页面(导航条目数 = 页面数)
□ JS 语法通过 node --check
prototype-king/
├── SKILL.md ← Codex/Hermes skill 安装入口
├── WORKFLOW.md ← 8 Phase 工作流(完整版,含全部陷阱清单)
├── references/ ← 17个参考文件
│ ├── design-system-tokens.md ← 6大设计体系Token对照
│ ├── ant-design-5-tokens.md ← Ant Design 5.x 完整Token
│ ├── spa-crud-architecture.md ← 数据驱动SPA CRUD架构(PAGE_ENTITY_MAP模式)
│ ├── prototype-iteration-pitfalls.md ← 原型迭代致命陷阱(显隐切换三原则)
│ ├── python-generator-monolithic.md ← 60+页超大规模Python生成器
│ └── ...(详见 WORKFLOW.md 参考文件表)
├── scripts/verify-prototype.py ← 自动化验收脚本(G1-G10,≥95%门禁)
├── example/ ← 订单管理后台完整示例(HTML+Mock+Token)
├── examples/super-todo-list/ ← AI待办清单交互原型示例
└── CHANGELOG.md
| 项目 | 链接 | 功能 |
|---|---|---|
| prototype-king(本仓库) | https://github.com/kangedy/prototype-king | PRD→原型工作流 — 8 Phase + 自动化验收 |
| prd-king | https://github.com/kangedy/prd-king | PRD写作标准 — 10章模板+设计体系+校验脚本 |
欢迎 PR、Issue、讨论。主要贡献方向:
- 更多示例原型(
examples/目录) - 新设计体系 Token 参考
- verify-prototype.py 新检查项
MIT License。可自由使用、修改、商用。
- Nous Research — Hermes Agent 技能系统
- Ant Design / Element Plus / TDesign / Arco Design / Semi Design / NutUI — 优秀的设计体系