roast
Find what is actually broken about the artifact,
not what could be prettier.
Hold it to its own goals
and cite the specific places it falls short.
When NOT to use
- Polish or proofreading passes.
- Validation requests like "does this look right?" —
those are reviews, not roasts.
- Rewrites —
roast critiques,
it does not produce a new version.
Inputs
Identify the target before starting:
- A file or section in a file → read it in full.
- A snippet pasted in the conversation → quote it back when citing.
- A plan, idea, or design → capture the user's stated claims and
scope.
- A diagram, screenshot, or visual artifact → describe the visual
region you are pointing at
(e.g. "the top-right panel",
"the third step of the diagram")
instead of a line number.
- A running system or behavior → cite by reproduction —
the command run,
the input,
the observed output.
If the target spans more than one artifact
(a whole repo, several files, a vague "our process"),
ask the user to narrow scope before starting.
What counts as a finding
A finding has three parts:
- Where — the specific line,
section,
claim,
or behavior it points to.
- What is wrong — quoted or paraphrased,
then named clearly.
- Why it matters — a one-sentence consequence:
«without this, X breaks»,
«this leads to Y wrong outcome».
If you cannot articulate all three,
it is not a finding —
drop it.
This is the test against manufactured complaints.
Procedure
Read the artifact in full and establish the bar.
In order:
- Stated bar — explicit goals,
rules,
scope,
and examples in the artifact itself.
Use it as-is when present.
- Implicit bar — if nothing is stated,
derive what the artifact is obviously trying to do from its
content and surrounding context.
Name the inferred bar in one sentence at the top of the roast
so the user can correct it.
- Ask — if the bar is genuinely ambiguous,
ask the user one question before starting:
«What is this trying to achieve?»
Hunt in this priority order.
Cover each level before moving to the next:
- Self-contradictions —
where does the artifact violate its own rules?
- Empty claims —
imperatives or rules with no enabling mechanism
("confirm X" with no method,
"always do Y" with no recipe).
- Examples that break the rules they demonstrate.
- Edge cases inside the artifact's own scope that go
unaddressed.
- Bad environmental assumptions —
assumes git repo,
network access,
specific OS,
specific tooling,
without saying so.
- Missing features the artifact's principles imply —
what its stated stance logically demands but doesn't deliver.
- Style and redundancy —
lowest priority,
include only after the substantive levels are covered.
Triage findings by impact, not by hunt category.
- Substantive — the artifact fails to deliver something it
explicitly claims,
or a load-bearing mechanism is broken.
- Functional gaps — a rule is unclear,
fragile,
or only actionable by guessing.
- Minor — redundancy,
smell,
or cleanup that does not affect correctness.
The hunt categories from step 2 are a search aid,
not a severity label.
A self-contradiction (category 1) can be Minor if its impact is
cosmetic;
redundancy (category 7) can be Substantive if it actively misleads.
Cite specifics.
For each finding,
point at the line, section, or passage.
Quote the artifact when its wording is the problem.
Stop at findings.
Do not propose fixes inside the roast.
End with one line:
ask the user which findings to act on,
or — only if scope is genuinely unclear —
ask a single clarifying question.
Rules
- Be direct.
No "this is great, but" framing.
No softening qualifiers.
If something is broken,
say it.
- Hold the artifact to its own bar.
Do not import external preferences or stylistic standards;
judge against the goals,
scope,
and rules the artifact itself states or implies.
Exception: factual errors —
wrong syntax,
fabricated commands or APIs,
false claims about how a tool / spec / system actually works —
are always findings,
regardless of whether the artifact stakes out a position on them.
Reality is the bar there.
When in doubt about a claim,
verify it before flagging
(or before letting it pass).
- Quote, do not paraphrase, when the wording is the issue.
- Do not mix critique with implementation.
Roast and fix are separate turns.
- If you find nothing substantive, say so plainly.
Do not pad with manufactured complaints to look thorough.
- No warm-bath summary alongside findings.
Don't end a roast that has findings with «but overall this is
solid».
If the artifact has no findings at all,
one neutral sentence stating that is fine —
see
Reporting.
- Self-roast: heightened skepticism.
When the artifact is something you (the assistant) authored in this
session,
read it as if a stranger wrote it.
In-session reasoning has already justified its choices to you,
which biases you toward leniency.
- Scale to the artifact.
Short artifacts get short roasts.
For long artifacts,
surface the top issues per severity bucket —
do not enumerate every instance.
Keep individual findings to 2–3 sentences;
the user can ask for depth in a follow-up.
Reporting
Output structure:
- (Optional) one line on what you read and how you scoped the review.
- Substantive findings — numbered, each with a citation.
- Functional gaps — numbered, each with a citation.
- Minor — numbered, each with a citation.
- One closing line —
ask which findings to act on,
or one clarifying question.
Omit any severity section that has no findings.
If the artifact has no substantive issues at all,
say so in one line and stop.
Example finding shape
A finding reads like:
- Examples violate their own rule.
The artifact states aqua-first as a hard rule
(
Hard rules, rule 3),
but the example block on lines 122–124 demonstrates a cargo:
entry for a tool that is in the aqua registry —
the reader is shown the wrong path.
Three things present:
- citation —
Hard rules rule 3, lines 122–124;
- evidence —
the literal contradiction between rule and example;
- impact —
the reader learns the wrong path.
If any of the three is missing,
go back and add the missing piece —
or drop the finding.
1---2name: roast3description: Performs a direct critical review of an artifact (file, plan, idea, skill, snippet) by holding it to its own goals. Surfaces substantive problems first, triages by impact, and stops at findings without proposing fixes.4---56# roast78Find what is actually broken about the artifact,9not what could be prettier.10Hold it to its own goals11and cite the specific places it falls short.1213## When NOT to use1415- Polish or proofreading passes.16- Validation requests like "does this look right?" —17 those are reviews, not roasts.18- Rewrites —19 roast critiques,20 it does not produce a new version.2122## Inputs2324Identify the target before starting:2526- A file or section in a file → read it in full.27- A snippet pasted in the conversation → quote it back when citing.28- A plan, idea, or design → capture the user's stated claims and29 scope.30- A diagram, screenshot, or visual artifact → describe the visual31 region you are pointing at32 (e.g. "the top-right panel",33 "the third step of the diagram")34 instead of a line number.35- A running system or behavior → cite by reproduction —36 the command run,37 the input,38 the observed output.3940If the target spans more than one artifact41(a whole repo, several files, a vague "our process"),42ask the user to narrow scope before starting.4344## What counts as a finding4546A finding has three parts:4748- **Where** — the specific line,49 section,50 claim,51 or behavior it points to.52- **What is wrong** — quoted or paraphrased,53 then named clearly.54- **Why it matters** — a one-sentence consequence:55 «without this, X breaks»,56 «this leads to Y wrong outcome».5758If you cannot articulate all three,59it is not a finding —60drop it.61This is the test against manufactured complaints.6263## Procedure64651. **Read the artifact in full and establish the bar.**66 In order:67 - **Stated bar** — explicit goals,68 rules,69 scope,70 and examples in the artifact itself.71 Use it as-is when present.72 - **Implicit bar** — if nothing is stated,73 derive what the artifact is obviously trying to do from its74 content and surrounding context.75 Name the inferred bar in one sentence at the top of the roast76 so the user can correct it.77 - **Ask** — if the bar is genuinely ambiguous,78 ask the user one question before starting:79 «What is this trying to achieve?»802. **Hunt in this priority order.**81 Cover each level before moving to the next:8283 1. **Self-contradictions** —84 where does the artifact violate its own rules?85 2. **Empty claims** —86 imperatives or rules with no enabling mechanism87 ("confirm X" with no method,88 "always do Y" with no recipe).89 3. **Examples that break the rules they demonstrate.**90 4. **Edge cases inside the artifact's own scope** that go91 unaddressed.92 5. **Bad environmental assumptions** —93 assumes git repo,94 network access,95 specific OS,96 specific tooling,97 without saying so.98 6. **Missing features the artifact's principles imply** —99 what its stated stance logically demands but doesn't deliver.100 7. **Style and redundancy** —101 lowest priority,102 include only after the substantive levels are covered.1033. **Triage findings by impact, not by hunt category.**104 - **Substantive** — the artifact fails to deliver something it105 explicitly claims,106 or a load-bearing mechanism is broken.107 - **Functional gaps** — a rule is unclear,108 fragile,109 or only actionable by guessing.110 - **Minor** — redundancy,111 smell,112 or cleanup that does not affect correctness.113114 The hunt categories from step 2 are a search aid,115 not a severity label.116 A self-contradiction (category 1) can be Minor if its impact is117 cosmetic;118 redundancy (category 7) can be Substantive if it actively misleads.1194. **Cite specifics.**120 For each finding,121 point at the line, section, or passage.122 Quote the artifact when its wording is the problem.1235. **Stop at findings.**124 Do not propose fixes inside the roast.125 End with one line:126 ask the user which findings to act on,127 or — only if scope is genuinely unclear —128 ask a single clarifying question.129130## Rules131132- **Be direct.**133 No "this is great, but" framing.134 No softening qualifiers.135 If something is broken,136 say it.137- **Hold the artifact to its own bar.**138 Do not import external preferences or stylistic standards;139 judge against the goals,140 scope,141 and rules the artifact itself states or implies.142 **Exception:** factual errors —143 wrong syntax,144 fabricated commands or APIs,145 false claims about how a tool / spec / system actually works —146 are always findings,147 regardless of whether the artifact stakes out a position on them.148 Reality is the bar there.149 When in doubt about a claim,150 verify it before flagging151 (or before letting it pass).152- **Quote, do not paraphrase,** when the wording is the issue.153- **Do not mix critique with implementation.**154 Roast and fix are separate turns.155- **If you find nothing substantive, say so plainly.**156 Do not pad with manufactured complaints to look thorough.157- **No warm-bath summary alongside findings.**158 Don't end a roast that has findings with «but overall this is159 solid».160 If the artifact has no findings at all,161 one neutral sentence stating that is fine —162 see `Reporting`.163- **Self-roast: heightened skepticism.**164 When the artifact is something you (the assistant) authored in this165 session,166 read it as if a stranger wrote it.167 In-session reasoning has already justified its choices to you,168 which biases you toward leniency.169- **Scale to the artifact.**170 Short artifacts get short roasts.171 For long artifacts,172 surface the top issues per severity bucket —173 do not enumerate every instance.174 Keep individual findings to 2–3 sentences;175 the user can ask for depth in a follow-up.176177## Reporting178179Output structure:1801811. (Optional) one line on what you read and how you scoped the review.1822. **Substantive** findings — numbered, each with a citation.1833. **Functional gaps** — numbered, each with a citation.1844. **Minor** — numbered, each with a citation.1855. One closing line —186 ask which findings to act on,187 or one clarifying question.188189Omit any severity section that has no findings.190If the artifact has no substantive issues at all,191say so in one line and stop.192193## Example finding shape194195A finding reads like:196197> 2. **Examples violate their own rule.**198> The artifact states aqua-first as a hard rule199> (`Hard rules`, rule 3),200> but the example block on lines 122–124 demonstrates a `cargo:`201> entry for a tool that is in the aqua registry —202> the reader is shown the wrong path.203204Three things present:205206- citation —207 `Hard rules` rule 3, lines 122–124;208- evidence —209 the literal contradiction between rule and example;210- impact —211 the reader learns the wrong path.212213If any of the three is missing,214go back and add the missing piece —215or drop the finding.