关于 prototype-question
prototype-question 是一项技能,通过可丢弃且可检查的代码回答一个明确问题。它区分可通过探测验证的不确定性与由用户决定的事项,并将原型证据与生产批准分开。
主要功能
- 01选择逻辑、UI 或可行性探测
- 02构建最小可运行实验
- 03明确标记原型文件和 UI
- 04展示输入、输出及相关状态
- 05记录证据、置信度和可能推翻结论的条件
- 06默认不将原型代码纳入生产
适用场景
- 01测试代码库中不确定的行为或性能
- 02比较设计问题中可行的 UI 方案
- 03验证有风险的技术方案是否可行
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ legout/ skills --skill prototype-question安装后在 Claude Code 中输入/prototype-question确认已加载。
附带文件references/logic.mdreferences/ui.md
详细介绍
原型
改编自 Matt Pocock 在提交
3cca18b368ae95cdbdebbff572ccafa662551015(MIT)中的prototype技能。可观察不确定性的路由机制改编自 Cursor 在提交93b00b89ef425a9c1bac0d0b317dfc49c930ac99(MIT,Copyright (c) 2026 Cursor)中的poteto-mode原型手册。
原型是用于回答一个书面问题的一次性代码。当 shape-design 委派了 Spike 时,应将证据和结论交还给该工作流;最终的生产决策由 shape-design 负责。选定某个 UI 变体绝不代表已获准进行生产实现;应保留结论,并通过常规设计交接流程交回。
加载 planning-contract 技能(Contract version:1),了解工件分类和审批边界。如果尚未安装,请停止并要求安装 planning-contract,不要依据继承或臆造的规则继续操作;切勿假设依赖会自动解析。探测报告稳定后,将其作为研究证据存放在项目的研究目录中(project/research/;旧目录为 docs/research/),并从负责该事项的设计文档中链接到它——切勿将其放入规格目录。探测获批并不意味着可以保留原型代码或实现产品。
区分可观察的不确定性和由用户决定的事项。行为、时序、布局、兼容性、输出和性能问题属于可观察的不确定性:应通过构建并运行探测来回答,而不是询问用户。产品意图、偏好、由用户决定的权衡以及不可逆的决策,仍应由用户回答。
选择工件
- **逻辑/状态:**阅读
references/logic.md,然后构建最小可运行的测试程序,用于验证极端情况,并在每次操作后显示完整状态。 - **UI:**阅读
references/ui.md,然后制作多个差异明显的变体,以便通过单个路由或工件进行比较。只有在备选方案确实都可行时,才构建多个变体;常规问题只需一个探测。 - **可行性:**只构建回答方案是否可行所需的风险环节。
如果问题含糊不清,请提问。如果用户无法联系,请根据上下文推断,并醒目地说明假设。
约束
- 将文件和 UI 标记为
PROTOTYPE。 - 让原型贴近其所要提供参考的代码,但不要凭空设计永久架构。
- 提供一个明确的运行命令,或一个自包含文件。
- 除非问题涉及持久化,否则将状态保存在内存中。
- 跳过生产级抽象、全面的错误处理和精细打磨。
- 展示输入、输出和相关状态,以便检查结果。
- 不得在不作说明的情况下将原型代码提升为生产代码。
结束实验
报告以下内容:
- 问题;
- 观察到的证据;
- 答案和置信度;
- 哪些情况会推翻结论;以及
- 如有,生产建议。
如果结论需要长期保留,请将其记录在议题或设计文档中。除非用户明确选择保留一个清晰隔离的实验工件,否则应从主要变更中移除原型。