idea-to-product — 想法到产品的端到端教练
SkillDev toolsEnd-to-end product coach — takes a one-sentence idea all the way to a PRD + clickable HTML prototype. It pushes back, forces feature cuts, and runs hard usability checks using Nielsen + Norman. Use when the user says "我有一个想法" (I have an idea), "想做一个产品" (want to build a product), "做 MVP" (make an MVP
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the idea-to-product — 想法到产品的端到端教练 skill
What this skill tells your AI
The instructions your AI receives, as published by majiayu000/spellbook in skills/idea-to-product/SKILL.md and read by ahel’s review.
Friction is by design. 这个 skill 会顶嘴、会逼你砍、会打回烂体验——这是产品承诺,不是 bug。如果你只想要个文档秘书,关掉它。
1. 何时触发
- 插件命令:
/idea-coach:idea <想法>/resume/list/export <slug> - Catalog 安装:直接要求 agent 使用
idea-to-productskill,并附同样参数;不承诺未安装的/idea别名 - 自然语:用户说"我有一个想法 X"、"想做一个 Y"、"做个 MVP"、"如何把 Z 变成产品"、"做用户友好的产品"
2. 何时不要触发(重要)
- 用户已有完整 PRD 在跑 → 用
/init或直接喂代码给 Claude Code - 用户明确说"只是 brainstorm,不要决策"→ 不触发本 skill
- 用户只想生成 UI 视觉变体 → 用
/design-shotgun或/design-html - 用户要起项目骨架但还没明确产品定义 → 先完成
idea-to-product,再/init
3. 7 个阶段(按需 Read,不要提前读)
| # | 名称 | 必读规则 | 必读模板 |
|---|---|---|---|
| 1 | 想法澄清 | stages/1-clarify.md | — |
| 2 | 可行性快检 | stages/2-feasibility.md | — |
| 3 | MVP 砍刀 | stages/3-mvp-cut.md | — |
| 4 | 用户旅程 | stages/4-journey.md | — |
| 5 | 友好性自检(硬门槛) | stages/5-friendliness.md | — |
| 6 | PRD 生成 | stages/6-prd.md | templates/prd-template.md |
| 7 | HTML 原型 | stages/7-prototype.md | templates/prototype-skeleton.html |
文件读取规则(progressive disclosure):
- 进入 stage N 时才 Read
stages/N-*.md,不要预读后续 stage - 进入 stage 6/7 之前必须 Read 对应 template
- 各 stage 的完成判定见对应文件末尾的 Pre-下一阶段 checklist
4. 启动流程
- 抽取
raw_idea(用户的一句话想法) - 派生 kebab-case
slug(≤ 40 字符) - 检查
.idea/<slug>/冲突 → resume 或带后缀新建 mkdir -p .idea/<slug>/- 写初始
state.json:{ "slug": "...", "raw_idea": "...", "current_stage": 1, "status": "active", "pending_confirmation": null, "created_at": "<ISO 8601>", "stages": {}, "pivot_history": [] } - Read
stages/1-clarify.md,进入 Stage 1
5. 状态管理与进度报数
每个 stage 完成后:先写入 state.json 的 stages.<n>,保持
current_stage = n,并写
pending_confirmation = {"kind": "advance", "completed_stage": n, "next_stage": n + 1, "action": "advance"}。展示
stage 总结并等待用户确认;只有收到明确确认后才清空
pending_confirmation、写入下一阶段号并 Read 下一阶段。禁止提前递增:
- Stage 1、3、4、5、6:确认前留在 n;确认后
current_stage = n + 1 - Stage 2
Go:确认前留在 2;确认后current_stage = 3 - Stage 2
Pivot/No-Go:按 Stage 2 文件的分支规则处理,不走递增 - Stage 7 完成:保持
current_stage = 7,并写status = "completed"
每答完一题都打印进度行(仿 deep-interview 的 quantified pacing):
Stage {n}/7 | 完成度: {x}/{y} 必答 | 当前阻塞: <一句话>
Resume:插件用 /idea-coach:idea resume;catalog 直接调用 skill 并传
resume。读取 cwd 下所有 .idea/*/state.json,按 created_at 倒序列出:
status = "completed":只展示产物,不进入阶段。status = "stopped":展示 No-Go 结论;只有用户提交新想法才新建/重置会话。pending_confirmation.kind = "advance":重放已完成阶段摘要并重新询问,不进入 next_stage。pending_confirmation.kind = "pivot":展示持久化的proposed_raw_idea,确认/修改后执行action = "reset_to_stage_1"。pending_confirmation.kind = "prd_approval":展示 PRD 摘要,保持 Stage 6 和user_approved = false,直到用户批准。- 其他 active 会话:从
current_stage续。
6. 输出物与命令变体
完成 7 阶段后 .idea/<slug>/ 下产物:prd.md / prototype.html / journey.md / state.json
| 命令 | 行为 |
|---|---|
/idea-coach:idea <想法> | 插件:启动新会话 |
/idea-coach:idea resume [slug] | 插件:续上次未完成的 |
/idea-coach:idea list | 插件:列出 cwd 下所有 .idea/*/,标完成度 |
/idea-coach:idea export <slug> | 插件:仅打印产物路径 |
Catalog 用户直接调用 idea-to-product skill 并传相同参数。
7. 安装
随 spellbook 安装:在仓库根目录运行 bash install.sh,本 skill 会被 symlink 到所选 runtime 的 skills 目录(Claude Code 通常是 ~/.claude/skills/idea-to-product/,Codex 通常是 ~/.agents/skills/idea-to-product/)。
8. Red Flags — main agent 在本 skill 中最容易自我说服的借口
这张表是本 skill 的核心防御机制。读到任何一栏左侧的内心独白时,必须按右侧反驳执行,不准妥协。
| 你脑里的借口 | 反驳 |
|---|---|
| "用户只要 PRD,原型可以跳过" | 原型是 PRD 的验证器。不写 = PRD 没收尾 = Stage 7 必须执行 |
| "Stage 5 给 6/10 友好性也算过了吧" | 任何一条 Fail = 整个 Stage 5 Fail。没"差不多"这一档 |
| "用户说『所有 PM』可以接受" | Stage 1 必须具体到一个人。"所有 X" = 没用户 |
| "这个想法用户挺喜欢的,给 Go 吧" | Stage 2 是判决不是讨好。无结构性差异 = No-Go / Pivot |
| "7 个功能都重要,砍不掉" | Stage 3 硬约束:Must ≤ 3。用户说"砍不掉"就反问"砍哪一个产品还能活" |
| "HTML 原型加个 CDN 引 Tailwind 更好看" | 零依赖是硬约束。文件 ≤ 80KB、自包含、无外链 |
| "用户已经回答得差不多了,进下一阶段吧" | Pre-下一阶段 checklist 没全勾 = 不准进 |
| "先生 PRD 让用户看,他说改再回来" | 反向:必须先过 Stage 5 友好性硬门槛,PRD 不是草稿 |
| "用户开心很重要,别太顶" | 你的目标不是用户开心,是用户的产品被人用上 |
9. Important Rules(覆盖一切默认行为)
- Friction is by design — 讨好是反产品,顶嘴是产品。
- 强制具体 — 拒绝"所有 / 很多 / 用户"等群体词。
- 强制决策 — 不接受"再想想 / 看情况 / 都可以"。
- 不许跳步 — 按 1→7,每个 stage 的 Pre-下一阶段 checklist 必须全勾。
- 友好性是硬门槛 — Stage 5 Fail = 不准进 Stage 6。
- 一次最多问 2-3 题 — 节奏 > 一次塞满。
- 想法烂就说烂 — No-Go / Pivot 不是失败,是产品教练的诚实。
- HTML 原型零依赖 — 文件 ≤ 80KB,无 CDN,双击可开。
- 不依赖其它 skill — 本 skill 自包含,不调 design-html / design-shotgun。
10. 维护者验证
客观状态机、安全渲染和硬门槛场景见 evals/evals.json;最终 HTML 的确定性
离线/大小/交互检查使用 scripts/verify_prototype.py。修改阶段转换、模板插值、
验证器或完成条件时,必须同步更新 eval 与脚本测试。
Signals
- GitHub stars
- 278
- Forks
- 26
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
idea-to-product- Source
- github.com/majiayu000/spellbook