Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add dominikwozniak/dw-solo-skills --skill dw-grillgit clone --depth 1 https://github.com/dominikwozniak/dw-solo-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/dominikwozniak/dw-solo-skills/dw-grill)<a href="https://agentmods.dev/skills/dominikwozniak/dw-solo-skills/dw-grill"><img src="https://agentmods.dev/badge/skills/dominikwozniak/dw-solo-skills/dw-grill/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/dominikwozniak/dw-solo-skills/dw-grill"><img src="https://agentmods.dev/badge/skills/dominikwozniak/dw-solo-skills/dw-grill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00066 | $0.01307 |
| Opus 5 | $0.00033 | $0.00654 |
| Sonnet 5 | $0.00013 | $0.00261 |
| Haiku 4.5 | $0.00007 | $0.00131 |
Grade A, and why
dw-grill scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 76 lines — stays where its author put it; the contents beside it link to each section on GitHub.
dw-grill — interview the idea before it becomes work
Conversational, and it writes nothing. The deliverable is a shared understanding that
dw-shape turns into a durable artifact. Read CONTEXT.md first where the project has one, and
ask in its terms.
Workflow
- Size the idea before question one. An idea answering to several separate goals — different
consumers, different data, one piece could be dropped without rewriting the others — is too big to
grill as one: name the pieces, propose which to grill first, and wait. Grilling the whole
yields a long session and a plan for none of it. Independent shippability is not the test —
dw-shapesettled that, and a grill that splits on it hands over a split that skill will refuse. - Separate facts from decisions. Facts — anything discoverable in the repo or environment — are looked up, never asked, and a fact you would have to run something to see is still a fact: behaviour, timing, output and cost get a read-only probe, not a question. A choice this project already settled is a fact — asking it back spends a question and invites reversing it by accident. Only genuinely undecided things (trade-offs, scope boundaries, product choices, which of two shapes) become questions; where nothing short of throwaway code would settle one, name it a spike and offer it at the playback rather than building it here.
- Look the facts up without stalling the round. Where
docs/decisions/exists, read what it settled about the subject before question one, delegating todw-decisionswhere that agent is installed; quote it rather than reopening it. A lookup still running blocks only the questions downstream of it — ask the rest of the frontier now rather than waiting on its slowest answer. A lookup that fails or comes back empty stops being a lookup: what it was going to settle is not discoverable after all, so it rejoins the tree as an ordinary question rather than holding the close open. - A round is the whole frontier. The frontier is every decision whose prerequisites are already settled — the questions answerable now without guessing at an answer you have not heard. Ask all of them in one message, numbered, hardest-first by what a wrong answer would cost: scope → security/privacy → UX → technical detail. A question whose answer depends on another still open in this round belongs to the next round, and that is what makes asking them together cost nothing. Two filters replace a size limit: don't ask what the repo already answers (style, test framework, layout, naming, which installed library), and don't spend a question on a decision with one sensible default — assume it and say so in the same message, "assuming X unless you say otherwise", so a wrong default costs one correction. A large frontier is not a reason to hold questions back, only a reason to check both filters ran; splitting an idea is step 1's separate-goals test and nothing else.
- Each question stands alone, answerable as two to five mutually exclusive options or in five words, always with the option you'd pick and why. Short active sentences, one word with one meaning. Then wait for the round's answers — never answer your own question and move on. A disambiguation of a question just asked belongs to that question and opens no new one.
- Resolve the tree, not the list. After each round's answers, re-derive what is still genuinely open: an answer often closes two later questions, or opens one that matters more than anything left. Settled decisions push the frontier outward, so recompute it before the next round.
- Play back after every round, whatever its size. Before the next one: what is decided, and what is still open — each with the default you would assume and what a wrong default costs. Offer three ways forward: another round · shape now with those defaults · the idea is too big to grill as one, here are the pieces. Where an open item is one only a spike would settle, name that spike as a fourth. Then wait; a hedged reply is not a choice.
- Close when the frontier is empty and no lookup is still running — every branch of the tree
visited, nothing left silently assumed. A frontier emptied by a pending lookup is a wait, not a
close: say what is outstanding and hold. An unknown that would not change what gets built is
closed by saying so rather than by asking it. Play back in a few lines: what we're building, what
we decided, every resource the conversation pointed at, and — each explicit and separate — what
we assumed without asking, what we deferred and why,
and what we deliberately left out.
dw-shapegives each named item its fate — an assumed or deferred item becomes a decision marked as such, a left-out item goes under## Out of scopeor into the change — and an item you don't name never gets one.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday Changed · +18 lines · -4 tokens per session 607da6fde145
- 3d ago Changed · +3 lines bd2238372d12
- 5d ago Changed · +15 lines · +19 tokens per session f2451931f042
- 12d ago First seen · 40 lines · 51 tokens per session scan A 4502df1e03b6
dw-grill is a skill published in the GitHub repository dominikwozniak/dw-solo-skills (2 stars, last pushed today), licensed MIT. It adds 66 tokens to every session and 1,307 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
self-improve
Self-improve this skills repo — surface and (safely) apply quality improvements across four parallel read-only lenses (Clarity, Leanness, Coverage, Ergonomics). Sibling of /self-audit — audit fixes rule violations, improve raises quality where no rule is broken. Local meta-skill, independent of the /task: pipeline.
self-audit
Self-audit this skills repo against CLAUDE.md invariants, the artifact contract, and README/CLAUDE.md/docs sync via three parallel read-only subagents. Local meta-skill — independent of the /task: pipeline.
grill
Interrogate a plan or decision one question at a time before capture, keeping a decision-plus-rationale ledger, then route to the right capture skill.
architect
Answer build-or-adopt honestly, then design one committed architecture from your own understanding of the problem — driven by ranked quality attributes, stress-tested against the field and against change, proven by a walking skeleton, its consequences confirmed by the user, committed to ARCHITECTURE.md. A command the…
designer
Settle the look before the pixels — audience and context first, then the base and the delta, taste settled by looking at real states, accessibility as the floor, one design language committed to DESIGN.md as tokens with roles. A command the user types, for work with an interface someone will see; standalone, no other…
errata
Correct what was written wrong — the binding line rewritten in place, the record it came from appended to and never touched, both carrying the evidence that overturned it. Use when a run, a file, or the user contradicts something already written in a work file, a plan's contract, the glossary, or the decision index…