fix(skills): use markdown-native grill questions

This commit is contained in:
2026-09-08 11:45:56 -04:00
parent 7dc5f8f6ac
commit 1dce73361a

View File

@@ -28,9 +28,9 @@ A completed grill summary is not an instruction to build.
Finish when the list contains every known required question. Finish when the list contains every known required question.
3. Start the session. 3. Start the session.
Present the full open-question list in short form. Present the Open questions and Blocked questions sections in short form.
Include titles only, not full question bodies. Include titles only, not full question bodies.
Format each line with the escaped prefix and bracket state from [Open-question accounting](#open-question-accounting). Format each item with the markers from [Open-question accounting](#open-question-accounting).
Then ask the first numbered question in the same turn. Then ask the first numbered question in the same turn.
Finish when the interview has started with exactly one numbered question. Finish when the interview has started with exactly one numbered question.
@@ -65,50 +65,46 @@ When code contradicts the user's claim, quote both the claim and the code behavi
## Open-question accounting ## Open-question accounting
Write each open question as its own top-level line. Show ready questions under `Open questions:`.
Escape the line prefix with `\` so Markdown does not treat it as a list item. Show questions with unsettled prerequisites under `Blocked questions:`.
Start each line with one escaped prefix, one space, one bracket state, one space, then the title. Use Markdown list items in both sections.
Indent cause notes by two spaces under the changed question. Indent cause notes by two spaces under the changed question.
Do not nest open questions under other open questions. Do not nest questions under other questions.
Use the raw prefix to choose the escaped prefix for the current turn: Use the bracket marker to show item changes on the current turn:
- `\-` for unchanged, resolved, or removed questions - `- [ ]` for unchanged unresolved questions
- `\+` for questions added by the latest answer - `- [+]` for questions added by the latest answer
- `\~` for questions updated 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
Use the bracket state to show the question state: Keep `- [ ]` items visible every turn.
Show `- [+]`, `- [u]`, `- [x]`, and `- [-]` for one turn only.
- `[ ]` for ready unresolved questions After that turn, keep an updated question visible as `- [ ]`.
- `[b]` for blocked questions
- `[x]` for resolved questions
- `[-]` for removed questions
Keep `\- [ ]` and `\- [b]` questions visible every turn.
Show `\+`, `\~`, `[x]`, and `[-]` for one turn only.
After that turn, keep an updated question visible as `\- [ ]` or `\- [b]`.
After that turn, remove resolved and removed questions from the visible list. After that turn, remove resolved and removed questions from the visible list.
Use `\- [b]` for questions the agent knows exist but cannot ask yet. When a blocked question becomes ready, move it to `Open questions:` with `- [u]` for one turn.
When a blocked question becomes askable, mark it with `\~ [ ]` for one turn. Do not use `- [+]` for unblocked questions because they are not new.
Do not use `\+ [ ]` for unblocked questions because they are not new.
Add questions only when the latest answer directly causes them. 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. 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. Do not add optional follow-up questions to the open-question list.
Put optional follow-up questions in the final summary instead. Put optional follow-up questions in the final summary instead.
Include a cause note for each `\+`, `\~`, and `[-]` change. Include a cause note for each `- [+]`, `- [u]`, and `- [-]` change.
Use this format: Use this format:
```md ```md
\+ [b] Patent explicitness Open questions:
Cause: Your answer made patent terms relevant to the license choice.
```
```md - [u] Copyleft preference
\~ [ ] Copyleft preference
Cause: The `src/skills/` exception leaves the rest of the monorepo under the root license. 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. Preserve agent judgment when the user reframes or invalidates a question.