Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Decide whether the diagnosed behaviour is actually a bug or whether the code is doing what it was designed to do. Gate the fix stage.
.claude/skills/emdash-cms-verify/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-21 | ✗→✓ | ▲ Improved | -1% | 0% |
| case-22 | ✗→✓ | ▲ Improved | 32% | 0% |
| case-11 | ✓→✗ | ▼ Worse | -19% | 0% |
| case-12 | ✓→✗ | ▼ Worse | 6% | 0% |
| case-13 | ✓→✗ | ▼ Worse | -12% | 0% |
Diagnose found code that explains the symptom. That does not make the code wrong. Plenty of EmDash issues describe behaviour that is intentional but under-documented, surprising at first glance, or a misuse of the API. Tell the difference -- fix runs only when you say bug.
You read code, comments, docs, tests, and AGENTS.md. You modify nothing. No edits, no test runs, no dev servers.
Pure inspection -- entirely VFS work. Use read_file, ls, grep, and code to cross-reference code, docs, and tests. Do not attach a container.
git commit, no git push.AGENTS.md and CONTRIBUTING.md for repo-wide rules (SQL safety, locale filtering, RBAC, request caching, query-count budget); docs/ for user-facing behaviour that may be intentional; the package README or top-level docstring.locale filter; off-by-one pagination; a 500 where a 404 belongs; a permission check admitting the wrong actor.){ items, nextCursor } not a bare array; the X-EmDash-Request CSRF header requirement; slugs unique per-locale not globally per migration 019; a maintainer-only endpoint returning 403 to authors.)intended-behavior just because a test exists -- a test asserting wrong behaviour is part of the bug. Do not call bug just because the reporter is upset -- frustration is not a verdict.intended-behavior, state the documented intent explicitly so the bot's comment can point the reporter at it ("I think this is by design -- see <doc> / <test> -- happy to revisit if you disagree"). For unclear, list what you would need to know to decide.Return:
bug, intended-behavior, or unclear.The workflow uses your verdict as a gate. bug triggers fix only when diagnose also pinned the cause (confidence not low), rated the fix mechanical or clear-best-option, _and_ the maintainer directive is a fix directive. A bug needing a design decision, an unclear, or intended-behavior all stop here and produce a comment-only outcome.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 3,712 | 3,023 | -19% | 1 | 1 | 0% | 203 | 1,054 | +419% | 0 | 0 | — |
case-02 | fail→fail | 7,038 | 3,509 | -50% | 1 | 1 | 0% | 1,301 | 1,092 | -16% | 0 | 0 | — |
case-03 | fail→fail | 8,765 | 3,320 | -62% | 1 | 1 | 0% | 234 | 1,076 | +360% | 0 | 0 | — |
case-04 | fail→fail | 3,853 | 5,503 | +43% | 1 | 1 | 0% | 273 | 1,203 | +341% | 0 | 0 | — |
case-05 | fail→fail | 5,640 | 4,578 | -19% | 1 | 1 | 0% | 1,002 | 1,287 | +28% | 0 | 0 | — |
case-06 | fail→fail | 5,405 | 4,697 | -13% | 1 | 1 | 0% | 1,108 | 1,309 | +18% | 0 | 0 | — |
case-07 | fail→fail | 11,759 | 3,858 | -67% | 1 | 1 | 0% | 2,082 | 1,140 | -45% | 0 | 0 | — |
case-08 | fail→fail | 7,098 | 3,433 | -52% | 1 | 1 | 0% | 1,280 | 1,107 | -14% | 0 | 0 | — |
case-09 | fail→fail | 11,472 | 3,991 | -65% | 1 | 1 | 0% | 1,911 | 1,234 | -35% | 0 | 0 | — |
case-10 | fail→fail | 5,440 | 3,275 | -40% | 1 | 1 | 0% | 1,041 | 1,090 | +5% | 0 | 0 | — |
case-11 | pass→fail | 7,251 | 3,850 | -47% | 1 | 1 | 0% | 1,375 | 1,118 | -19% | 0 | 0 | — |
case-12 | pass→fail | 6,684 | 3,975 | -41% | 1 | 1 | 0% | 1,203 | 1,272 | +6% | 0 | 0 | — |
case-13 | pass→fail | 6,736 | 3,722 | -45% | 1 | 1 | 0% | 1,257 | 1,111 | -12% | 0 | 0 | — |
case-14 | fail→fail | 6,375 | 4,843 | -24% | 1 | 1 | 0% | 1,051 | 1,236 | +18% | 0 | 0 | — |
case-15 | pass→fail | 7,011 | 5,136 | -27% | 1 | 1 | 0% | 1,216 | 1,255 | +3% | 0 | 0 | — |
case-16 | fail→fail | 6,589 | 5,637 | -14% | 1 | 1 | 0% | 1,141 | 1,509 | +32% | 0 | 0 | — |
case-17 | fail→fail | 10,728 | 3,365 | -69% | 1 | 1 | 0% | 1,941 | 1,083 | -44% | 0 | 0 | — |
case-18 | fail→fail | 9,848 | 4,997 | -49% | 1 | 1 | 0% | 1,678 | 1,047 | -38% | 0 | 0 | — |
case-19 | pass→fail | 6,668 | 4,007 | -40% | 1 | 1 | 0% | 1,141 | 1,119 | -2% | 0 | 0 | — |
case-20 | pass→fail | 4,309 | 4,190 | -3% | 1 | 1 | 0% | 854 | 1,154 | +35% | 0 | 0 | — |
case-21 | fail→pass | 7,874 | 2,550 | -68% | 1 | 1 | 0% | 1,364 | 1,352 | -1% | 0 | 0 | — |
case-22 | fail→pass | 7,024 | 4,196 | -40% | 1 | 1 | 0% | 1,255 | 1,656 | +32% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 3 counted toward the lift figure. The other 19 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -18 percentage points is the difference between those two pass rates over the 3 comparable cases. 11 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/3/2026 | -5% |
Other measured skills in the registry, with their headline benchmark lift.