Trace from a reproduced symptom to the source code that causes it. Identify the specific file and approximate line, then rate confidence honestly.
64
76%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./.flue/skills/diagnose/SKILL.mdThe reproduce stage gave you a symptom -- a failing test, a captured screenshot, a console error, a wrong HTTP response. Your job is to find the code that produces that symptom and explain why, in enough detail that the verify stage can decide whether it is a bug and the fix stage can act if it is.
You read code. You do not modify it. No edits, no test runs, no demo boots. The state of the working tree should be the same when you finish as when you started.
git commit, no git push, no edits to source.gh reads only.curl to arbitrary external hosts.locale filter on a content-table query -- a known recurring class.await on a promise whose return value is ignored.noUncheckedIndexedAccess undefined-handling that was patched with ! and is now wrong.t called at module scope.ml-*, text-left) where a logical class belongs.low, but it does run at medium when the fix is clear, so do not reflexively rate down -- a confidently-located cause is high even when the fix involves choosing between options. That choice is the next field's job, not this one's.await, a wrong comparison operator, a missing locale filter.)c.title in a SELECT; probing the column list and selecting title only when it exists is backwards-compatible and matches the bug's shape, whereas every alternative either breaks the documented API or is a larger redesign. The sibling code in the same file is often direct evidence of intended behaviour -- if one branch already does the right thing, mirroring it is clear-best-option, not a design decision.)mechanical and clear-best-option and defers needs-design-decision to a human. Do not retreat to needs-design-decision just because more than one fix is conceivable -- reserve it for when the right choice genuinely belongs to a maintainer.mechanical / clear-best-option: describe the specific change -- which file, what to add/remove/change, and how the reproduce test proves it -- in enough detail that the fix stage can implement it directly without re-deriving your reasoning. (A cheaper model implements it; the more concrete your plan, the better the result.) For needs-design-decision: lay out the viable options and the tradeoff that distinguishes them, and name your recommendation if you have one. This becomes the maintainer's starting point.medium or low diagnosis.Return:
packages/core/src/api/handlers/menus.ts:142), followed by prose explaining what is wrong and why it produces the reported symptom.high, medium, or low.mechanical, clear-best-option, or needs-design-decision.mechanical / clear-best-option) or the options a maintainer must choose between (needs-design-decision). Never empty.Be specific. "Probably in the menu code somewhere" is not a diagnosis. "resolveContentUrl in packages/core/src/menus/index.ts:87 issues three queries per item and the third is the missing-locale fallback path -- on a primary-locale request it is dead code, but it still runs" is.
53dbf22
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.