fix(grilling): collapse family to one skill — behavioral test evidence

RED (2026-08-12, clean pi -p subprocesses): user phrases «прогриль мой план»,
«grill my plan», «хватит, точи план», «прогриль с доками» all resolved to
grilling, NOT grill-me/grill-with-docs. Root cause (verified in pi docs
skills.md): disable-model-invocation: true hides a skill from the system
prompt — the thin user-wrapper split (mattpocock's slash-command model) is
structurally unreachable in pi's natural-language matching.

GREEN: single grilling v0.2.0 with integrated Docs mode (trigger «с доками» /
«зафиксируй» → decision record to .wiki/concepts/<topic>-decision.md or
.brainstorm/ append). Re-run: 5/5 positive → grilling, 4/4 negative clean.

Removed grill-me + grill-with-docs (invisible in pi, dead weight); README
table updated; lint 0/0; ~/.claude/skills = 39; dist pruned+rebuilt.
This commit is contained in:
2026-08-12 15:52:43 +03:00
parent 9832bd3c25
commit ff68762516
11 changed files with 41 additions and 68 deletions

View File

@@ -113,7 +113,7 @@ an explicit `adapted-from` marker in its frontmatter.
|---|---|
| `caveman`, `caveman-commit`, `caveman-compress`, `caveman-help`, `caveman-review` | `adapted-from: JuliusBrussee/caveman` (MIT) — vendored copy, upstream pin TBD |
| `find-skills` | `adapted-from: vercel-labs/skills` (MIT) — vendored copy, upstream pin TBD |
| `grilling`, `grill-me`, `grill-with-docs` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) |
| `grilling` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — family collapsed to one skill (pi hides `disable-model-invocation` wrappers) |
| all other `skills/*` | `author: ours` |
Adaptation policy: a clone is rewritten to our conventions (`.tasks/` boards,

View File

@@ -83,7 +83,7 @@ bash scripts/build.sh caveman # один
|---|---|
| `caveman`, `caveman-commit`, `caveman-compress`, `caveman-help`, `caveman-review` | `adapted-from: JuliusBrussee/caveman` (MIT) — вендорная копия, пин апстрима TBD |
| `find-skills` | `adapted-from: vercel-labs/skills` (MIT) — вендорная копия, пин апстрима TBD |
| `grilling`, `grill-me`, `grill-with-docs` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) |
| `grilling` | `adapted-from: mattpocock/skills @ 84fdeffd` (MIT) — семейство схлопнуто в один скил (pi прячет `disable-model-invocation` обёртки) |
| остальные `skills/*` | `author: ours` |
Политика адаптации: клон переписывается под наши конвенции (доски `.tasks/`,

BIN
dist/grill-me.skill vendored

Binary file not shown.

Binary file not shown.

BIN
dist/grilling.skill vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,21 +0,0 @@
---
name: grill-me
adapted-from: mattpocock/skills @ 84fdeffd12f2ee307994d1eb6feb48173b6e0502 (MIT)
version: 0.1.0
description: >
A relentless interview to sharpen a plan or design — the convergent phase
after a brainstorm. Thin user-invoked wrapper over the grilling skill: the
user says «прогриль меня», «grill me», «хватит, точи план», «stress-test my
plan», «прогони идею по фронтиру» — and the agent runs a full grilling
session (design tree, rounds, frontier, numbered questions with recommended
answers). Works in any project, including .workshop before promotion.
Invoked only by the user — the agent never starts it on its own.
disable-model-invocation: true
---
Run a `grilling` session.
Convergent phase after the divergent brainstorm: the user says «хватит, к
промоушену» / "enough, sharpen it" — then run the interview machine until the
frontier is empty and the plan is sharp enough to promote or implement without
open questions.

View File

@@ -1,34 +0,0 @@
---
name: grill-with-docs
adapted-from: mattpocock/skills @ 84fdeffd12f2ee307994d1eb6feb48173b6e0502 (MIT)
version: 0.1.0
description: >
A relentless interview to sharpen a plan or design that also writes the
decision record as it goes — grill session + docs byproduct. Use when the
user says «прогриль с доками», «grill with docs», «хватит, точи и зафиксируй»,
«прогриль и запиши решение». After the frontier is empty: write context,
numbered decisions with rationale, and a glossary to
`.wiki/concepts/<topic>-decision.md` (project-discipline rule 1) — or append
the Q&A to the `.brainstorm/<topic>.md` running record in the workshop zone.
User-invoked only.
disable-model-invocation: true
---
Run a `grilling` session. When the frontier is empty and the user confirms
shared understanding, write the decision record as the byproduct:
- **Context** — what we set out to decide, in one paragraph.
- **Decisions** — the numbered Q&A from the session: each decision, the options
considered, the chosen one, one-line rationale.
- **Glossary** — domain terms that came up, defined so a fresh agent (or the
promotion pipeline) reads the record without asking.
Target (per project-discipline Rule 1):
- regular project → `.wiki/concepts/<topic>-decision.md`
- workshop zone → append the Q&A to `.brainstorm/<topic>.md` (running record),
then the promotion pipeline takes over (workshop-promote-brainstorm)
The record is the sharpened input for promotion/implementation — it should be
readable by a fresh agent with no open questions, mirroring the grilling
done-when-frontier-empty criterion.

View File

@@ -1,16 +1,17 @@
---
name: grilling
adapted-from: mattpocock/skills @ 84fdeffd12f2ee307994d1eb6feb48173b6e0502 (MIT)
version: 0.1.0
version: 0.2.0
description: >
Interview the user relentlessly about a plan, decision, or idea until you reach
shared understanding — the convergent phase after a brainstorm. Works a design
tree in rounds: every round asks the whole "frontier" (questions whose
prerequisites are settled), each question numbered with a recommended answer.
Use when the user wants to stress-test their thinking, sharpen a plan before
promotion/implementation, or uses any 'grill' trigger: «прогриль», «grill my
plan», «хватит, точи план», «прогони по фронтиру», "stress-test this".
Pair with grill-me (user wrapper) and grill-with-docs (writes the decision record).
shared understanding — the convergent phase after a brainstorm. The interview
machine: design tree, frontier, rounds of numbered questions with recommended
answers. Trigger (user): «прогриль», «grill my plan», «хватит, точи план»,
«хватит, к промоушену», "stress-test my plan". Docs mode (trigger: «с доками»,
«зафиксируй», "with docs"): after the frontier is empty, also write the
decision record (context / numbered decisions with rationale / glossary) to
`.wiki/concepts/<topic>-decision.md` or append to the `.brainstorm/` running
record in the workshop zone.
---
# Grilling
@@ -18,6 +19,11 @@ description: >
Interview the user relentlessly until you reach a shared understanding. Map this
as a **design tree**: every decision branches into the decisions that hang off it.
This is the convergent phase after the divergent brainstorm: the user says
«хватит, к промоушену» / "enough, sharpen it" — then run the interview machine
until the frontier is empty and the plan is sharp enough to promote or
implement without open questions.
Work the tree in **rounds**. The **frontier** is every decision whose
prerequisites are already settled — the questions you can ask _now_ without
guessing at answers you haven't heard yet. Ask the whole frontier in one round:
@@ -49,6 +55,28 @@ The session is done when the frontier is empty: every branch of the design tree
visited, nothing left silently assumed. Do not act on it until the user confirms
you have reached a shared understanding.
## Docs mode
If the user asked for docs («с доками», «зафиксируй», "with docs"), write the
decision record as the byproduct once the frontier is empty and the user
confirms shared understanding:
- **Context** — what we set out to decide, in one paragraph.
- **Decisions** — the numbered Q&A from the session: each decision, the options
considered, the chosen one, one-line rationale.
- **Glossary** — domain terms that came up, defined so a fresh agent (or the
promotion pipeline) reads the record without asking.
Target (per project-discipline Rule 1):
- regular project → `.wiki/concepts/<topic>-decision.md`
- workshop zone → append the Q&A to `.brainstorm/<topic>.md` (running record),
then the promotion pipeline takes over (workshop-promote-brainstorm)
The record is the sharpened input for promotion/implementation — readable by a
fresh agent with no open questions, mirroring the done-when-frontier-empty
criterion.
## Cross-agent applicability
Pure interview methodology — no harness-specific tool references. Works on pi,
@@ -57,7 +85,7 @@ above; without sub-agent support the agent looks facts up directly.
## Out of scope
- Does NOT write any artifact — that's `grill-with-docs` (decision record) and
the promotion pipeline (wiki/tasks).
- Does NOT write any artifact unless the user asked for docs mode («с доками»,
«зафиксируй") — then it writes the decision record (see Docs mode).
- Does NOT run the divergent brainstorm — that's the brainstorming phase before
this skill ("хватит, к промоушену" is the switch).
this skill («хватит, к промоушену» is the switch).