Skip to main content

grill-with-docs

Grills a plan or design against the Hermes multi-profile domain model — challenges against CONTEXT.md glossary, cross-references with code and configs, stress-tests with concrete scenarios, and updates documentation inline as decisions crystallise. Structured 4-phase flow: load domain → walk decision tree (one question at a time via clarify+choices) → evidence challenge (read code/docs before asking) → capture & summarize. Use when the user wants to stress-test a plan, review an edict, validate a design, or explicitly invokes 'grill me' / '拷打我' / 'challenge this' / '找漏洞'. DO NOT trigger on simple unambiguous instructions or pure execution tasks.

설치로 이동

소스 정보

저장소
Loveacup/jz-skills
최근 소스 활동
2026년 6월 7일 05:46
감지된 SKILL.md 언어
영어
스타
1
포크
1

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
grill-with-docs
description
Grills a plan or design against the Hermes multi-profile domain model — challenges against CONTEXT.md glossary, cross-references with code and configs, stress-tests with concrete scenarios, and updates documentation inline as decisions crystallise. Structured 4-phase flow: load domain → walk decision tree (one question at a time via clarify+choices) → evidence challenge (read code/docs before asking) → capture & summarize. Use when the user wants to stress-test a plan, review an edict, validate a design, or explicitly invokes 'grill me' / '拷打我' / 'challenge this' / '找漏洞'. DO NOT trigger on simple unambiguous instructions or pure execution tasks.
type
routine
version
2.2.0
author
Hermes Agent (v2.2 adds multi-agent bidirectional discussion mode; v2.1 adds source-code-only red flag + web-search-first evidence rule)
license
MIT
platforms
["macos","linux"]
metadata
{"hermes":{"tags":["grill","review","design-review","plan-validation","governance"],"related_skills":["web-research-router","github"]}}
# Grill With Docs — Hermes multi-profile 版 v2.0 Adapted from [mattpocock/skills](https://github.com/mattpocock/skills). Original: `grill-with-docs` and `grill-me`. v2.0 absorbs pi-grill v3.1's structured 4-phase flow and evidence-challenge discipline. Interview the user relentlessly about every aspect of a plan until shared understanding is reached. Walk down each branch of the design tree, resolving dependencies one-by-one. For each question, provide your recommended answer. **Ask questions one at a time**, waiting for feedback on each before continuing. **Every question MUST use `clarify` with the `choices` parameter**: max 4 options, mark ONE as recommended (bold or ✓). Place choices AFTER the question body — never before. User clicks, never types. Reserve open-ended `clarify` (no choices) only for free-text follow-ups where no reasonable preset options exist. If a question can be answered by exploring the codebase or existing documentation, do that instead of asking. --- ## 🚨 Red Flags: DO NOT BREAK THE GRILL RULES This skill is worthless if you rationalize around its constraints. Read this before every grill session. | Excuse your brain will make | Why it's wrong | |------------------------------|----------------| | "This is a simple question, I'll just type it out" | Every question MUST use `clarify` with `choices`. Typing questions as open-ended text forces the user to type back — slower, more friction. | | "I can ask a few questions at once to save time" | One. Question. At. A. Time. Batching kills the decision-tree walk. Each question depends on the previous answer. | | "I know what they mean, no need to challenge this" | Your job IS to challenge. Vague terms → sharpen. Conflicting terms → call out. Assumptions → test. | | "This seems settled, let's move on" | NEVER continue until the current question is explicitly resolved (chosen, edited, or acknowledged as skipped). | | "I'll update CONTEXT.md later" | Capture terms as they crystallize. Batched updates get forgotten. Update inline immediately. | | "The user is busy, I shouldn't interrupt" | One question = 30 seconds. Wrong implementation = hours of rework. Grill early, not late. | | "I'll pad my response with polite filler to sound helpful" | 🚫 **Anti-Slop.** If the response reads like generic AI output ("all things considered", "it's worth noting that"), restart. Every claim must cite a specific file, line number, config key, or doc section. No hedging without evidence. | | "I'll list all the ambiguities at once for efficiency" | Batch questions → user only answers the last one. One at a time. | | "I already know how X works / I can explain from memory" | 🚫 **Search-first iron rule.** Training data is stale. Before making ANY factual claim about system behavior (e.g. "TTS won't speak reasoning", "config key means Y"), you MUST load `web-research-router` → search web + read source code → cite evidence (file:line). This is the #1 most common grill violation. 2026-05-29 TTS case: claimed model stops reasoning → code showed `reasoning_effort` unchanged, only `display.platforms.telegram.show_reasoning` toggled. | | "I'll list all the ambiguities at once for efficiency" | Batch questions → user only answers the last one. One at a time. | | "I already know how this works, no need to check the source" | 🚫 **Fatal.** Any claim about how Hermes or a tool works MUST be verified against source code, configs, or web search. The user trusts these claims as facts. Wrong claims → hours of confusion + erosion of trust. 用 `web-research-router` 搜 + `search_files` 查源码 + `read_file` 看行号,三项做完才能开口。 | | "I'll list all the ambiguities at once for efficiency" | Batch questions → user only answers the last one. One at a time. | **If you caught yourself thinking any of these → re-read the Never Do list and restart the current question.** --- ## Domain Awareness ### CONTEXT.md (the glossary) The system's domain model lives at: ``` Obsidian: 20-Areas/10_AI实践/Hermes/CONTEXT.md ``` This file defines all canonical terms: multi-profile roles, skill names, research modes, GitHub exploration layers, memory hierarchy, deployment concepts, machine roles, EmpireThread concepts. Before every grilling session, **read CONTEXT.md** to load the current glossary. ### ADRs (Architecture Decision Records) EmpireThread ADRs live in the Obsidian vault (discover via `qmd` or filesystem search). Format: `EmpireThread_关键决策_ADR` or `EmpireThread_*_ADR*`. ### Code and config to cross-reference The "code" to verify against includes: | Surface | Location | What to check | |---------|----------|---------------| | Skill files | `~/.hermes/skills/*/SKILL.md` | Are skill names/descriptions consistent with terms used in the plan? | | Profile configs | `~/.hermes/profiles/*/config.yaml` | Do profile roles match what the plan assumes? | | MCP config | `~/.hermes/config.yaml` `mcp_servers:` | Are referenced tools actually available? | | Cron jobs | `hermes cron list` | Does the plan conflict with existing schedules? | | Memory | `hindsight_recall` | Are there relevant past decisions? | | **Plugin system** | `references/hermes-plugin-capabilities.md` | Verified Hermes plugin APIs, hooks, and limitations | --- ## Grill Flow (4 Phases) ### Phase 1: Load Domain Read CONTEXT.md + search for relevant ADRs (`qmd` or `search_files` for `EmpireThread_*ADR*`). Ask the user to describe what they want to build/change. ### Phase 2: Walk the Decision Tree One question at a time, resolving each branch: - **Challenge against glossary:** When a term conflicts with CONTEXT.md, call it out: "CONTEXT.md defines '中书省' as 拟制层, but you seem to mean 执行层 — which is it?" - **Sharpen fuzzy language:** When terms are vague or overloaded, propose a precise canonical term: "你说'同步'——是指 profile sync、Obsidian sync、还是 skill 三文件同步?这是三件不同的事。" - **Cross-reference with code:** When the user states how something works, check whether actual code/config agrees. Surface contradictions. - **Stress-test with scenarios:** Invent edge cases that force precision: "如果新 profile 加了但 skill 没同步到,grill-with-docs 自己会检测到吗?" - **Quantify vagueness:** "好一点"→"响应时间从 500ms 降到 200ms 行吗?" "快一点"→"方案A 3天但完整,方案B 1天但少30%功能,选哪个?" - **Expose contradictions immediately:** "你说要高可用但单机部署。这两件事矛盾——你更看重哪个?" ### Phase 3: Evidence Challenge Before asking the user a question, exhaust all verifiable sources: Before asking the user a question, exhaust all verifiable sources: - **Search web + docs first:** "TTS 怎么处理 reasoning?" → search Hermes docs via `web-research-router`, THEN verify with source code. Code alone misses end-to-end interactions between gateway/stream/TTS layers. - **Read code first:** "上次的方案"→ read .md or `git log` before asking - **Check configs:** Don't ask "what model does X use" — read `config.yaml` - **Search memory:** Check `hindsight_recall` for past decisions before re-litigating - **Never assert system internals without source trace:** When explaining how something works (TTS pipeline, model behavior, tool interaction), trace through actual source code — cite file paths and line numbers. Rule: 先 `search_files` + `web-research-router` 搜 → 再 `read_file` 读源码 → 最后开口。This session's case study: misattributed TTS behavior (claimed model stopped generating reasoning; actually only display-level filter). See `references/tts-reasoning-case-study.md`. - **Only ask when:** No code/doc/config/memory/web-search can answer it ### Phase 4: Capture & Summarize - **Update CONTEXT.md inline:** When a term is resolved, update immediately. Don't batch — capture as they happen. - **Offer ADRs sparingly:** Only when (1) hard to reverse, (2) surprising without context, (3) result of a real trade-off. If any criterion is missing, skip. - **Know when to stop:** Ambiguity resolved / user calls stop / 3 consecutive questions on same topic. If hitting the limit: "上述理解对吗?可以继续了吗?" - **Summarize:** Restate the full plan with decisions made, terms resolved, and anything left open. What was clarified + what was decided + next steps. --- ## Never Do - NEVER ask multiple questions in one turn — one question, wait for answer, then next - NEVER ask a question as plain text — always use `clarify` with `choices` (max 4 options + auto "Other"). Open-ended `clarify` (no choices) is only for free-text follow-ups - NEVER accept "I'll figure that out later" without noting it as an unresolved decision - NEVER let the user skip a question without acknowledging it was skipped - NEVER treat CONTEXT.md as a spec, PRD, or implementation plan — it is a glossary only - NEVER create an ADR without all three criteria met - NEVER continue to the next question until the current one is resolved (chosen, edited, or explicitly skipped) - NEVER exceed 3 consecutive questions on the same topic without checking: "上述理解对吗?可以继续了吗?" - NEVER ask a question that code/docs/config could answer — evidence-challenge first - NEVER state a technical fact about how Hermes works without citing source code, config, or docs — this applies in ALL conversations, not just grill sessions. See also: `references/reasoning-tts-interaction.md` for an example of getting this wrong and the verified truth. --- ## ✅ Verification Checklist (RUN BEFORE ENDING EACH QUESTION) - [ ] CHECK: Asked only ONE question this turn? - [ ] CHECK: Used `clarify` with `choices` (max 4 options, one recommended), options placed after body text? - [ ] CHECK: Checked code/config/docs before asking (Phase 3: evidence challenge)? - [ ] CHECK: For technical claims — searched web via `web-research-router` + read source files, cited `file:line`? - [ ] CHECK: Captured any resolved term in CONTEXT.md immediately? - [ ] CHECK: Did NOT accept "I'll figure that out later" without noting it? **Every box must honestly pass. If unchecked, go back.** --- ## 🔥 Multi-Agent Discussion Mode(Hermes↔CC 双向拷问)v2.2 > **扩展场景:** 本 skill 原生设计为人↔agent 单方拷问。当 Hermes 与 Claude Code 协作处理复杂任务时,升级为**双向**——Hermes 拷问 CC,CC 也可拷问 Hermes。 ### 何时升级到双向模式 - Hermes 拉 CC 处理非平凡任务(skill 编写、架构改动、多文件重构) - 任务方案不明确,需多轮对齐才进入执行 - 用户说"讨论一下 / 看方案 / 处理决策点"——默认讨论,不是执行 ### 双向拷问规则 1. **开场即讨论**,除非需求明确到不需要讨论。写 context 文件时即包含讨论协议要求。 2. 每轮结束产出**讨论简报**(≤5 bullet:讨论了什么 / 决定了什么 / 分歧 / Hermes 的拷问 / 下一步),发给 Alex。 3. **CC 提问触及 Hermes 无法代答的决策** → 🛑 立即转发给 Alex,不要猜测或沉默等待。 4. CC 深度思考时 Hermes **每 30s 轮询** capture-pane,沉默 >2min 主动声明。特别关注决策停滞——CC 在等回答但 Hermes 没察觉。 5. 双向都需遵守证据纪律:关于"现状"的陈述必须带可验证 artifact(文件路径、命令输出、git log)。 6. 终止条件:双方对所有未决分支达成显式一致 → 进入执行。≤3 轮仍有分歧 → 标记未决、写入 assumption log、带条件推进。 ### 讨论简报模板 ```markdown 📡 讨论简报 R{n} · 讨论了什么 · 决定了什么 · 分歧 / 未决 · Hermes 的拷问(需 Alex 回答的问题,每问带推荐答案) · 下一步 ``` ### 与 claude-code skill 的关系 本 skill 提供 grill 方法论(逐问 / 证据 / 术语澄清 / 场景压测)。`claude-code` skill 的 §讨论协议 提供编排层落地(双向拷问规则 / agent team 对齐 / 简报模板)。两者互补:方法论 ← grill-with-docs,编排 ← claude-code。 --- ## Deployment & Sync **After ANY update to this SKILL.md, you MUST:** 1. **Sync to ALL Hermes profiles** — discover and sync dynamically: ```bash for prof in $(ls -d ~/.hermes/profiles/*/ 2>/dev/null | xargs -n1 basename); do dst=~/.hermes/profiles/$prof/skills/governance/grill-with-docs [ -d "$dst" ] && cp -r "$dst" ~/.hermes/profiles/$prof/backups/grill-with-docs-$(date +%Y%m%d_%H%M%S) rm -rf "$dst" cp -r ~/.hermes/skills/governance/grill-with-docs "$dst" done ``` 2. **Sync Obsidian documentation** — update `00-Inbox/工具制作_Hermes检索总控与GitHub源码探索_multi-profile_20260526.md`: - Bump `modified` timestamp - Update grill-with-docs version to v2.0 3. **Update CONTEXT.md** — ensure `grill-with-docs` is listed in the glossary under "核心 skill" 4. **Update qmd index:** `qmd update` 5. **Verify:** Spot-check 2-3 profiles for SKILL.md presence + check that CONTEXT.md contains the grill-with-docs entry. ``` User: /grill-with-docs I want to add a new 兵部 profile for security scanning Agent: [reads CONTEXT.md, searches for security-related ADRs] Agent: CONTEXT.md defines 兵部 as "安全、权限、破坏性操作" — is this new profile an additional 兵部 instance, or replacing the existing one? User: Additional. It runs nightly scans. Agent: [cross-references cron jobs] There's already a sync-memory-to-regent cron running every 360 minutes. Will your nightly scan conflict with it, or should they be staggered? ... [continues one question at a time] ```
GitHub에서 보기