Skip to content
Skills Library
Programming · Analysis

debugging

/debugging

Use when you meet an error, a failing test, unexpected behavior, slowness or a build error, BEFORE proposing a fix. No fix is made before the root cause is found. The main chat and every agent that writes code load it; the reviewer may load it when a root-cause analysis is needed.

Repository
Mindgate ↗
Licence
MIT
Last repository change
11.11.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
1
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 11.11.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What to check before installing
  • SKILL.md zawiera komentarze HTML (1). Nie widać ich w podglądzie Markdown, a model je czyta.

What it does and when to use it

Use when you meet an error, a failing test, unexpected behavior, slowness or a build error, BEFORE proposing a fix. No fix is made before the root cause is found. The main chat and every agent that writes code load it; the reviewer may load it when a root-cause analysis is needed.

Original author description

Use when you meet an error, a failing test, unexpected behavior, slowness or a build error, BEFORE proposing a fix. No fix is made before the root cause is found. The main chat and every agent that writes code load it; the reviewer may load it when a root-cause analysis is needed.

How it works

  1. Basic rule
  2. 0. Vault first
  3. 1. Root-cause investigation (before fixing)
  4. 2. Pattern comparison
  5. 3. Hypothesis and test
  6. 4. The fix
  7. The 3-attempt rule
  8. Stop signs
  9. When there really is no root cause
  10. When done
Original SKILL.md headings · 54 lines, 674 words
SKILL.md preview
---
name: debugging
description: Use when you meet an error, a failing test, unexpected behavior, slowness or a build error, BEFORE proposing a fix. No fix is made before the root cause is found. The main chat and every agent that writes code load it; the reviewer may load it when a root-cause analysis is needed.
---

Method skill (not an agent). Works together with rule #24 (verify first) and §7.3 (problem and solution) of the vault `CLAUDE.md`.

## Basic rule
**No fix without a root cause.** Suppressing the symptom (e.g. swallowing the error with `try/except`, adding a magic wait) is not a fix; the problem comes back somewhere else.

## 0. Vault first
Search `problems/` for the error message and for similar meaning (`grep`, `search.py`; §7.3, rule #38). If a recorded solution exists, try it first; do not retry in the same conditions one marked ✗ in the "Tried solutions" table. Write the result (✔/✗/~ and why) into the table; if it did not work, look for a new one without deleting the old one.

## 1. Root-cause investigation (before fixing)
- **Read the error message to the end:** stack trace, file:line, error code. The answer is often there.
- **Reproduce:** Are the steps exact, does it happen every time? If it cannot be reproduced, do not guess; collect data.
- **Look at recent changes:** `git diff`, recent commits, new dependency, setting, environment difference.
- **In a multi-layer system, measure the boundaries:** At each component boundary (e.g. script → subprocess → file) print the data going in and coming out once. Prove at which layer it breaks, then go down into that layer.
- **Trace the data backwards:** Where did the wrong value come from, who called with this value? Go up to the source; fix at the source.

## 2. Pattern comparison
- Find similar working code in the same project. List **every** difference between the working one and the broken one (do not say "this can't matter").
- If you are applying a pattern or an example, read the reference from start to end; do not skim.

## 3. Hypothesis and test
- Write a single hypothesis: "X is the root cause, because Y."
- Test with the **smallest** change; one variable at a time. If it did not hold, do not add a new fix on top; revert the change and form a new hypothesis.
- If you do not understand, say "I don't understand X" (#24). Do not pretend.

## 4. The fix
- First write a **failing test** that catches the error, or a small reproduction script (`test-writing`). See the test fail.
- **One** fix for the root cause. No "while I'm here" improvement or bulk refactor (#23, #25).
- Verify (`verification`): the test is green, other tests are not broken, the original symptom is really gone.

## The 3-attempt rule
Once three fix attempts have been made, **stop**. If every fix opens a new problem somewhere else, the problem is most likely in the design, not in a single line. Before a fourth attempt, write to the user the situation, what was tried and the architectural question.

## Stop signs
If any of these crosses your mind, go back to step 1:
- "Let me patch it quickly for now, I'll look later."
- "Let me change this and see."
- "Let me change a few things at once and run the tests."
- "It's probably X."
- Writing a list of solutions without tracing the data flow.
- Warnings from the user such as "don't guess" or "isn't this working?".

## When there really is no root cause
If the problem comes from the environment, timing or an external service, write what was investigated, put in a suitable mitigation (timeout, retry, meaningful error message) and add a record. This is rare; most of the time the investigation was incomplete.

## When done
Write the solved problem to `problems/` or update the existing note (`/problem`): symptom (error message verbatim), root cause, valid solution, **all attempted solutions with their results** (including the ones that did not work, rule #38), how to prevent it.

## Idea sources
- obra/superpowers `systematic-debugging` (MIT, Jesse Vincent). Read from a downloaded copy; its match with the official repository was not verified.

## Lessons
<!-- The central agent adds verified lessons here: general and reusable, without project names or dates. -->

Versions

RepositoryScoreLicence
This page · AlicanKaya192/Mindgate100MIT
sentimony/skills100MIT
sentimony/skills100MIT
wrongstack/wrongstack100MIT
dxos/dxos100Apache-2.0
iliaal/ai-skills100MIT
t8jwscc7qy-sketch/foma-skills100Apache-2.0
arxdsilva/ai-loops100MIT
zts212653/clowder-ai100MIT

Database snapshot: 13.11.2026 · package version 92548066864d (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100systematic-debugging
    Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes. Implements scientific method for debugging with root cause analysis.
  • 92systematic-debugging
    当遇到任何 bug、测试失败或意外行为时,在提出修复之前必须使用
  • 100systematic-debugging
    Four-phase debugging framework that ensures root cause investigation before attempting fixes. Never jump to solutions. Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
  • 100systematic-debugging
    Use when encountering any bug, test failure, or unexpected behavior. 4-phase root cause investigation — NO fixes without understanding the problem first.
  • 90root-cause-debugging
    Use when behavior is wrong or broke and the cause is unknown, or someone asks what went wrong: a failing test, wrong totals or output, a 500 in production, something that worked before, a flaky run. Not for adding logging, debug settings, explaining traces or tests for new features.
  • 100systematic-debugging
    Use when encountering any bug, test failure, unexpected behavior, or error. Triggers on: "it's broken", "this doesn't work", "I'm getting an error", "fix this bug", any unexpected behavior. Requires finding root cause before attempting fixes. Symptom fixes are failure.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.