feat(skills): add grill skill
This commit is contained in:
1
.pi/skills/grill
Symbolic link
1
.pi/skills/grill
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../../src/skills/grill
|
||||||
77
src/skills/grill/SKILL.md
Normal file
77
src/skills/grill/SKILL.md
Normal file
@@ -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.
|
||||||
Reference in New Issue
Block a user