feat(skills): add grill skill
Add a monorepo-owned grill skill and enable it at the repository root. Remove stale craft-skill commit guidance.
This commit was merged in pull request #24.
This commit is contained in:
@@ -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.
|
||||
|
||||
88
src/skills/grill/SKILL.md
Normal file
88
src/skills/grill/SKILL.md
Normal file
@@ -0,0 +1,88 @@
|
||||
---
|
||||
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 or blocked 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. Prepare the grill.
|
||||
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.
|
||||
Build the required-question set from the known plan or idea.
|
||||
Put ready questions under `Open questions:`.
|
||||
Put known questions with unsettled prerequisites under `Blocked questions:`.
|
||||
|
||||
Finish when both sections contain every known required question.
|
||||
|
||||
2. Start the interview.
|
||||
Show `Open questions:` and `Blocked questions:` in short form.
|
||||
Include titles only, not full question bodies.
|
||||
Use Markdown list items in both sections.
|
||||
Mark each initial item with `- [ ]`.
|
||||
Ask exactly one numbered question in the same turn.
|
||||
The question title must match an item under `Open questions:`.
|
||||
|
||||
Finish when the interview has started with exactly one numbered question.
|
||||
|
||||
3. Process the answer.
|
||||
Account for the user's answer before asking another question.
|
||||
Resolve, update, remove, unblock, or add questions as the answer requires.
|
||||
Use `- [ ]` for unchanged unresolved questions.
|
||||
Use `- [+]` for questions added by the latest answer.
|
||||
Use `- [u]` for questions updated by the latest answer.
|
||||
Use `- [x]` for questions resolved by the latest answer.
|
||||
Use `- [-]` for questions removed by the latest answer.
|
||||
Include a cause note for each `- [+]`, `- [u]`, and `- [-]` change.
|
||||
Indent cause notes by two spaces under the changed question.
|
||||
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.
|
||||
Move unblocked questions from `Blocked questions:` to `Open questions:` with `- [u]`.
|
||||
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 either section.
|
||||
Put optional follow-up questions in the final summary instead.
|
||||
Resolve newly answerable facts yourself.
|
||||
|
||||
Finish when every list change has an explicit marker and required cause note.
|
||||
|
||||
4. Ask the next question.
|
||||
Show `Open questions:` and `Blocked questions:` on every active grill turn.
|
||||
Keep `- [ ]` items visible every turn.
|
||||
Preserve agent judgment when the user reframes or invalidates a question.
|
||||
Show the resulting list change instead of following a rigid reframe algorithm.
|
||||
If the user catches incorrect accounting, briefly explain the error.
|
||||
Then show the corrected question sections.
|
||||
Ask exactly one numbered question when `Open questions:` contains an unresolved item.
|
||||
The question title must match an item currently shown under `Open questions:`.
|
||||
Give concrete options with trade-offs.
|
||||
Label options with `A.`, `B.`, `C.`, and later letters.
|
||||
Use the same labels in the recommendation.
|
||||
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.
|
||||
If the turn includes a correction, file edit, apology, or explanation, still end with the next numbered question.
|
||||
|
||||
Finish when the turn ends with the next numbered question.
|
||||
|
||||
5. Close or pause.
|
||||
Close when `Open questions:` and `Blocked questions:` are empty.
|
||||
Output a concise summary of every decision reached.
|
||||
Include optional follow-up questions that were not added to either section.
|
||||
Do not act on the summary unless the user gives a new implementation instruction.
|
||||
If the user changes tasks, state that grill is paused.
|
||||
End the turn with the final decision summary or the pause statement.
|
||||
|
||||
Finish when the summary is delivered or grill is explicitly paused.
|
||||
Reference in New Issue
Block a user