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.