Skip to content
Back to skills

Grill

ASecurity

A relentless interview to sharpen a plan or design, writing the glossary and ADRs as it goes and publishing the spec at the end.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 20, 2026
developmentgo

Security analysis

A100/100

Scanned October 20, 2026

npx -y skills add MalcolmMcNeely/skillworks --skill grill --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Grill?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Grill
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/malcolmmcneely-grill/badge)](https://www.skillsdirectory.com/skills/malcolmmcneely-grill)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: grill
argument-hint: "[the idea or plan]"
description: A relentless interview to sharpen a plan or design, writing the glossary and ADRs as it goes and publishing the spec at the end.
disable-model-invocation: true
---

# Grill

Drive a design from the first question to a published spec.

## Process

### 1. Interview under both disciplines

Call the Skill tool with "skillworks:grilling", then with "skillworks:domain-modeling". The first owns the questions, the
second owns the words. Both run on every round.

### 2. Walk the Surfaces when the frontier is empty

A Surface is a place a change can have to reach besides the code that does the work, such as the
README or the user docs. `docs/agents/surfaces.md` lists the team's Surfaces, one `##` section each,
with where it lives, the question to ask and what to capture. A `##` inside a code fence is an
example, not a Surface. A file with no Surface in it, or no file, means skip this step.

The design is settled now, so each question can fit it. Walk the Surfaces by four rules:

- Ask about one Surface at a time, with the Surface's own question, and never present the list.
- Skip a Surface the change does not touch, without asking about it.
- Capture each answer as a requirement that travels with the spec: what the Surface has to say once
  the change Lands, shaped by the Surface's "What to capture".
- Point at a Surface's content by its path, and never copy it into the answer.

An answer that reopens the design goes back to step 1 as the next round.

The README Surface is the Surface whose heading is `## The README`, outside a code fence. When the
team has one, ask its question as any other. When the answer is that the change deserves README text
beyond what its "What to capture" allows, capture only what the limit allows, and keep the rest for
the gate: it goes into the spec's Out of Scope as "the README: a focused session". Nothing in the loop
builds that session, so file no issue for it.

### 3. Sum up

Sum up the shape that was settled:

- The problem, as the developer stated it.
- The design that answers it, and the decisions that shaped it.
- Each Surface the change touches, with the requirement its answer captured.
- The words and the ADRs written along the way, each one already pushed.
- What the session ruled out, and why.
- When the change deserves README text the README Surface's limit does not allow, that it goes into
  the spec's Out of Scope as "the README: a focused session", and that nothing builds it.

Then ask the developer to confirm that this is the design.

This is the one gate. Every question before it is about the design, and everything after it runs
unattended, so the summary is what the developer consents to. It carries every decision the spec
will be built from.

### 4. On yes, write the spec

Call the Skill tool with "skillworks:to-spec". Then end with the spec number it publishes and the
next command, `/skillworks:spec-loop <n>` with that number, and name no other skill.

On no, the frontier was not empty. Take what the developer said as the next round and go back to
step 1.

## When a pull lands on settled ground

`skillworks:domain-modeling` reports when a pull brings down a teammate's change to ground this session already
settled.

Carry that report to the developer as questions. For each decision the change reopens, give the
question, the answer this session gave it, and the teammate's wording that puts that answer in
doubt. Ask them as the next round. The developer reads which decisions are open again, rather than
working it out from a diff.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.