Syntic

Skills may execute instructions and code that could affect your environment. Marketplace scans reduce risk but do not guarantee safety. Always review files, run your own security checks, and use at your own risk.

EngineeringFree Safe

grill-with-docs

Security Scan Summary

Status: Safe

Source: Syntic Skills registry

Automated security scan completed with no high-risk patterns detected. Manual review is still required.

About This Skill

Use when stress-testing a plan against documented domain language, or the user mentions "grill with docs" — challenges terms against CONTEXT.md and ADRs, updating them inline as decisions crystallize.

Downloadable SKILL.md

Download SKILL.md and place it in your Syntic skills folder. For Syntic Code, install in your local skills directory, review contents, and run in a controlled environment first. Acknowledge the risk notice above to enable the download.

SKILL.md
---
name: grill-with-docs
description: Use when stress-testing a plan against documented domain language, or the user mentions "grill with docs" — challenges terms against CONTEXT.md and ADRs, updating them inline as decisions crystallize.
category: Engineering
version: 1.0.0
tools: []
---

# Grill with Docs

Interview the user relentlessly about every aspect of a plan until reaching shared understanding, anchored against the project's existing documented language and decisions. Walk down each branch of the design tree, resolving dependencies between decisions one by one. For each question, provide a recommended answer. Ask one question at a time, waiting for feedback before continuing.

## Domain Awareness

While exploring the plan, also look for existing documentation:

### File structure

Most repos have a single context:

```
/
├── CONTEXT.md
├── docs/
│   └── adr/
│       ├── 0001-event-sourced-orders.md
│       └── 0002-postgres-for-write-model.md
└── src/
```

If a `CONTEXT-MAP.md` exists at the root, the repo has multiple contexts, each with its own `CONTEXT.md` and `docs/adr/`, alongside system-wide decisions in the root `docs/adr/`.

Treat these as lazily created — only add to them when there is something to record. If no `CONTEXT.md` exists, create one when the first term is resolved. If no `docs/adr/` exists, create it when the first ADR is needed.

## During the Session

### Challenge against the glossary

When the user uses a term that conflicts with the existing language in `CONTEXT.md`, call it out immediately. "Your glossary defines 'cancellation' as X, but you seem to mean Y — which is it?"

### Sharpen fuzzy language

When the user uses vague or overloaded terms, propose a precise canonical term. "You're saying 'account' — do you mean the Customer or the User? Those are different things."

### Discuss concrete scenarios

When domain relationships are being discussed, stress-test them with specific scenarios. Invent scenarios that probe edge cases and force precision about the boundaries between concepts.

### Cross-reference with what's known

When the user states how something works, check whether it agrees with the existing context. If you find a contradiction, surface it: "Earlier context says Orders are cancelled as a whole, but you just said partial cancellation is possible — which is right?"

### Update CONTEXT.md inline

When a term is resolved, update `CONTEXT.md` right there. Don't batch these up — capture them as they happen.

`CONTEXT.md` should be totally devoid of implementation details. Do not treat `CONTEXT.md` as a spec, a scratch pad, or a repository for implementation decisions. It is a glossary and nothing else.

### Offer ADRs sparingly

Only offer to create an ADR when all three are true:

1. **Hard to reverse** — the cost of changing your mind later is meaningful
2. **Surprising without context** — a future reader will wonder "why did they do it this way?"
3. **The result of a real trade-off** — there were genuine alternatives and one was picked for specific reasons

If any of the three is missing, skip the ADR.

## Rules

1. **One question per turn.** Never bundle.
2. **Provide a recommended answer with each question.**
3. **Search the Knowledge Base before asking.** If existing context resolves it, use that instead.
4. **Walk the tree depth-first.**
5. **Track dependencies** between decisions.

## Pre-flight Checks

Before the first question, if `CONTEXT.md` exists, confirm the glossary is well-formed before grilling against it. If `docs/adr/` exists, check for numbering gaps, malformed ADRs, or status inconsistencies. Cross-reference glossary terms against how they're actually used to flag defined-but-unused terms (a dead glossary) and commonly-used terms that may need definitions — use these as opening grill questions.

## Closing

Do a final consistency pass to confirm no new orphan terms were introduced. Summarize: terms added or refined, ADRs written, scenarios discussed, and open items.

## Why This Matters

A glossary belongs alongside the project because ubiquitous language keeps the team's mental model and the system in sync (Evans, Vernon, Khononov). An ADR earns its keep only when a decision is hard to reverse, surprising without context, and the result of a genuine trade-off (Nygard, Tyree & Akerman). `CONTEXT.md` is a living artifact, not a spec — language drifts as understanding deepens, so it must be updated inline rather than batched (Khononov on language drift).

Bundle Download

Includes SKILL.md and bundled support files where provided. Risk acknowledgement is required.

Install Targets

Syntic App

  1. 1. Create a dedicated folder for this skill in your local skills library.
  2. 2. Place SKILL.md into that folder.
  3. 3. Restart Syntic and invoke this skill on matching tasks.

Syntic Code (CLI)

  1. 1. Save SKILL.md in your local Syntic Code skills directory.
  2. 2. Keep related files in the same skill folder.
  3. 3. Run in a safe environment and validate outputs.

Source

https://github.com/alirezarezvani/claude-skills/blob/main/engineering/grill-with-docs/skills/grill-with-docs/SKILL.md

Open Source Link
Engineering

Related Skills