Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Locate the root cause of a CONFIRMED failure via backward-then-forward semi-formal tracing. Trigger when the user provides a stack trace, failing assertion, error message, or specific wrong-value observation — "find the bug", "this test is failing", "track down this crash", "why is...
.claude/skills/sickn33-logic-locate/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 38% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 21% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 76% | 0% |
Use this skill when you need locate the root cause of a CONFIRMED failure via backward-then-forward semi-formal tracing. Trigger when the user provides a stack trace, failing assertion, error message, or specific wrong-value observation — "find the bug", "this test is failing", "track down this crash", "why is...
Use lazy loading per ../_shared/common.md §13:
../_shared/common.md only for language, Iron Law, Fault Confidence, scope routing, Remedy discipline, config fields, and loading budget.logic-locate-guide.md as you reach it.../_shared/logic-risks.md, ../_shared/semiformal-guide.md, ../_shared/semiformal-checklist.md, and ../_shared/report-template.md on demand when the current step needs them.Step 0. Language + scope routing. Detect language per common.md §1. Confirm a concrete failure exists (stack trace, failing assertion, specific wrong value). If only a suspicion, switch to logic-review.
Step 1. Understand the failure (guide Step 1) — observed behavior, expected behavior, reproduction path.
Step 2. Identify the entry point (guide Step 2) — failing test, outermost application frame, or request handler — whichever is closest to the failure. Stay inside the failure cone first: stack frames, failing test fixture, directly called local functions, and config/env values read on that path. Do not scan unrelated modules unless the trace crosses into them.
Step 3. Trace backward from the failure point (guide Step 3) — walk each value and state back to its origin, building premises at every hop.
Step 4. Trace forward to confirm (guide Step 4) — from the suspected root, verify the trace reaches the observed symptom.
Step 5. Interprocedural tracing if a callee is implicated (guide Step 5) — trace into the callee; check return values under observed conditions, unhandled exceptions, shared-state mutation. Apply the depth limit and Call-Chain Context Label format defined in semiformal-guide.md §Call-Chain Context Labels; at the limit, state the remaining callee path as a premise assumption and downgrade to Medium confidence (per common.md §7).
Step 6. Identify the root divergence and classify (guide Step 6) — state the exact line/expression, the violated premise, the actual behavior, the propagation chain to the symptom; pick the L-code.
Step 7. Output the focused report (guide Step 7) — Fault Confidence (High/Medium/Low, per common.md §7); Primary Fault (single five-field finding); optionally Contributing Factors; a minimal Remedy per common.md §10. Format is mandatory even for simple one-function bugs: always emit the labeled Premises / Trace / Divergence / Trigger / Remedy fields and the Fault Confidence line. Never answer with a plain fix suggestion.
Mode line in report: Fault Locate (Chinese: 故障定位).
Output format: the Findings section has ONE Primary Fault, not a full Critical/Warning/Suggestion split. The Logic Score line is replaced by Fault Confidence: High / Medium / Low.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 22,659 | 7,828 | -65% | 1 | 1 | 0% | 3,994 | 2,215 | -45% | 0 | 0 | — |
case-02 | fail→fail | 21,125 | 5,755 | -73% | 1 | 1 | 0% | 3,482 | 1,140 | -67% | 0 | 0 | — |
case-03 | fail→pass | 15,383 | 15,571 | +1% | 1 | 1 | 0% | 2,555 | 3,458 | +35% | 0 | 0 | — |
case-04 | fail→fail | 6,140 | 3,516 | -43% | 1 | 1 | 0% | 1,021 | 1,406 | +38% | 0 | 0 | — |
case-05 | fail→fail | 4,449 | 10,345 | +133% | 1 | 1 | 0% | 671 | 1,905 | +184% | 0 | 0 | — |
case-06 | pass→pass | 14,409 | 8,312 | -42% | 1 | 1 | 0% | 2,203 | 2,060 | -6% | 0 | 0 | — |
case-07 | pass→fail | 14,108 | 4,534 | -68% | 1 | 1 | 0% | 2,381 | 1,466 | -38% | 0 | 0 | — |
case-08 | fail→pass | 14,049 | 17,385 | +24% | 1 | 1 | 0% | 2,412 | 3,319 | +38% | 0 | 0 | — |
case-09 | fail→fail | 19,372 | 16,487 | -15% | 1 | 1 | 0% | 2,632 | 3,393 | +29% | 0 | 0 | — |
case-10 | fail→pass | 15,569 | 18,496 | +19% | 1 | 1 | 0% | 2,466 | 4,006 | +62% | 0 | 0 | — |
case-11 | fail→pass | 13,210 | 11,535 | -13% | 1 | 1 | 0% | 2,350 | 2,850 | +21% | 0 | 0 | — |
case-12 | fail→pass | 16,470 | 22,665 | +38% | 1 | 1 | 0% | 2,645 | 4,642 | +76% | 0 | 0 | — |
case-13 | fail→pass | 10,159 | 23,090 | +127% | 1 | 1 | 0% | 1,622 | 4,730 | +192% | 0 | 0 | — |
case-14 | fail→pass | 16,015 | 7,797 | -51% | 1 | 1 | 0% | 2,750 | 2,042 | -26% | 0 | 0 | — |
case-15 | pass→pass | 5,496 | 4,043 | -26% | 1 | 1 | 0% | 895 | 1,438 | +61% | 0 | 0 | — |
case-16 | pass→pass | 10,750 | 18,944 | +76% | 1 | 1 | 0% | 2,030 | 4,144 | +104% | 0 | 0 | — |
case-17 | fail→pass | 3,716 | 13,901 | +274% | 1 | 1 | 0% | 624 | 3,133 | +402% | 0 | 0 | — |
case-18 | fail→pass | 13,936 | 9,247 | -34% | 1 | 1 | 0% | 2,066 | 2,414 | +17% | 0 | 0 | — |
case-19 | fail→pass | 13,259 | 12,763 | -4% | 1 | 1 | 0% | 2,260 | 2,343 | +4% | 0 | 0 | — |
case-20 | pass→pass | 13,883 | 17,966 | +29% | 1 | 1 | 0% | 2,740 | 3,947 | +44% | 0 | 0 | — |
case-21 | pass→pass | 7,288 | 4,372 | -40% | 1 | 1 | 0% | 1,293 | 1,536 | +19% | 0 | 0 | — |
case-22 | pass→pass | 16,667 | 24,864 | +49% | 1 | 1 | 0% | 3,107 | 4,606 | +48% | 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 21 counted toward the lift figure. The other 1 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 +41 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is 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.
Other measured skills in the registry, with their headline benchmark lift.