diff --git a/.pi/skills/grill b/.pi/skills/grill new file mode 120000 index 0000000..2806aae --- /dev/null +++ b/.pi/skills/grill @@ -0,0 +1 @@ +../../src/skills/grill \ No newline at end of file diff --git a/src/skills/grill/SKILL.md b/src/skills/grill/SKILL.md new file mode 100644 index 0000000..45af9de --- /dev/null +++ b/src/skills/grill/SKILL.md @@ -0,0 +1,77 @@ +--- +name: grill +description: Stress-test a plan, decision, or design through a one-question-at-a-time interview. Use when the user asks to grill a plan or uses a grill trigger phrase. +--- + +# grill + +Interview the user until the design tree has no open frontier. +The design tree contains each decision and the decisions that depend on it. +The frontier contains every question whose prerequisites are settled. + +Do not create glossary, context, or ADR files during grill. +Do not begin implementation during or after grill without an explicit user instruction. +A completed grill summary is not an instruction to build. + +## Run the interview + +1. Investigate first. + Read the conversation, files, and docs that can settle facts or reveal constraints. + Resolve factual questions yourself when tools can answer them. + Do not ask the user for facts you can find. + + Finish when known facts, constraints, and unresolved decisions are visible. + +2. Build the first frontier. + Map the design tree from the known plan or idea. + Put only questions with settled prerequisites in the frontier. + Defer questions that depend on another open question. + + Finish when each frontier question can receive an answer without guessing another answer. + +3. Start the session. + Present the known frontier in short form. + Include titles only, not full question bodies. + Then start the interview in the same turn with the first numbered question. + + Finish when the user sees the known frontier and the first question. + +4. Ask one question at a time. + End each active grill turn with exactly one next numbered question. + Give concrete options with trade-offs. + Give a recommendation and rationale. + Wait for the user's answer before the next question. + + Finish when the user has answered the current question. + +5. Recompute the frontier. + Mark the answered decision as settled. + Add newly unblocked questions to the frontier. + Remove questions that the answer made irrelevant. + Resolve newly answerable facts yourself before asking again. + + Finish when the frontier reflects the current design tree. + +6. Challenge weak decisions. + Probe vague words, overloaded terms, and hidden assumptions. + Use concrete scenarios to test concept boundaries and edge cases. + When code contradicts the user's claim, quote both the claim and the code behavior. + + Finish when the next frontier question accounts for the challenge. + +7. Close the interview. + Stop when the frontier is empty. + Output a concise summary of every decision reached. + Do not act on the summary unless the user gives a new implementation instruction. + + Finish when the summary is delivered and grill waits. + +## Turn endings + +While grill is active, every assistant turn must end with exactly one of these items: + +- the next numbered question +- the final decision summary +- a plain statement that grill is paused because the user changed tasks + +If the turn includes a correction, file edit, apology, or explanation, still end with the next numbered question.