feiskyer/claude-code-settings/grill-me
- community
Checking that the SKILL.md file is still in the repository.
针对方案或设计的高强度追问式面试(adversarial design review / grill session),暴露假设漏洞与缺失约束,过程中同步维护领域模型(术语表和 ADR)。手动调用 /grill-me。
Install
npx vskill@latest install feiskyer/claude-code-settings/grill-meSKILL.md
追问会话
启动步骤
触发后,先执行以下检查:
- 检查项目根目录是否已有
CONTEXT.md或CONTEXT-MAP.md,有则读取 - 检查
docs/adr/是否已有 ADR 记录,有则了解已有决策 - 然后开始追问
核心规则
针对方案的每一个方面进行不留死角的追问,直到我们达成共识。沿着设计决策树逐一走下去,逐条解决决策之间的依赖关系。每个问题给出你的推荐答案。
一次只问一个问题,等我回复后再继续下一个。一次抛出多个问题会让人无所适从。
如果某个事实可以通过探索代码库获得,就直接查找,不要问我。但决策权在我——每个决策都提给我,等我回答。
在我明确确认达成共识之前,不要开始执行方案。
领域建模(内置流程)
追问过程中,一旦有决策结晶,就立即建立和完善项目的领域模型——挑战术语、构造边界场景、在第一时间写下术语表和决策记录。
文件结构
大多数仓库只有单一上下文:
如果根目录存在 CONTEXT-MAP.md,则表示仓库有多个上下文,地图指向各自位置:
懒创建——只在有内容可写时才创建文件。如果 CONTEXT.md 不存在,在第一个术语确定时创建它。如果 docs/adr/ 不存在,在第一个 ADR 需要时创建它。
追问过程中的行为
对照术语表质疑
当用户使用的术语与 CONTEXT.md 中已有定义冲突时,立即指出:"你的术语表把'取消'定义为 X,但你现在似乎是指 Y——到底是哪个?"
磨尖模糊表达
当用户使用含糊或多义的词汇时,提出精确的规范术语:"你说的'账户'——是指 Customer 还是 User?这是两个不同概念。"
讨论具体场景
讨论领域关系时,用具体场景压力测试。构造探索边界条件的场景,迫使用户精确界定概念之间的边界。
与代码交叉验证
当用户陈述某物如何运作时,检查代码是否一致。如果发现矛盾,立即暴露:"你的代码取消的是整个 Order,但你刚说可以部分取消——哪个是对的?"
即时更新 CONTEXT.md
术语一旦敲定,立即更新 CONTEXT.md,不要攒着批量处理。格式参见下方「CONTEXT.md 格式」章节。
CONTEXT.md 必须完全不含实现细节。不要把它当规格文档、草稿本或实现决策仓库。它只是术语表。
审慎提供 ADR
仅当以下三条全部成立时才创建 ADR:
- 难以逆转 — 将来改变主意的代价可观
- 缺乏上下文则令人费解 — 未来读者会困惑"为什么这样做?"
- 确实是权衡的结果 — 存在真正的替代方案,且你基于具体理由选了其一
参考:CONTEXT.md 格式
结构
注:示例语言应跟随项目主语言。中文项目用中文术语,英文项目用英文术语。
规则
- 有主张。 当多个词指代同一概念时,选最好的那个,其余列入
_避免使用_。 - 定义简洁。 最多两句话。定义它是什么,而非它做什么。
- 只收录项目上下文专属术语。 通用编程概念不属于这里。
- 出现自然聚类时分组。 若所有术语属于同一领域,平铺即可。
单上下文 vs 多上下文
单上下文(多数仓库): 根目录一个 CONTEXT.md。
多上下文: 根目录 CONTEXT-MAP.md 列出所有上下文及其关系:
推断当前结构:
- 若
CONTEXT-MAP.md存在,读取它来定位上下文 - 若只有根目录
CONTEXT.md,则为单上下文 - 若都不存在,在第一个术语确定时懒创建根目录
CONTEXT.md
多上下文时,推断当前话题关联哪个上下文。不确定时,问。
参考:ADR 格式
ADR 存放在 docs/adr/,使用顺序编号:0001-slug.md、0002-slug.md……
懒创建 docs/adr/ 目录——只在第一个 ADR 需要时创建。
模板
一个 ADR 可以只有一段话。价值在于记录做了什么决策以及为什么——而非填满各个章节。
可选章节
仅在确有价值时才加。大多数 ADR 不需要。
- Status(
proposed | accepted | deprecated | superseded by ADR-NNNN)— 决策被重新审视时有用 - 备选方案 — 仅当被否决的替代方案值得记住时
- 后果 — 仅当存在不显而易见的下游影响时
编号
扫描 docs/adr/ 找到当前最大编号,加一。
什么适合做 ADR
- 架构形态。 "我们使用 monorepo。" "写模型使用事件溯源。"
- 上下文间的集成模式。 "Ordering 和 Billing 通过领域事件通信。"
- 有锁定效应的技术选型。 数据库、消息总线、认证提供商、部署目标。
- 边界与范围决策。 "Customer 数据由 Customer 上下文拥有;其他上下文只通过 ID 引用。"
- 对显而易见路径的刻意偏离。 让未来读者不会误以为是 bug 而"修复"它。
- 代码中不可见的约束。 "因合规要求不能使用 AWS。"
- 被否决方案的理由不明显时。 防止六个月后有人重新提出同样建议。
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/grill-me/SKILL.md
Popularity
- Repository stars
- 1,622
- Repository forks
- 244
- 7-day trend score
- 37
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/feiskyer/claude-code-settings/grill-me)