feat(skills): add grill skill

This commit is contained in:
2026-09-07 22:12:48 -04:00
parent 115fdc570f
commit 0ece0c3d44
3 changed files with 85 additions and 0 deletions

1
.pi/skills/grill Symbolic link
View File

@@ -0,0 +1 @@
../../src/skills/grill

View File

@@ -19,6 +19,8 @@
## Pull requests
- Always create a new branch before opening a pull request.
Never open a pull request directly from a shared or existing work branch.
- During pull-request development, add follow-up commits instead of amending existing commits.
Preserve review history until the pull request is ready to merge.
- When the user says a pull request is merged, clean up the local branch without waiting for an explicit request.

82
src/skills/grill/SKILL.md Normal file
View File

@@ -0,0 +1,82 @@
---
name: grill
description: Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any grill trigger phrase.
---
# grill
Interview the user relentlessly until you reach a shared understanding.
Map the interview as a **design tree**.
Every decision branches into the decisions that depend on it.
Never use an interactive question tool.
Do not act on the plan until the user confirms shared understanding.
Do not begin implementation after confirmation unless the user explicitly asks for implementation.
## Steps
1. Build the design tree.
Identify the root decision and every known dependent decision.
Read relevant files, docs, and prior conversation before asking.
Resolve facts yourself when the environment can answer them.
Finish when known prerequisites, facts, and open decisions are mapped.
2. Freeze the current frontier.
Treat the **frontier** as every decision whose prerequisites are settled.
Freeze those questions into the current round.
Put newly unblocked questions in the next round.
Put dependent questions in a later round when their prerequisite remains unsettled.
Finish when the current round contains every currently unblocked decision.
3. Ask one question from the current round.
Ask only one question per assistant turn.
Number the question.
Include your recommended answer.
When a question turns on existing code, docs, or artifacts, open with a context quote.
Quote the exact passage that creates the question.
Finish when the user can answer without scrolling through other questions.
4. Wait for the user's answer.
Treat decisions as the user's job.
Treat facts as your job.
Do not ask the user for facts that tools or files can answer.
Finish when the answer updates the design tree.
5. Continue or advance the round.
Ask the next unanswered question from the frozen round.
Recompute the frontier only after the frozen round is complete.
Challenge vague or overloaded language with precise terms.
Probe edge cases with concrete scenarios.
Surface contradictions between user claims, docs, and code with quotes from both sides.
Finish when the next turn has either another question from the current round or a new frozen round.
6. Repeat rounds until the frontier is empty.
Stop only when every branch of the design tree has been visited.
Leave no decision silently assumed.
Finish when you have visited every branch and no open decision remains.
7. Close the interview.
State that the frontier is empty.
Ask the user to confirm that you reached a shared understanding.
Stop and wait for the user's next instruction.
Finish when the user can confirm the shared understanding or give a new instruction.
## Question format
Use this format for each question:
```markdown
Q1. **<question title>**
<question body, including concrete choices when helpful>
Recommendation: <your recommended answer>
```