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.
|
3. Report the result.
|
||||||
List every changed path.
|
List every changed path.
|
||||||
State whether you enabled the skill or only authored it.
|
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.
|
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