feat(skills): add grill skill
Add a monorepo-owned grill skill and enable it at the repository root. Remove stale craft-skill guidance that conflicted with pull-request follow-up commits.
This commit is contained in:
1
.pi/skills/grill
Symbolic link
1
.pi/skills/grill
Symbolic link
@@ -0,0 +1 @@
|
||||
../../src/skills/grill
|
||||
@@ -112,6 +112,5 @@ Finish when one branch matches the user's requested change.
|
||||
3. Report the result.
|
||||
List every changed path.
|
||||
State whether you enabled the skill or only authored it.
|
||||
Do not stage or commit unless the user requested it.
|
||||
|
||||
Finish when the user can review the exact files changed.
|
||||
|
||||
124
src/skills/grill/SKILL.md
Normal file
124
src/skills/grill/SKILL.md
Normal file
@@ -0,0 +1,124 @@
|
||||
---
|
||||
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, stress-test, pressure-test, challenge, interrogate, or poke holes in a plan.
|
||||
---
|
||||
|
||||
# grill
|
||||
|
||||
Interview the user until the session has no open questions.
|
||||
Open questions define the ending condition for the grill session.
|
||||
Blocked questions track known decisions with unsettled prerequisites.
|
||||
|
||||
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 open-question list.
|
||||
Map the decisions needed to finish the grill session.
|
||||
Include known dependent questions as blocked questions.
|
||||
|
||||
Finish when the list contains every known required question.
|
||||
|
||||
3. Start the session.
|
||||
Present the Open questions and Blocked questions sections in short form.
|
||||
Include titles only, not full question bodies.
|
||||
Format each item with the markers from [Open-question accounting](#open-question-accounting).
|
||||
Then ask the first numbered question in the same turn.
|
||||
|
||||
Finish when the interview has started with exactly one numbered question.
|
||||
|
||||
4. Run the question loop.
|
||||
Show the Open questions and Blocked questions sections on every active grill turn.
|
||||
Ask one numbered question at a time.
|
||||
Apply [Question format](#question-format) to each question.
|
||||
Wait for the user's answer.
|
||||
Apply [Open-question accounting](#open-question-accounting) before asking again.
|
||||
Resolve newly answerable facts yourself before asking again.
|
||||
|
||||
Finish when the answer is accounted for and the turn ends with a numbered question, summary, or pause statement.
|
||||
|
||||
5. Close the interview.
|
||||
Stop when the open-question list is empty.
|
||||
Output a concise summary of every decision reached.
|
||||
Include optional follow-up questions that were not added to the open-question list.
|
||||
Do not act on the summary unless the user gives a new implementation instruction.
|
||||
|
||||
Finish when the summary is delivered and grill waits.
|
||||
|
||||
## Question format
|
||||
|
||||
End each active grill turn with exactly one numbered question.
|
||||
Give concrete options with trade-offs.
|
||||
Give a recommendation and rationale.
|
||||
|
||||
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.
|
||||
|
||||
## Open-question accounting
|
||||
|
||||
Show ready questions under `Open questions:`.
|
||||
Show questions with unsettled prerequisites under `Blocked questions:`.
|
||||
Use Markdown list items in both sections.
|
||||
Indent cause notes by two spaces under the changed question.
|
||||
Do not nest questions under other questions.
|
||||
|
||||
Use the bracket marker to show item changes on the current turn:
|
||||
|
||||
- `- [ ]` for unchanged unresolved questions
|
||||
- `- [+]` for questions added by the latest answer
|
||||
- `- [u]` for questions updated by the latest answer
|
||||
- `- [x]` for questions resolved by the latest answer
|
||||
- `- [-]` for questions removed by the latest answer
|
||||
|
||||
Keep `- [ ]` items visible every turn.
|
||||
Show `- [+]`, `- [u]`, `- [x]`, and `- [-]` for one turn only.
|
||||
After that turn, keep an updated question visible as `- [ ]`.
|
||||
After that turn, remove resolved and removed questions from the visible list.
|
||||
|
||||
When a blocked question becomes ready, move it to `Open questions:` with `- [u]` for one turn.
|
||||
Do not use `- [+]` for unblocked questions because they are not new.
|
||||
|
||||
Add questions only when the latest answer directly causes them.
|
||||
When the user extends scope instead of answering, account for the new question before pursuing it.
|
||||
Do not add optional follow-up questions to the open-question list.
|
||||
Put optional follow-up questions in the final summary instead.
|
||||
|
||||
Include a cause note for each `- [+]`, `- [u]`, and `- [-]` change.
|
||||
Use this format:
|
||||
|
||||
```md
|
||||
Open questions:
|
||||
|
||||
- [u] Copyleft preference
|
||||
Cause: The `src/skills/` exception leaves the rest of the monorepo under the root license.
|
||||
|
||||
Blocked questions:
|
||||
|
||||
- [+] Patent explicitness
|
||||
Cause: Your answer made patent terms relevant to the license choice.
|
||||
```
|
||||
|
||||
Preserve agent judgment when the user reframes or invalidates a question.
|
||||
Show the resulting list change instead of following a rigid reframe algorithm.
|
||||
|
||||
When the user catches incorrect open-question handling, briefly explain the error.
|
||||
Then show the corrected open-question list.
|
||||
|
||||
## 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