mcpField
G
grill-with-docs

grill-with-docs

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

关于 grill-with-docs

用于澄清设计并达成共同理解的规划技能,会逐个提出问题并检查代码库与现有文档。它会指出含糊术语、核对实现,并将已确认的领域词汇写入 CONTEXT.md。

主要功能

  1. 01逐一提出设计问题
  2. 02探索代码与文档
  3. 03质疑含糊的领域术语
  4. 04对照实现核验陈述
  5. 05随术语确认更新 CONTEXT.md
  6. 06有选择地建议 ADR

适用场景

  1. 01澄清软件设计计划
  2. 02统一代码库中的领域术语
  3. 03根据代码检查设计假设
  4. 04记录已达成共识的词汇

安装

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

$npx skills add https://github.com/polya20/grill-me --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)?两者并不相同。”

讨论具体场景

讨论领域关系时,通过具体场景进行压力测试。设想一些能探查边界情况、促使用户明确概念边界的场景。

与代码交叉核对

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

直接更新 CONTEXT.md

术语确定后,立即更新 CONTEXT.md。不要等到最后再集中处理——应在讨论过程中及时记录。使用 CONTEXT-FORMAT.md 中的格式。

CONTEXT.md 不应包含任何实现细节。不要把 CONTEXT.md 当作规范、草稿或实现决策记录。它只是术语表。

谨慎提出 ADR

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

  1. 难以撤销——日后改变决定的成本不可忽视
  2. 缺少背景时会令人意外——未来的读者会疑惑“为什么要这样做?”
  3. 源于真实的权衡取舍——确实存在其他可行方案,且你基于具体理由选择了其中一种

只要缺少其中任何一项,就不要创建 ADR。请使用 ADR-FORMAT.md 中的格式。

评论

支持 Markdown