Grill Planner logo

Grill Planner

Community
llopresto87
grill-planner

The authoring discipline for the project's plan-of-record at docs/graph/plans/grill.md — what a worker filling any section carries, and the audit that says whether the plan is still consistent with the specs, the wiki, and the decisions. Use whenever a brief produces or updates grill.md, or grill.md needs a consistency pass. The pass itself (which section, which owner, in which order) is protocol.grill; this skill is how each section is written well.

Overview

Publisherllopresto87
RepositoryCypress
Skill namegrill-planner
Stars
113
Forks
6
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by llopresto87 on GitHub. Read the source before you install it.

Installation

Install the Grill Planner AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/llopresto87/Cypress/tree/main/skills/grill-planner
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/llopresto87/Cypress.git /tmp/Cypress
mkdir -p .claude/skills
cp -r /tmp/Cypress/skills/grill-planner .claude/skills/grill-planner
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Grill Planner in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Grill Planner on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Grill Planner is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

grill-planner

docs/graph/plans/grill.md is the project's plan-of-record. It links to the specs it implements and to the wiki pages it depends on, and it is the document the next agent reads first to know what's happening.

This skill is the discipline of writing it well. Which section is filled when, by whom, and in what spawn order is the protocol's (grill.flow and grill.revise in docs/graph/protocols/grill.md); a brief that produces or updates grill.md cites this skill so the worker carries the principles below into whatever section it owns.

When to apply this skill

  • A brief hands you a section of grill.md to author or revise.
  • The plan and the spec catalog, the wiki, or the decisions have drifted apart and the plan needs an audit.

The principles

Append, don't rewrite

Sections 1–14 evolve by addition. When a claim becomes obsolete, strike it through (or move it to a "history" subsection) and add the new claim with today's date, because the next agent needs to see what was believed and what changed. A retraction follows the one rule in holistic-editing (The append-only exception).

§15 (Changelog) collects the meaningful changes session by session.

Section numbers are stable

Other agents and tooling index into grill.md by section number, so the numbers stay as the template sets them. If a section doesn't apply to the current project, leave it with a single line saying so (e.g. "§10 Verification Plan — covered by the project's standard gates, see docs/graph/runbooks/verification.md").

Specs upstream, plan downstream

The plan implements specs. If the plan introduces behavior not in any spec, that's a spec-shaped hole: file an open question in §12 and back-write the spec via the specify protocol.

The protocol presses this (grill.press: every increment names a contract, every contract has an increment) before the plan exits; grill-lint.py runs the mechanical half.

Increments are small and verifiable

A good increment fits one RED-GREEN-REFACTOR cycle (or a small handful). If you can't write the failing test from the increment description, the increment is too vague or too big. Re-slice.

Structure earns its place at plan time

An increment that introduces structure (a module, layer, interface, service, or extension point) names, in its §9 row, the single responsibility that structure owns and the real, already-present variation that justifies any abstraction (the structure-earns-its-place posture: docs/graph/method/design-posture.md, docs/graph/method/stewardship-posture.md). The plan's default is the smallest structure that fits; a speculative seam is cheapest to delete here, before it is built; the reviewer flags what the plan lets through.

Cite, and mark what you haven't verified

Every claim in the plan is either confirmed from a primary source (cite it) or carries an explicit [verify] tag (or "not recorded"), so the next reader knows exactly what to re-check instead of trusting a guess. A value or decision that needs human input (a real origin, a credential, an irreversible go-ahead) is marked do-not-guess in §12 and waits for sign-off, because a guessed credential or go-ahead gets acted on as if it were real. When the plan is executed, append what actually happened and how each [verify] resolved rather than editing the tables in place.

Workflow

The creation and revision passes (which sections, which owner, which spawn waits for which handback) are grill.flow and grill.revise in docs/graph/protocols/grill.md. This skill's own workflow is the audit.

Auditing grill.md (consistency pass)

Run this when grill.md feels out of sync. First the mechanical part: python3 docs/graph/grill-lint.py checks the shape (every section populated, §1 lines cited, §9 rows complete and in dependency order, §5 covering the library pages §9 depends on, §14 a single action), the plan→spec half of the alignment check (every contract an increment names exists in a live spec; every contract of those specs appears in an increment), and every decision the plan cites by identifier against docs/graph/decisions/, because a decision not yet accepted is filed with the status that says so rather than left as a number in a table. Then the judgment the lint cannot make:

  • Every active spec in docs/graph/specs/ is referenced from §3 or §9.
  • Every ADR in docs/graph/decisions/ matches a row in §6, and no §6 row that changed a boundary is missing its ADR; the lint above checks the reverse direction.
  • Every gate named in §10 is a genuine divergence from docs/graph/runbooks/verification.md, not a duplicate of it.
  • Every §11 row has a verification that would actually detect the risk, and a mitigation owner who can carry it out; every §12 row has an owner who can resolve it.
  • A no external dependency line in §5 is true; the lint sees only what §9 names.

Record any inconsistency as a §12 row with an owner; the fix runs through the protocol's revision pass.

Section shapes

  • §14 holds one next step.
  • §6 rows carry an evidence column, because a decision without evidence is a guess recorded as a decision.
  • §9 rows each name an increment with files, tests, and a gate.
  • §11 rows give probability and impact, qualitative or quantitative: "medium / high" is acceptable, "manageable" is not.

Reference files

  • docs/graph/templates/grill.template.md: the template.
  • docs/graph/protocols/grill.md: the protocol that owns the pass this skill writes inside: phases, owners, spawn order, the press, the exit conditions.
  • docs/graph/grill-lint.py: the mechanical half of the audit.
  • docs/graph/agents/00-orchestrator.md: the agent that opens grill.md first thing every session.

Frequently asked questions

What does the Grill Planner AI skill do?

The authoring discipline for the project's plan-of-record at docs/graph/plans/grill.md — what a worker filling any section carries, and the audit that says whether the plan is still consistent with the specs, the wiki, and the decisions. Use whenever a brief produces or updates grill.md, or grill.md needs a consistency pass. The pass itself (which section, which owner, in which order) is protocol.grill; this skill is how each section is written well.

Why use Grill Planner on TypingMind?

Because you install it once and use it with any model. Grill Planner is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Grill Planner in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/llopresto87/Cypress/tree/main/skills/grill-planner. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Grill Planner?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Grill Planner?

As many as you like. As long as a model supports skills, you can use Grill Planner with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Grill Planner AI skill free?

Yes. It is published on GitHub by llopresto87 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇