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管控建议与判定依据
建议配套管控措施
面向 Agent
限定工作目录
面向管理者
保留操作记录
判定依据(文件路径与关键语句摘要)
- 本地工作目录: 文件读写与工件输出: 模型按 domain-modeling 指令写入用户项目:CONTEXT.md(首术语定案时创建/更新)、CONTEXT-MAP.md(多上下文时)、
审计说明: 三目录全文件(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 层。
Install Agent-Ready
① Verified Mirror 2026-09-06
Option A · Direct DownloadDownload grill-with-docs.tar.gz
sha256:
Option B · Copy Guide for Agentaabd3027347e47eb…agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
② Upstream GitHub
GitHub Repo ↗
Pinned to commit 3cca18b368.