1实现原理 · 为什么它能做到
grill-with-docs 自身是零实现的纯编排壳:正文只有一句,把全部工作委托给同 repo 的 grilling 与 domain-modeling 两个 skill,由宿主 'Skill tool' 依次装载。
skills/engineering/grill-with-docs/SKILL.md
Call the Skill tool twice, for "grilling" and "domain-modeling".
注:整个 SKILL.md 共 7 行(frontmatter 4 行 + 正文 1 句)。无 scripts/references/模板。功能 100% 由被引用 skill 提供,属 A 级纯指令样板。
拷问能力来自 grilling:设计树 frontier 轮次访谈——每轮把全部可问问题一次问完、编号并附推荐答案,用户答完再算下一轮 frontier,直到无隐藏假设。
skills/productivity/grilling/SKILL.md
Map this as a **design tree**: every decision branches into the decisions that hang off it. Work the tree in **rounds**. The **frontier** is every decision whose prerequisites are already settled... Ask the whole frontier in one round: number each question and give your recommended answer.
注:grilling 是 repo 内被 5+ skill(grill-me/grill-with-docs/triage/wayfinder/improve-codebase-architecture,README 明言)复用的访谈原语,它自己可被模型按描述自触发(无 disable-model-invocation)。
随访谈产文档的能力来自 domain-modeling:术语一确定就当场写进 CONTEXT.md 词汇表,决策满足三门槛才产 ADR,目录 lazy 创建。
skills/engineering/domain-modeling/SKILL.md
When a term is resolved, update `CONTEXT.md` right there. Don't batch these up: capture them as they happen.
注:格式由同目录 CONTEXT-FORMAT.md / ADR-FORMAT.md 提供(本 skill 内链 ./CONTEXT-FORMAT.md、./ADR-FORMAT.md),ADR 极简:可只有 1-3 句。
触发被双重锁死为'仅用户显式调用':SKILL.md frontmatter 与 agents/openai.yaml 各自声明禁止隐式调用,避免访谈流程被模型自发打断。
skills/engineering/grill-with-docs/SKILL.md
disable-model-invocation: true
注:CLAUDE.md 证实 repo 约定:user-invoked skill = disable-model-invocation: true + agents/openai.yaml 的 policy.allow_implicit_invocation: false(本 skill 两处齐全)。被委托的两个 skill 则无此标志(可模型自触发)。
产物纪律内建于被引用 skill 而非壳:CONTEXT.md 必须是纯词汇表、ADR 必须同时满足'难逆转/无上下文会惊讶/真权衡'三条才写。
skills/engineering/domain-modeling/SKILL.md
Only offer to create an ADR when all three are true: 1. **Hard to reverse**... 2. **Surprising without context**... 3. **The result of a real trade-off**...
注:ADR-FORMAT.md 同旨:"The value is in recording *that* a decision was made and *why*, not in filling out sections." 文档是访谈副产物而非事后补写。
2核心能力
01设计树轮次拷问:每轮一次问清当前 frontier,问题编号并附推荐答案,等用户答完再推进
02事实自查不烦用户:frontier 问题需要环境事实时派遣 sub-agent 去找,能查的不问用户
03术语冲突即时纠正:用户用词与 CONTEXT.md 词汇表冲突时当场点出
04模糊语言精炼:提出更精确的规范术语并逼用户区分概念边界
05场景压力测试与代码交叉核对:用边角场景考验领域关系,用代码验证用户陈述
06词汇表即时落盘:术语一旦定案立刻更新 CONTEXT.md,禁止攒批
07克制式 ADR 记录:三门槛全中才提议写 ADR,模板可短至 1-3 句、编号递增
4风险提醒 风险提醒:绿色 · 放心使用
风险提醒:绿色 · 放心使用
- 零容错委托:壳无任何自含兜底,宿主不支持 Skill tool 或兄弟 skill 缺失时该 skill 完全 inert,且无自检提示 — SKILL.md 正文仅 1 句,无 fallback 指令;跨 host(非 Claude Code 系)直接使用等于空转
- 组合语义未固化:'call twice' 未说明两流程如何交织,文档产出时机与完整性依赖宿主并发行为与模型临场判断,端到端行为存在漂移空间 — 无测试/校验可验证一次会话是否真的产出了 glossary+ADR,'shared understanding 达成'由模型自判
- relentless 访谈可能过度提问造成疲劳;'给推荐答案'的设计在模型固执时会诱导而非澄清 — grilling: 'Interview the user relentlessly until you reach a shared understanding'——停止条件为模型自判的 frontier 为空
- 模型被指示在用户仓库自动写 CONTEXT.md/docs/adr/ 文件:若三门槛判断失准会制造噪音文档或污染既有词汇表(设计已用'glossary only'+三条件约束,属残余风险) — domain-modeling: 'update `CONTEXT.md` right there' / 'Offer ADRs sparingly'——写入无人工确认步骤,靠事后 git 审阅兜底
三目录全文件(SKILL.md×3、agents yaml×3、两个 FORMAT 模板)逐字检查:无脚本、无网络调用、无凭证读取、无隐藏文件/符号链接。唯一'动作'是模型按指令在用户项目内写 CONTEXT.md/ADR 文档,即该 skill 的功能本体。触发双锁为仅用户显式调用。
5第二遍独立确认
- [ok] grill-with-docs 目录仅 SKILL.md + agents/openai.yaml — find 全目录 + 隐藏文件/符号链接扫描:确无 scripts/references/数据文件,无 dotfile
- [ok] 正文引用 'grilling' 与 'domain-modeling' 真实存在于本 repo 且 frontmatter name 精确匹配 — skills/productivity/grilling/SKILL.md name: grilling;skills/engineering/domain-modeling/SKILL.md name: domain-modeling;无外部缺失引用
- [ok] 外部依赖为零的结论 — 对 grill-with-docs + grilling + domain-modeling 全部 8 个文件 grep 网络/CLI/凭证/执行特征词:0 命中。无任何第三方包、API、端点
- [ok] 触发控制双锁一致 — SKILL.md 有 disable-model-invocation: true,agents/openai.yaml 有 allow_implicit_invocation: false,两清单一致;被委托的 grilling/domain-modeling 均无此标志(可模型自触发),CLAUDE.md 对 user-invoked/model-invoked 的 repo 约定与实况吻合
- [ok] 功能声明 vs 实际能力:'relentless interview + creates docs (ADR's and glossary) as we go' — 声明成立但有前提:壳本身零自含指令,能力全部来自宿主 'Skill tool' 装载两个兄弟 skill 并叠加模型判断;若宿主无跨 skill 调用机制、兄弟 skill 未安装、或模型只调了一个,则行为降级/空转,壳无任何兜底或自查提示。README 定位(L101/L131:'same as grill-me, but adds more goodies'、'grilling session... build a shared language... document hard-to-explain decisions in ADR's')与声明一致
- [ok] 组合语义是否写明('Call the Skill tool twice' 之后如何交织 interview 与写文档) — 未写明交织时序:文档化节奏靠 domain-modeling 的 inline 指令('capture them as they happen')与模型临场判断自然浮现,壳不保证两流程并发执行。复核认定为设计取舍而非缺陷,但稳定性依赖宿主行为
- [ok] 安全结论反例搜索(漏网的隐藏执行/网络/凭证面) — 未找到反例:无可执行文件、无 base64/混淆内容、无 URL、无环境变量读取。文件写入面即 CONTEXT.md/ADR(设计意图,相对路径 lazy 创建)
- [ok] 形态演化历史 — git log 证实:2026-04-30 曾移除 disable-model-invocation;2026-05-31 221ffca 把自含长 prompt 重构为委托式壳并重引入该标志;2026-08-15 系列 commit 把跨 skill 措辞统一为 'Call the Skill tool ... with "name"' 的多工具调用写法。当前 pin(2026-09-04)为最新稳定形态
6结论
适合:需要'先深度对齐再动手'的工程变更/设计/计划拷问场景,且愿意在对话中沉淀领域词汇与决策记录的个人或小团队;宿主为 Claude Code 系(有跨 skill 的 Skill tool 机制)时开箱即用;仓库长期演进、术语易漂移的项目收益最大。
不适合:无 Skill tool 能力的宿主(壳无自含指令,直接用=空转);只需快速确认的小改动(杀鸡用牛刀);非代码类个人事务应改用 grill-me/grilling 而非本 skill;不需要文档产物的场景建议去掉 domain-modeling 层。
安装 agent 直装可复制
① 本站镜像 更新 2026-09-06
方式 A · 人下载镜像包下载 grill-with-docs.tar.gz
sha256:
方式 B · JSON 格式安装指南,复制给 agentaabd3027347e47eb…agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
② 上游 GitHub · 原始来源
来源信息 GitHub 原始
作者 / 仓库mattpocock / mattpocock/skills
原始 GitHubmattpocock/skills ↗
Stars253833
最近推送2026-09-04
本 skill commit
3cca18b368许可MIT
本站信息
收录日期2026-09-06
分类基础工具与工作流
侦查报告2026-09-06 · 2 遍
本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。