agentleFS
luizomfluizomf/omskills/skills/engineering/grill-with-docs/SKILL.md

grill-with-docs

Skill3 starsChanged 2 months agoMITView on GitHub

Stress-test a repository plan or design through bounded Question rounds while updating domain terms and durable architecture decisions.

195 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use setup-matt-pocock-skills, decision-mapping and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • GoogleSkill

    setup-matt-pocock-skills

    Configure this repo for the engineering skills — set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

    Also in 185 projects that use this

  • FabienDehopreSkill

    decision-mapping

    Turn a loose idea into a sequenced map of investigation tickets, then drive them to resolution one at a time.

    Also in 9 projects that use this

  • LesaniSkill

    writing-beats

    Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.

    Also in 65 projects that use this

  • liufeng1976Skill

    setup-ts-deep-modules

    Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.

    Also in 42 projects that use this

  • simo97Skill

    migrate-to-shoehorn

    Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.

    Also in 67 projects that use this

  • LesaniSkill

    writing-shape

    Take a markdown file of raw material and shape it into an article through a conversational session — drafting candidate openings, growing the piece paragraph by paragraph, arguing about format (lists, tables, callouts, quotes) at each step. Use when the user has a pile of notes, fragments, or a rough draft and wants help turning it into something publishable.

    Also in 63 projects that use this

  • +1 more from Lesani

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 8 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 181 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before the first round and after every user response:

    line 10
  2. Distinctive:

    Use this shape for every visible Question:

    line 18
  3. Distinctive:

    Keep each identifier unchanged and unambiguous while its round is visible.

    line 28
  4. Very specific:

    Read the applicable CONTEXT.md, CONTEXT-MAP.md, and ADRs when they exist.

    line 34
  5. Distinctive:

    use concrete scenarios to determine which side of a domain boundary owns behavior.

    line 40
  6. Distinctive:

    verify claims about current behavior against the code and report contradictions.

    line 41
  7. Distinctive:

    Create an accepted ADR only after the user approves both the decision and recording it.

    line 53
  8. Distinctive:

    After the shared understanding is confirmed and the destination is authorized, take the corresponding action:

    line 81
  9. Distinctive:

    Write a confirmed Scratchpad directly under the safety and content contract below.

    line 84
  10. Very specific:

    Before writing, confirm that Git ignores .scratch/.

    line 93
  11. Very specific:

    Write the Scratchpad only at .scratch/<topic-slug>/grill.md, using a topic slug derived from the confirmed objective.

    line 95

“Common” is measured: kept by at least 6 in 10 of the 181 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Grill With Docs

Resolve a plan or design's decision tree with the user. Keep the tree internal: do not render or persist it.

Before the first round and after every user response:

  1. Validate every answer the user actually provided against glossary terms, repository evidence, earlier answers, stated constraints, edge cases, error behavior, and omitted constraints. Surface conflicts before treating an answer as settled.
  2. Settle only the Questions the user answered. Never infer an answer for an omitted Question; keep it eligible for a later recomputed frontier. Persist every confirmed domain term or approved durable decision before moving on, under the recording gates below.
  3. Investigate discoverable facts when they are needed using whatever workspace tools, authoritative sources, or isolated assistance the active harness provides. Do not ask the user to discover them or require a particular skill invocation, command spelling, or harness-specific worker API. If a fact remains unresolved, defer only the Questions that depend on it.
  4. Recompute the current frontier. A Question is eligible only when all its decision and fact prerequisites are settled. Select no more than three mutually independent eligible Questions; answering one must not determine, invalidate, or change the options of another.
  5. Present only that frontier and wait for the user's response.

Use this shape for every visible Question:

### Q<number> — <short title>

<question text or options>

**Recommendation:** <concise recommended answer, with repository evidence or a trade-off>

Keep each identifier unchanged and unambiguous while its round is visible; identifiers need not be global across rounds. The user makes each decision; do not treat a recommendation as approval.

Do not enact the resulting plan or start implementation. Durable artifacts and destination deliverables follow the confirmed recording and routing rules below. Disposable working notes are allowed under Working files; read that policy before using them. Resolve the link from the physical directory printed by cd '<loaded-skill-directory>' && pwd -P, following the source symlink first.

Use repository domain language

Read the applicable CONTEXT.md, CONTEXT-MAP.md, and ADRs when they exist. Their absence requires no user action.

During the interview:

  • identify any use of a term that conflicts with the glossary;
  • propose one canonical term when multiple words refer to the same concept or one word refers to multiple concepts;
  • use concrete scenarios to determine which side of a domain boundary owns behavior; and
  • verify claims about current behavior against the code and report contradictions.

Record resolved decisions

When a domain term's meaning, ownership, or distinction is confirmed, update the applicable CONTEXT.md in the same turn. If no applicable file exists, create it when the resolved term defines shared domain meaning, ownership, or distinction that later work must use. Include domain definitions and relationships, not implementation plans, tasks, or session notes. Follow CONTEXT-FORMAT.md.

Offer an ADR only when all three conditions hold:

  1. reversing the decision would require migration, compatibility work, coordinated changes across multiple callers or stored artifacts, or another concrete cost identified during the interview;
  2. the result would surprise a future reader unless the rationale were recorded; and
  3. the decision is the result of a genuine trade-off.

Create an accepted ADR only after the user approves both the decision and recording it. Follow ADR-FORMAT.md.

These domain and ADR writes remain inline interview behavior under their own gates. They do not authorize completion routing or implementation.

Complete the grill

Begin completion only when the recomputed Question frontier is genuinely empty because no unresolved Question or unresolved fact could materially change the plan. An empty frontier caused by an unresolved prerequisite is not completion.

For implementation-bound work, include known dependencies, conflicts, shared resources outside Git, exclusive candidates for every Ticket, and delivery/integration decisions in the shared understanding. Distinguish parallel branch artifacts from combined-target delivery, durable exact predecessor inputs and retention through all consumers. Leave complete phases and a preplanned ordinary integration Ticket blocked by every parallel member to to-tickets during breakdown approval.

Resolve these two decisions in order, reusing explicit choices already supplied:

  1. Confirm the shared understanding. Consolidate the established decisions, constraints, exclusions, relevant evidence, and any unresolved Questions, including why the unresolved Questions do not block completion. Ask the user to confirm or correct that complete understanding, then wait. Do not recommend a destination yet. If the user corrects it, update the decision tree, resume grilling when needed, and repeat this gate until the user explicitly confirms the revised understanding.
  2. Resolve the destination. After the shared understanding is confirmed, use an explicitly authorized destination if it still fits that understanding; no second confirmation is needed. Otherwise recommend exactly one destination from the criteria below, explain why, and ask for confirmation. Mention alternatives only when materially relevant. A destination chosen earlier or in the same response as the understanding confirmation counts; if changed scope makes it unsuitable or ambiguous, resolve that difference before routing.

Choose the recommendation by these criteria:

  • Conversation only: nothing needs to survive beyond the current conversation.
  • Scratchpad: temporary, clean-context continuation is needed, but the result does not yet warrant durable planning authority.
  • New Spec: durable behavior or workflow planning is needed and no existing Spec or Ticket already governs the result.
  • Existing Spec or Ticket update: an existing tracked item already governs the result; update it instead of creating a duplicate.
  • Domain language: confirmed shared meaning, ownership, or distinction qualifies for CONTEXT.md under the inline recording rule above.
  • ADR: the decision passes all three ADR conditions above and the user separately approves recording it.

Destination confirmation does not replace the domain or ADR recording gates.

Route the confirmed destination

After the shared understanding is confirmed and the destination is authorized, take the corresponding action:

  • For conversation-only completion, finish with the confirmed summary and create no destination artifact; disposable working notes do not change that outcome.
  • Write a confirmed Scratchpad directly under the safety and content contract below.
  • Route a new Spec through to-spec; do not create a Spec under this skill's own authority. First run cd '<loaded-skill-directory>' && pwd -P with this loaded file's directory and resolve the link from that physical base. Read the target even when absent from discovery.
  • Route an existing Spec or Ticket update through the configured issue-tracker skill or invoking tracker workflow that owns that operation. Update the governing item instead of creating a duplicate.
  • Apply a domain-language or ADR destination only under the recording gates above. Inline updates already required during the interview remain valid and are not delayed until completion.

None of these routes starts implementation. A destination confirmation, Scratchpad, Spec, tracked-item update, domain document, or ADR does not resolve the later Delivery mode gate or bypass the implementation, proportionate review, repository delivery, or route-specific readiness, Prompt Audit, and authorization rules.

Scratchpad contract

Before writing, confirm that Git ignores .scratch/. If it does not, add .scratch/ to the repository's ignore rules and confirm the rule takes effect before creating the file. If the directory cannot be made ignored, do not write the Scratchpad.

Write the Scratchpad only at .scratch/<topic-slug>/grill.md, using a topic slug derived from the confirmed objective. Make it self-contained for an agent with no access to the prior conversation and include these sections:

# Grill continuation: <topic>

> This Scratchpad is temporary continuation context. It carries no implementation authority.

## Objective and scope

## Established decisions

## Constraints and exclusions

## Unresolved Questions

## Evidence pointers

## Recommended next destination

Record concise conclusions and useful paths or URLs, not a full conversation transcript or turn-by-turn decision history. Never stage or commit the Scratchpad. It is disposable and may be cleared during cleanup, not durable authority. Keep it available for its active consumer; move accepted lasting decisions to the authorized durable destination before wrapping up rather than relying on scratch retention.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.