mcpField
G
grill-with-docs

grill-with-docs

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

关于 grill-with-docs

用于需求澄清与领域建模的技能,通过逐个提问、检查代码和文档,推动用户明确计划中的决策与术语。它还按需更新词汇表,并仅在符合条件时建议记录架构决策。

主要功能

  1. 01一次提出一个问题并等待反馈
  2. 02探索代码库以核实已有答案
  3. 03查阅 CONTEXT.md 与 ADR 文档
  4. 04发现术语冲突并明确领域词汇
  5. 05解析术语时更新 CONTEXT.md
  6. 06按条件建议创建 ADR

适用场景

  1. 01在实现前逐项澄清计划设计
  2. 02通过具体场景厘清领域概念边界
  3. 03核对口头描述与代码行为是否一致

安装

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

$npx skills add https://github.com/karasukaigan/skills-zh --skill grill-with-docs

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

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

详细介绍

来自项目 README

无情地面试我关于这个计划的每个方面,直到我们达成共同理解。遍历设计树的每个分支,逐一解决决策之间的依赖关系。对于每个问题,提供你推荐的答案。

一次问一个问题,在继续之前等待每个问题的反馈。

如果可以通过探索代码库来回答问题,则探索代码库。

领域意识

在代码库探索期间,还要查找现有文档:

文件结构

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

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

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

/
├── CONTEXT-MAP.md
├── docs/
│   └── adr/                          ← 系统级决策
├── src/
│   ├── ordering/
│   │   ├── CONTEXT.md
│   │   └── docs/adr/                 ← 特定于上下文的决策
│   └── billing/
│       ├── CONTEXT.md
│       └── docs/adr/

惰性创建文件——仅当你有内容要写时才创建。如果不存在 CONTEXT.md,则在解析第一个术语时创建一个。如果不存在 docs/adr/,则在需要第一个 ADR 时创建它。

在会话期间

根据词汇表挑战

当用户使用与 CONTEXT.md 中现有语言冲突的术语时,立即指出。"你的词汇表将'取消'定义为 X,但你似乎指的是 Y——到底是哪个?"

精炼模糊语言

当用户使用模糊或重载的术语时,提出精确的标准术语。"你说的是'账户'——你指的是客户还是用户?这些是不同的东西。"

讨论具体场景

当讨论领域关系时,用特定场景进行压力测试。发明探测边缘情况的场景,迫使用户对概念之间的边界保持精确。

与代码交叉引用

当用户陈述某物的工作方式时,检查代码是否一致。如果发现矛盾,将其暴露出来:"你的代码取消整个订单,但你刚才说部分取消是可能的——哪个是正确的?"

内联更新 CONTEXT.md

当术语被解析时,立即更新 CONTEXT.md。不要批量处理——在它们发生时捕获它们。使用 CONTEXT-FORMAT.md 中的格式。

CONTEXT.md 应该完全没有实现细节。不要将 CONTEXT.md 视为规范、草稿板或实现决策的存储库。它只是词汇表。

谨慎提供 ADR

仅当以下三个条件都为真时才提供创建 ADR:

  1. 难以逆转——稍后改变主意的成本是有意义的
  2. 没有上下文时令人惊讶——未来的读者会想知道"他们为什么这样做?"
  3. 真正权衡的结果——存在真正的替代方案,你出于特定原因选择了一个

如果三个条件中任何一个缺失,跳过 ADR。使用 ADR-FORMAT.md 中的格式。

评论

支持 Markdown