Skip to content

akarachen/grill-with-spec

v1.0.0MIT

Relentless design interview that writes a single RFC 2119-style SPEC.md. Agent-agnostic, and language-agnostic unless you name a stack: any coding agent can implement the resulting spec.

grill-with-spec

An Agent Plugin (and Cursor plugin) that runs a relentless design interview and writes the result into a single SPEC.md: an RFC 2119-style specification that is agent-agnostic and, by default, language-agnostic. The point is software that is auditable and rebuildable: the file holds the complete spec, so any implementation can be checked against it, and a human or any coding agent can rebuild the system from the file alone.

Name a language or framework when you invoke the skill and the spec binds to it: file layout, framework mechanisms, typed entities, build and test commands, and reference code in that language are all fair game. Leave the stack unnamed and the spec stays implementable in any language.

It follows the same interview pattern as grill-with-docs (design tree, rounds, frontier, recommended answers), but the deliverable is one spec file, not a glossary and ADRs.

The produced spec does not assume Cursor, Codex, Claude, or any other agent host. Name a coding agent in SPEC.md only when that agent is an actual external dependency of the system under spec.

Layout

plugin.json                         # Agent Plugins manifest (Cursor loads this)
.cursor-plugin/plugin.json          # Cursor Plugin manifest
skills/
└── grill-with-spec/
    ├── SKILL.md                    # interview protocol + inline spec-writing rules
    ├── SPEC-FORMAT.md              # section skeleton, per-section guidance, writing rules
    ├── QUESTION-BANK.md            # probing questions per spec section
    ├── EXAMPLE-SPEC.md             # how to read the exemplar: what to take, what not to, heading map
    ├── SYMPHONY-SPEC.md            # the exemplar itself: openai/symphony SPEC.md, verbatim
    └── SYMPHONY-SPEC.LICENSE       # Apache-2.0 license and NOTICE for SYMPHONY-SPEC.md

The exemplar is bundled so the skill works offline; the agent never has to fetch it.

Install

Use the skills CLI to install grill-with-spec into your coding agent:

npx skills add AkaraChen/grill-with-spec

The CLI detects installed agents and prompts for project vs global scope. Add -g for a user-wide install, or -a to target a specific agent:

npx skills add AkaraChen/grill-with-spec -g
npx skills add AkaraChen/grill-with-spec -a cursor

In Cursor you can also install this repository as a plugin (Customize → Plugins, or a team marketplace import of the GitHub repo). Cursor discovers skills/grill-with-spec from the root plugin.json.

The skill is a standard Agent Skill (SKILL.md + supporting files). Host-specific invocation is up to the client (/grill-with-spec in Cursor).

Use

Invoke the skill by name, then describe the system you want to specify. The agent asks numbered questions in rounds, each with a recommended answer, and updates SPEC.md after every round. When the host exposes an ask-user tool (Cursor's and Claude Code's question prompts, Codex's request_user_input), the questions arrive as a structured form with the recommended answer preselected; otherwise they are posted as Markdown. After round one the agent estimates the minimum complete length for your system and reports progress against it; the spec should be as long as a rebuild and an audit need, and no longer. The session ends when the ## Open Questions section is empty and you confirm shared understanding.

The skill has disable-model-invocation: true in hosts that honor that field, so it only runs when you name it.