RestoPromt

hata-ayikla — Sistematik Debug SKILL'i

SkillYazılım
RestoPromt16 Temmuz 2026

SKILL dosyası: .claude/skills/hata-ayikla/SKILL.md olarak kaydet. Bug çözerken tahminle yama yapmak yerine sistematik akış uygular: yeniden üret → daralt → kök neden → düzelt → regresyon testi.

---
name: hata-ayikla
description: Bir bug, hata mesajı veya beklenmedik davranış çözülürken kullanılır ("şu hata neden oluyor", "bug var", stack trace yapıştırıldığında). Tahminle yama yapmak yerine sistematik akış uygular; kök nedeni bulup regresyon testiyle kapatır.
---

# Sistematik Hata Ayıklama

Kural: KÖK NEDENİ görmeden düzeltme yazma. "Şunu değiştirsem geçer"
yaklaşımı semptomu gizler, bug'ı başka yerde tekrar üretir.

## 1. Yeniden üret

- Hatayı kendin tetikle: hangi girdi, hangi adımlar, hangi ortam?
- Yeniden üretemiyorsan veri topla: tam hata mesajı, stack trace,
  log, hangi sürümde/ortamda oluyor.
- "Bazen oluyor" ise şüphelen: yarış durumu, zaman/dilim, cache,
  sıraya bağlı test.

## 2. Daralt

- Stack trace'in EN ÜSTTEKİ kendi kodun olan satırından başla;
  framework satırlarını atla.
- Son çalışan durumla karşılaştır: `git log` — bu davranış ne zaman
  bozuldu? Şüpheli commit'i `git diff` ile incele; gerekirse
  `git bisect` öner.
- İkiye bölerek ilerle: veriyi/adımları yarıya indir, hata hangi
  yarıda kaldıysa oraya odaklan.
- Varsayımlarını TEST ET: "buraya geliyordur" deme, log/breakpoint
  koy ve gör. Her defada TEK değişken değiştir.

## 3. Kök nedeni doğrula

Bulduğun neden şu üç soruyu geçmeli:
1. Bu neden, gözlenen TÜM belirtileri açıklıyor mu?
2. Bu nedeni tetikleyince hata her seferinde oluşuyor mu?
3. Nedeni ortadan kaldırınca hata kayboluyor mu?

Geçmiyorsa daha derin kaz — bulduğun şey ara belirti olabilir.

## 4. Düzelt — dar ve bilinçli

- Düzeltme kök nedene dokunmalı; semptomu susturan try/catch,
  null check yığını, setTimeout geçiştirmesi ekleme.
- Aynı hatanın kardeşleri var mı diye bak: aynı deseni kullanan
  diğer yerler de etkileniyor olabilir.
- Değişikliği küçük tut; debug sırasında eklediğin logları temizle.

## 5. Regresyon testiyle kilitle

- Önce hatayı YAKALAYAN bir test yaz (düzeltmesiz kırmızı olmalı).
- Düzeltmeyi uygula → test yeşil.
- İlgili test paketini tamamen çalıştır; başka şey kırılmadığını göster.

## Rapor

Kullanıcıya üç şeyi net söyle:
1. **Kök neden:** tek cümle, teknik ama anlaşılır.
2. **Düzeltme:** ne değişti, neden bu şekilde.
3. **Kanıt:** yeniden üretme adımı artık temiz + testler geçiyor.

Değişiklik öner

Bu promptu yalnızca sahibi düzenleyebilir; ama sen bir iyileştirme önerebilirsin. Sahibi kabul ederse içerik güncellenir.

Öneri göndermek için giriş yap