prototype
构建一次性原型来回答设计问题。当用户想验证状态模型或逻辑是否合理,或探索 UI 应该呈现的样子时使用。
技能说明mattpocock/skills
构建一次性原型来回答设计问题。当用户想验证状态模型或逻辑是否合理,或探索 UI 应该呈现的样子时使用。
技能简介
Prototype 技能用于快速构建一次性原型,以回答某个具体的设计问题——例如验证某个状态模型或逻辑设计是否合理,或探索 UI 界面应该呈现的形态。它强调“原型即废弃代码”,核心目标是用最小成本获取设计反馈。
使用场景
- 验证状态机或业务逻辑在边界条件下是否符合预期
- 探索页面的多种 UI 布局方案,比较不同呈现效果
- 与利益相关者(非开发者)演示交互流程,收集意见
- 在不改动现有生产代码的前提下,测试新功能流程的可行性
- 区分“逻辑问题”与“界面问题”,分开进行针对性原型验证
使用方法
- 判断分支:根据用户需求确定探索方向——逻辑/状态模型问题参考
LOGIC.md,UI 呈现问题参考UI.md。若需求模糊且无法询问用户,根据原型所处上下文默认选择匹配分支(后端模块→逻辑,页面组件→UI),并在原型顶部注明假设。 - 构建原型:
- 逻辑原型:构建单个可共享的 HTML 文件,包含试用按钮和分步引导,方便非开发人员操作。
- UI 原型:在单一路由上生成多种截然不同的 UI 变体,通过 URL 搜索参数和底部浮动栏切换。
- 运行原型:使用项目的任务运行器一键启动,例如
pnpm <name>、python <path>、bun <path>等;逻辑演示 HTML 文件可直接双击打开。
注意事项
- 一次性定位:原型代码放在实际使用位置附近,但命名需明确标识为 prototype,避免与生产代码混淆。
- 默认无持久化:状态保存在内存中;仅当问题本身涉及数据库时,才使用带有明显“PROTOTYPE, wipe me”标记的临时库或本地文件。
- 跳过打磨:不编写测试、不加多余错误处理、不做抽象封装,目标是快速获取有效信息。
- 展示状态:每次操作后(逻辑)或每次变体切换时(UI),显示完整相关状态,便于观察变化。
- 结果沉淀:验证完成后将有效决策合入真实代码;原型本身提交到一次性分支(不要合并到 main),并在实施 issue 中记录该分支上下文和验证结论。