Przejdź do treści
Biblioteka skilli
Programowanie · Analiza

root-cause-debugging

/root-cause-debugging

Ustala faktyczną przyczynę błędu, niestabilnego testu lub nieoczekiwanego wyniku, zanim zmieni się kod, zwłaszcza gdy poprawka nie zadziałała.

Licencja
MIT
Ostatnia zmiana repozytorium
06.11.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 06.11.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Ustala faktyczną przyczynę błędu, niestabilnego testu lub nieoczekiwanego wyniku, zanim zmieni się kod, zwłaszcza gdy poprawka nie zadziałała.

Wyzwalacze z opisu

just try
Oryginalny opis (EN)

Find the actual cause of a bug, test failure, flaky behaviour, or unexpected output before changing code. Use whenever something is broken, failing, flaky, slow for no clear reason, or a previous fix did not work, and especially when you are tempted to "just try" a change.

Jak działa

  1. Phase 1: Reproduce
  2. Phase 2: Gather evidence
  3. Phase 3: Hypothesise
  4. Phase 4: Fix at the root
  5. Phase 5: Close out
  6. Escalation rule
  7. Red flags
Sekcje z nagłówków SKILL.md, w oryginale · 44 linii, 387 słów
Podgląd SKILL.md
---
name: root-cause-debugging
description: Find the actual cause of a bug, test failure, flaky behaviour, or unexpected output before changing code. Use whenever something is broken, failing, flaky, slow for no clear reason, or a previous fix did not work, and especially when you are tempted to "just try" a change.
---

# Root-Cause Debugging

**No fix without a known cause.** Guess-and-patch cycles hide bugs, create new ones, and waste time.
Work through the phases in order. Skipping ahead is the failure this skill exists to prevent.

## Phase 1: Reproduce
- Read the full error: message, stack trace, exit code, logs. Do not skim.
- Find the smallest reliable reproduction. Record the exact command and input.
- If it is not reproducible, gather more data (logs, environment, timing). Do not guess a fix.
- Check what changed: recent commits, dependency updates, config, environment.

## Phase 2: Gather evidence
- Trace the bad value backwards: where did it come from, and who passed it in?
- In multi-component systems (API to service to database, CI to build to deploy), add temporary
  logging at **each boundary** to see where the data first goes wrong. Run once, read the evidence,
  then decide.
- Find a working example nearby and list every difference from the broken case.

## Phase 3: Hypothesise
- State one hypothesis: "The failure occurs because X, which would also mean Y."
- Test it with the smallest possible experiment that could **disprove** it. Change one variable at a time.
- If disproved, record what you learned and form the next hypothesis from the evidence. Do not stack changes.

## Phase 4: Fix at the root
1. Write a failing test that reproduces the bug (use `outside-in-tdd`).
2. Apply a single fix at the cause, not the symptom.
3. Run the new test and the full suite.
4. Remove temporary instrumentation.

## Phase 5: Close out
Run `verify-before-done`. In your report give: symptom, cause (with the evidence), fix, and the test that now guards it.

## Escalation rule
After **three failed hypotheses**, stop patching. Each failure that reveals a new problem somewhere else
is a sign the assumed design is wrong. Summarise what you have learned and discuss the structure with the user before trying more.

## Red flags
- "Quick fix now, investigate later."
- Changing several things at once to "see what sticks."
- Adding a retry, sleep, or null-check without knowing why it is needed.
- Proposing a fix before you can explain the failure in one sentence.
- Treating a flaky test as "just flaky". Flakiness has a cause (timing, shared state, ordering). Find it.

Wersje

RepozytoriumWynikLicencja
Ta strona · Mosin112/engineering-harness100MIT
RobinBeraud/claude-qa-skills100MIT
plori-ai/skills100MIT
reddygopalkrishna/developer-agent-skills100MIT
krzemienski/proofpunk100MIT
DavidZapataOh/overdrive90MIT
alisinadevelo/md-files90MIT

Migawka bazy z 13.11.2026 · wersja paczki 4cea01a89bfe (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 85vibe-debug
    Szuka przyczyny błędu, testu lub nieoczekiwanego zachowania, zanim cokolwiek zmieni, zwłaszcza gdy poprzednia poprawka nie zadziałała.
  • 90root-cause-first
    Narzuca dyscyplinę debugowania: przed każdą poprawką ustalić przyczynę błędu, awarii, regresji lub niestabilnego zachowania, zwłaszcza gdy poprzednia próba naprawy nie zadziałała.
  • 100systematic-debugging
    Znajduje przyczynę źródłową błędu, nieudanego testu lub nieoczekiwanego zachowania przed jakąkolwiek poprawką, także gdy poprzednia naprawa nie zadziałała lub błąd wraca.
  • 90systematic-debugging
    Znajduje przyczynę błędu, niezaliczonego testu, awarii lub złego wyniku przed zmianą kodu, gdy poprawka nie utrzymała się.
  • 100systematic-debugging
    Szuka przyczyny nieoczekiwanego wyniku, awarii, niestabilnego testu lub spadku wydajności na podstawie powtarzalnych dowodów.
  • 100systematic-debugging
    Szuka przyczyny nieoczekiwanego wyniku, awarii lub niestabilnego testu; gdy przyczyna i poprawka są jasne, wybiera się skill Ralph.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.