website/docs/user-guide/skills/optional/software-development/software-development-grill-me.md
Adversarial plan interview before implementation.
| Source | Optional — install with hermes skills install official/software-development/grill-me |
| Path | optional-skills/software-development\grill-me |
| Version | 2.0.0 |
| Author | Rafael Zendron (rafaumeu) + Matt Pocock (mattpocock/skills, grilling) + Hermes Agent |
| License | MIT |
| Platforms | linux, macos, windows |
| Tags | planning, adversarial, interview, decision-tree, pre-implementation, review, alignment |
| Related skills | requesting-code-review, subagent-driven-development, test-driven-development |
:::info The following is the complete skill definition that Hermes loads when this skill is triggered. This is what the agent sees as instructions when the skill is active. :::
Stress-tests a plan through structured adversarial questioning before any code is written. Models the plan as a design tree — every decision branches into the decisions that hang off it — and interviews the user in rounds until every branch is resolved and nothing is silently assumed.
Combines the phase discipline of the original with the frontier-rounds
mechanic from mattpocock/skills' grilling.
subagent-driven-development decompositionDo NOT use for existing code (use requesting-code-review) or simple one-off
tasks.
None. The skill works on any plan or raw idea.
Map the plan as a design tree. The frontier is every decision whose prerequisites are already settled — the questions you can ask NOW without guessing at answers you haven't heard yet.
Work in rounds: ask the whole current frontier in one message, numbered, each question carrying your recommended answer. Then wait. A question whose answer depends on another question still open in this round belongs to a LATER round, not this one.
Format each round like so:
❓ Q1 — <question title>: <question body, options if relevant>
➡️ Recommendation: <your recommended answer + one-line why>
❓ Q2 — <question title>: <question body>
➡️ Recommendation: <...>
Each answer reshapes the tree: settled decisions push the frontier outward and unblock dependent questions. Recompute the frontier and ask the next round.
Facts are your job; decisions are the user's. When a frontier question
needs a fact from the environment (codebase, filesystem, config, docs), find
it yourself with search_files / read_file / terminal — or dispatch a
subagent via delegate_task for a heavy exploration. Never ask the user for
anything you could look up. Don't block on an exploration: only the questions
downstream of it wait; ask the rest of the frontier now.
Understanding — the real goal and boundaries:
Technical decisions — for each architectural choice:
Edge cases:
Do not act on the plan until the user confirms shared understanding.