mcpField
G
grill-with-docs

grill-with-docs

github.com/mksglu开发33.3k51 次安装今天更新
代码仓库

关于 grill-with-docs

grill-with-docs 是一项通过逐个提问和代码库调研来澄清软件计划的技能,并在讨论中将术语和设计决策记录到仓库文档。

主要功能

  1. 01逐步提出设计问题
  2. 02调研代码库与文档
  3. 03发现术语冲突
  4. 04即时更新 CONTEXT.md
  5. 05有选择地建议 ADR

适用场景

  1. 01实现前澄清需求
  2. 02厘清含糊的领域术语
  3. 03核对方案与代码行为
  4. 04规划时记录领域决策

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mksglu/context-mode --skill grill-with-docs

安装后在 Claude Code 中输入/grill-with-docs确认已加载。

附带文件ADR-FORMAT.mdCONTEXT-FORMAT.md

详细介绍

围绕计划的每个方面不断向我提问,直到我们达成共识。逐一梳理设计树的每个分支,按顺序理清各项决策之间的依赖关系。每个问题都请给出你的推荐答案。

一次只问一个问题,等我回答后再继续。

如果能通过探索代码库来回答某个问题,就先探索代码库。

领域认知

探索代码库时,也要查找现有文档:

文件结构

大多数仓库只有一个上下文:

/
├── CONTEXT.md
├── docs/
│   └── adr/
│       ├── 0001-event-sourced-orders.md
│       └── 0002-postgres-for-write-model.md
└── src/

如果根目录下存在 CONTEXT-MAP.md,则该仓库有多个上下文。该映射文件会指出每个上下文所在的位置:

/
├── CONTEXT-MAP.md
├── docs/
│   └── adr/                          ← system-wide decisions
├── src/
│   ├── ordering/
│   │   ├── CONTEXT.md
│   │   └── docs/adr/                 ← context-specific decisions
│   └── billing/
│       ├── CONTEXT.md
│       └── docs/adr/

按需创建文件——只有需要写入内容时才创建。如果不存在 CONTEXT.md,则在第一个术语得到确认时创建。如果不存在 docs/adr/,则在需要记录第一份 ADR 时创建。

会话期间

对照术语表提出质疑

当用户使用的术语与 CONTEXT.md 中的既有用法冲突时,立即指出来。“你的术语表将‘取消’定义为 X,但你似乎指的是 Y——到底是哪一种?”

明确模糊表述

当用户使用含糊或含义过多的词语时,提出一个精确的规范术语。“你说的是‘账户’——指的是 Customer 还是 User?这是两个不同的概念。”

讨论具体场景

讨论领域关系时,用具体场景检验其适用性。设想一些能探查边界情况、促使用户明确概念边界的场景。

对照代码进行核查

当用户说明某项功能的工作方式时,检查代码是否一致。如果发现矛盾,就指出来:“你的代码会取消整个 Order,但你刚才说可以部分取消——哪种说法才对?”

即时更新 CONTEXT.md

术语一经确认,就立即在相应位置更新 CONTEXT.md。不要等到最后再统一记录;确认时就记录下来。使用 CONTEXT-FORMAT.md 中的格式。

不要让 CONTEXT.md 与实现细节绑定。只纳入领域专家认为有意义的术语。

谨慎提出 ADR

只有以下三个条件全部满足时,才提出创建 ADR:

  1. 难以逆转 — 日后改变决定的成本不容忽视
  2. 没有背景时令人意外 — 未来的读者会纳闷“为什么要这样做?”
  3. 源于真实的权衡 — 存在真正的替代方案,并且是基于具体原因选择了其中一个

只要缺少其中任何一项,就跳过 ADR。使用 ADR-FORMAT.md 中的格式。


从 mattpocock/skills 引入 — 提交版本为 b843cb5,采用 MIT License。请参阅 skills/UPSTREAM-CREDITS.md 了解更新说明。

评论

支持 Markdown