diff --git a/README.md b/README.md index 4723826..a76c38b 100644 --- a/README.md +++ b/README.md @@ -113,6 +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) | | all other `skills/*` | `author: ours` | Adaptation policy: a clone is rewritten to our conventions (`.tasks/` boards, diff --git a/README.ru.md b/README.ru.md index 0b11bb7..9e973ef 100644 --- a/README.ru.md +++ b/README.ru.md @@ -83,6 +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) | | остальные `skills/*` | `author: ours` | Политика адаптации: клон переписывается под наши конвенции (доски `.tasks/`, diff --git a/skills/grill-me/SKILL.md b/skills/grill-me/SKILL.md new file mode 100644 index 0000000..5113cfa --- /dev/null +++ b/skills/grill-me/SKILL.md @@ -0,0 +1,21 @@ +--- +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. diff --git a/skills/grill-with-docs/SKILL.md b/skills/grill-with-docs/SKILL.md new file mode 100644 index 0000000..92ccd47 --- /dev/null +++ b/skills/grill-with-docs/SKILL.md @@ -0,0 +1,34 @@ +--- +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/-decision.md` (project-discipline rule 1) — or append + the Q&A to the `.brainstorm/.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/-decision.md` +- workshop zone → append the Q&A to `.brainstorm/.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. diff --git a/skills/grilling/SKILL.md b/skills/grilling/SKILL.md new file mode 100644 index 0000000..1626987 --- /dev/null +++ b/skills/grilling/SKILL.md @@ -0,0 +1,63 @@ +--- +name: grilling +adapted-from: mattpocock/skills @ 84fdeffd12f2ee307994d1eb6feb48173b6e0502 (MIT) +version: 0.1.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). +--- + +# Grilling + +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. + +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: +number each question and give your recommended answer. Then wait for the user's +answers before the next round. + +Each question should be formatted like so: + +``` +❓ **Q1** - ****: + +➡️ +``` + +Each round the user answers reshapes the tree — settled decisions push the +frontier outward and unblock questions that depended on them. Recompute the +frontier and ask the next round. A question whose answer depends on another +question still open in this round belongs to a _later_ round, not this one. + +Finding _facts_ is your job, never the user's. When a frontier question needs a +fact from the environment (filesystem, tools, docs), look it up yourself — or +dispatch a clean-context sub-agent where your harness supports it. Don't ask the +user for anything you could look up yourself. Don't block on it: a running +exploration is an unsettled prerequisite, so only the questions downstream of it +wait — ask the rest of the frontier now. The _decisions_ are the user's — put +each to them and wait. + +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. + +## Cross-agent applicability + +Pure interview methodology — no harness-specific tool references. Works on pi, +Claude, or any agent. The only harness-dependent line is the sub-agent note +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 run the divergent brainstorm — that's the brainstorming phase before + this skill ("хватит, к промоушену" is the switch).