Skip to content
>GLB_
Go back

grill-me: stress-testing a plan before touching the codebase

The most expensive bugs are architectural. A wrong boundary drawn between two domains, a concept named differently in the code than in the domain, a data flow that contradicts an existing ADR — these aren’t caught by tests. They’re caught six weeks later when the surface area of the mistake has grown.

grill-me runs before code is written. It takes a proposed plan and challenges it against the existing codebase: domain language, recorded decisions, module boundaries, naming patterns.

What it does

The skill reads the existing domain model — entity names, service boundaries, ADRs if present — then interrogates the plan against it:

Output is a list of challenges, not suggestions. The point is friction, not direction.

Usage

/grill-me add an invoicing module that generates PDFs from order data

Run it before opening any file. The output surfaces the questions worth answering before the implementation starts.

The assumptions problem

Plans feel solid until they meet the codebase. The most common failure mode isn’t a wrong solution — it’s a correct solution to a slightly wrong problem. A concept that already exists is reimplemented under a new name. A boundary is drawn through the middle of an existing aggregate. A new table is created for data that already lives somewhere else.

These aren’t mistakes a code review catches. The reviewer sees correct code. The problem is invisible at that level.

grill-me shifts the question from “does this code work?” to “does this plan fit?” before any code exists to review.

What it doesn’t do

It doesn’t propose alternatives. It doesn’t refactor. It challenges the plan as stated and stops. If the challenges surface a real problem, the solution is a human decision — not a second skill invocation.

When to skip it

Greenfield work with no existing domain model. The skill needs something to interrogate the plan against. On a blank project, run it after the first meaningful set of domain decisions is in place.


Share this post:

Related Posts


Previous Post
diagnose: enforcing the debug loop Claude skips
Next Post
improve-codebase-architecture: review that knows your domain