mcpField
P
prototype

prototype

github.com/polya20开发042 次安装24 周前更新
代码仓库

关于 prototype

prototype 是用于快速回答设计或逻辑问题的临时代码技能。它引导开发者选择交互式终端逻辑模型或可切换的 UI 变体,并在得出结论后记录结果、删除原型或将其并入正式代码。

主要功能

  1. 01选择逻辑或 UI 原型分支
  2. 02交互式终端状态探索
  3. 03单一路由切换 UI 变体
  4. 04默认使用内存状态
  5. 05记录结果后删除或整合

适用场景

  1. 01探索复杂的状态机行为
  2. 02比较页面设计方案
  3. 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),并在原型顶部说明这一假设。

两个分支都适用的规则

  1. 从一开始就把它当作一次性代码,并明确标记。 将原型代码放在靠近实际使用位置的地方(紧挨着要为其制作原型的模块或页面),以便一目了然——但命名时要让随手一看的读者知道它是原型,而非生产代码。对于一次性 UI 路由,遵循项目已有的路由约定;不要另创新的顶层结构。
  2. 一条命令即可运行。 使用项目现有任务运行器支持的方式,例如 pnpm <name>、python <path>、bun <path> 等。用户无需费心就能启动它。
  3. 默认不持久化。 状态保存在内存中。原型要验证的正是持久化本身,因此不应依赖持久化。如果问题明确涉及数据库,就使用临时数据库,或使用名称清晰标注“PROTOTYPE — wipe me”的本地文件。
  4. 跳过打磨。 不写测试;除确保原型_可运行_之外,不做错误处理;不做抽象。重点是快速学到东西,然后删除原型。
  5. 展示状态。 每次操作后(逻辑原型)或每次切换变体时(UI 原型),打印或渲染完整的相关状态,让用户看到发生了什么变化。
  6. 完成后删除或吸收。 原型回答了问题后,要么删除它,要么将经过验证的决策融入正式代码——不要让它在代码库中年久失修。

完成后

原型中唯一值得保留的是_答案_。将答案以及它所回答的问题记录在某个持久位置(提交信息、ADR、issue,或原型旁的 NOTES.md)中。如果用户在线,这项记录可以通过简短沟通完成;如果用户不在线,就留下占位内容,供他们(或下次继续处理的你)在删除原型前补充结论。

评论

支持 Markdown