academic-writing
Write or revise thesis and paper prose section by section (abstract, introduction, related work, method, results, discussion,…
Stress-test a plan against the project's existing domain model by challenging terminology, surfacing contradictions with code, and updating CONTEXT.md and ADRs inline as decisions crystallise. Use when a plan or design needs to be checked against the project's documented domain
Claude Code
$ npx -y skills add KhaledSaeed18/dotclaude --skill grill-with-docs --agent claude-code
Codex
$ npx skills add KhaledSaeed18/dotclaude --skill grill-with-docs -a codex -y
Cursor
$ npx skills add KhaledSaeed18/dotclaude --skill grill-with-docs -a cursor -y
Gemini CLI
$ npx skills add KhaledSaeed18/dotclaude --skill grill-with-docs -a gemini-cli -y
GitHub Copilot
$ npx skills add KhaledSaeed18/dotclaude --skill grill-with-docs -a github-copilot -y
OpenCode
$ npx skills add KhaledSaeed18/dotclaude --skill grill-with-docs -a opencode -y
Windsurf
$ npx skills add KhaledSaeed18/dotclaude --skill grill-with-docs -a windsurf -y
name: grill-with-docs description: Stress-test a plan against the project's existing domain model by challenging terminology, surfacing contradictions with code, and updating CONTEXT.md and ADRs inline as decisions crystallise. Use when a plan or design needs to be checked against the project's documented domain model before implementation. argument-hint: "(optional) the plan, design, or idea to stress-test; paste it or point to a file"
Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the decision tree, resolving dependencies between decisions one by one.
If arguments were passed, treat them as the subject to grill. Otherwise, ask what to stress-test before starting. If a question can be answered by exploring the codebase or reading existing files, do that instead of asking.
**NEVER** use the AskUserQuestion tool; ask questions as plain text output.
**ONE question per turn. Then STOP. Wait for reply.** No lists. No "and also". No follow-ups. No bundled sub-questions. One `?` per response. Violating this defeats the skill; the user needs space to think, not a wall of questions.
If a question leads to more nested branches, move those to a new question. Never nest question numbers.
Index each question as **Q1, Q2, Q3, …**
1. Explain why the question matters. 2. Ask exactly one question. 3. Present the options as labeled choices (**A, B, C, …**) covering the realistic alternatives. Mark your recommended option with `← recommended`. Example:
**A.** Option one ← recommended **B.** Option two **C.** Option three
The user can reply with just a letter. If they pick a non-recommended option, acknowledge the tradeoff before moving on.
Before starting the session, explore the codebase for existing documentation:
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 bounded contexts. The map points to where each one lives:
/
├── CONTEXT-MAP.md
├── docs/
│ └── adr/ ← system-wide decisions
└── src/
├── ordering/
│ ├── CONTEXT.md
│ └── docs/adr/ ← context-specific decisions
└── billing/
├── CONTEXT.md
└── docs/adr/Create files lazily, only when you have something to write. 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.
When the user uses a term that conflicts with the existing language in `CONTEXT.md`, call it out immediately. Example: "Your glossary defines 'cancellation' as X, but you seem to mean Y; which is it?"
When the user uses vague or overloaded terms, propose a precise canonical term. Example: "You're saying 'account'; do you mean the Customer or the User? Those are different things in your glossary."
When domain relationships are being discussed, invent edge-case scenarios that probe the boundaries and force precision.
When the user states how something works, check whether the code agrees. If you find a contradiction, surface it. Example: "Your code cancels entire Orders, but you just said partial cancellation is possible; which is right?"
When a term is resolved, update `CONTEXT.md` right away; don't batch. Use the format in [docs/CONTEXT-FORMAT.md](./docs/CONTEXT-FORMAT.md).
`CONTEXT.md` is a glossary and nothing else, totally devoid of implementation details, specs, or architecture notes.
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. **Real trade-off**: there were genuine alternatives and you picked one for specific reasons.
If any of the three is missing, skip the ADR. Use the format in [docs/ADR-FORMAT.md](./docs/ADR-FORMAT.md).
Produce a decision record covering:
1. **Restated plan**: the full plan as understood, end-to-end. 2. **Resolved decisions**: every key decision made and its rationale. 3. **Open questions**: anything still unresolved, with the risk if left open. 4. **Risks & mitigations**: identified risks and suggested mitigations. 5. **Glossary changes**: terms added or updated in `CONTEXT.md` during this session. 6. **ADRs created**: list any ADRs written, with a one-line summary of each.
Reusable Claude Code extension registry. skills, subagents, slash commands, and hooks for engineering, git, testing, and security workflows. Distributed as a shadcn GitHub registry and as installable plugins.
Write or revise thesis and paper prose section by section (abstract, introduction, related work, method, results, discussion,…
Report computational benchmarks and experimental comparisons the way examiners and reviewers expect: fair baselines run under the…
Maintain the thesis .bib file as a single source of truth: fetch verified BibTeX from a DOI, arXiv id, or title via CrossRef and…
Expand a set of key papers into the literature around them by walking the citation graph with the Semantic Scholar and OpenAlex…
Audit every citation in a chapter, paper, or proposal against the .bib file and the real world: each cite key must exist, each…
Structure a thesis whose contribution is a built artifact (tool, system, method, model) using design science research: explicit…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.