关于 prototype
prototype 是用于快速回答设计或逻辑问题的临时代码技能。它引导开发者选择交互式终端逻辑模型或可切换的 UI 变体,并在得出结论后记录结果、删除原型或将其并入正式代码。
主要功能
- 01选择逻辑或 UI 原型分支
- 02交互式终端状态探索
- 03单一路由切换 UI 变体
- 04默认使用内存状态
- 05记录结果后删除或整合
适用场景
- 01探索复杂的状态机行为
- 02比较页面设计方案
- 03在正式开发前验证想法
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ polya20/ grill-me --skill prototype安装后在 Claude Code 中输入/prototype确认已加载。
附带文件LOGIC.mdUI.md
详细介绍
原型
原型是用于回答问题的一次性代码。问题决定原型的形态。
选择分支
确定要回答哪个问题——可以从用户的提示、周围的代码中判断,也可以在用户在线时直接询问:
- “这套逻辑/状态模型感觉对吗?” → LOGIC.md。构建一个小型交互式终端应用,让状态机跑过那些难以纸上推演的情况。
- “它应该是什么样子?” → UI.md。在单一路由上生成几个截然不同的 UI 变体,通过 URL 搜索参数和浮动底栏切换。
这两个分支会产生截然不同的产物——选错会让整个原型白费。如果问题确实模糊不清,且联系不上用户,就选择更符合周围代码的分支(后端模块 → 逻辑;页面或组件 → UI),并在原型顶部说明这一假设。
两个分支都适用的规则
- 从一开始就把它当作一次性代码,并明确标记。 将原型代码放在靠近实际使用位置的地方(紧挨着要为其制作原型的模块或页面),以便一目了然——但命名时要让随手一看的读者知道它是原型,而非生产代码。对于一次性 UI 路由,遵循项目已有的路由约定;不要另创新的顶层结构。
- 一条命令即可运行。 使用项目现有任务运行器支持的方式,例如
pnpm <name>、python <path>、bun <path>等。用户无需费心就能启动它。 - 默认不持久化。 状态保存在内存中。原型要验证的正是持久化本身,因此不应依赖持久化。如果问题明确涉及数据库,就使用临时数据库,或使用名称清晰标注“PROTOTYPE — wipe me”的本地文件。
- 跳过打磨。 不写测试;除确保原型_可运行_之外,不做错误处理;不做抽象。重点是快速学到东西,然后删除原型。
- 展示状态。 每次操作后(逻辑原型)或每次切换变体时(UI 原型),打印或渲染完整的相关状态,让用户看到发生了什么变化。
- 完成后删除或吸收。 原型回答了问题后,要么删除它,要么将经过验证的决策融入正式代码——不要让它在代码库中年久失修。
完成后
原型中唯一值得保留的是_答案_。将答案以及它所回答的问题记录在某个持久位置(提交信息、ADR、issue,或原型旁的 NOTES.md)中。如果用户在线,这项记录可以通过简短沟通完成;如果用户不在线,就留下占位内容,供他们(或下次继续处理的你)在删除原型前补充结论。
评论
支持 Markdown