Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Comprehensive code review methodology — both requesting reviews (structured workflow) and receiving feedback (technical evaluation, not performative agreement). Use when conducting code reviews, preparing PRs for review, or receiving and evaluating review feedback.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 183% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 114% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 135% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 77% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 78% | 0% |
Kod inceleme sürecinin her iki tarafı: review talep etme ve review almak için metodoloji.
Zorunlu:
İsteğe Bağlı (değerli):
bash# 1. Değişiklikleri hazırla git status && git diff # 2. SHA'ları al BASE_SHA=$(git rev-parse origin/main) HEAD_SHA=$(git rev-parse HEAD) # 3. Review talebi formatı Konu: [Feature/Fix] Kısa açıklama SHA aralığı: BASE..HEAD Neyi kontrol etmemi istiyorsun: [auth, performance, accessibility...]
Adım 1 — Preflight:
bashnpm run type-check # TypeScript npx eslint src # Lint npm run locales:check # i18n parity
Adım 2 — Değişiklik Analizi:
bashgit log --oneline BASE..HEAD # Commit geçmişi git diff --stat BASE..HEAD # Etkilenen dosyalar git diff BASE..HEAD # Tam diff
Adım 3 — Analiz Kriterleri:
markdown## Bulgu #N: [Başlık] **Önem**: [KRİTİK/YÜKSEK/ORTA/DÜŞÜK] **Konum**: dosya:satır **Kategori**: [Güvenlik/Performans/Doğruluk/UX] ### Açıklama [Net açıklama] ### Öneri [Spesifik düzeltme]
markdown## Kod Review Özeti **Genel Değerlendirme**: [ONAY / REVİZYON GEREKLİ / KOŞULLU ONAY] ### Güçlü Yönler - [Olumlu nokta 1] - [Olumlu nokta 2] ### Kritik Sorunlar (Merge öncesi düzeltilmeli) - [Sorun 1] ### Öneriler (Takdire bırakılmış) - [Öneri 1]
Review feedback = teknik değerlendirme gerektiren öneri, körü körüne uyulacak emir değil.
1. OKU → Tüm feedback'i tamamen oku, tepki verme
2. ANLA → Her maddeyi kendi cümlelerinle ifade et (veya sor)
3. DOĞRULA → Codebase'de gerçekten sorun var mı kontrol et
4. DEĞERLENDİR → Bu codebase için teknik olarak doğru mu?
5. YANIT VER → Teknik onay veya gerekçeli itiraz
6. UYGULA → Birer birer, her birini test et❌ "Kesinlikle haklısın!"
❌ "Harika nokta!"
❌ "Hemen uygulayayım" (doğrulamadan)
❌ "Teşekkürler" (performatif şükran)
✅ "Kontrol ettim — [sorun gerçekten var]. Düzeltiyorum."
✅ "Doğruladım — [sorun yok]. Çünkü [teknik gerekçe]."
✅ Sadece düzeltmeyi yap, eylem konuşurEğer herhangi bir madde belirsizse:
DURUR — hiçbir şey uygulanmaz
Tüm belirsiz maddeleri açıkla sor
SONRA başla
Neden: Maddeler birbiriyle ilgili olabilir.
Kısmi anlama = yanlış uygulama.Uygulamadan önce kontrol et:
1. Bu codebase için teknik olarak doğru mu?
2. Mevcut fonksiyonu kırıyor mu?
3. Mevcut implementasyonun nedeni var mıydı?
4. Tüm platform/versiyon için çalışıyor mu?
5. Reviewer tam context'e sahip mi?
Öneri yanlış görünüyorsa → teknik gerekçeyle itiraz et✅ "Düzelttim. [Ne değişti - kısa]"
✅ "Yakaladın — [spesifik sorun]. Düzeltme: [konum]"
✅ [Sadece düzelt, kod gösterir]
❌ Uzun özür
❌ Neden itiraz ettiğini savunma
❌ Aşırı açıklamaTeknik gerekçeyle itiraz et:
- Mevcut testleri/kodu göster
- Neden şu anki implementasyonun doğru olduğunu göster
- Spesifik soru sor
- Mimari ise önce teknik lider ile tartışbash# Type check npm run type-check # Locale parity node scripts/check-locale-parity.mjs # ESLint npx eslint src --ext .ts,.tsx
markdownAuth değişikliği: - [ ] requireAuth() ilk satırda - [ ] Session cookie firebase pattern'ı korunuyor - [ ] Admin route'ları requireAdminAuth() kullanıyor AI endpoint değişikliği: - [ ] Rate limiting uygulandı - [ ] Error response stack trace içermiyor - [ ] Monitoring event loglandı - [ ] Token limiti set edildi (max_tokens) i18n değişikliği: - [ ] TR ve EN key'leri her ikisine eklendi - [ ] locales:check geçiyor - [ ] Placeholder sayısı eşleşiyor Firestore değişikliği: - [ ] Query'ler server-side filtreli (tüm döküman çekilmiyor) - [ ] Composite index gereksinimi kontrol edildi - [ ] Security rules güncellendi (gerekiyorsa)
| Hata | Düzeltme | | -------------------------------------------- | ------------------------------- | | Doğrulamadan uygulama | Codebase'de kontrol et önce | | Belirsizlik varken devam | Önce tüm belirsiz maddeleri sor | | Performatif kabul | Teknik onay veya itiraz et | | Toplu test (hepsini birden) | Birer birer uygula ve test et | | Reviewer'ın her zaman haklı olduğu varsayımı | Teknik doğruluğu kontrol et |
500 satırı aşan PR'larda standart review'a ek olarak şu kontroller uygulanır:
features/*/server/ pattern'ı)?markdown## Large PR Review — [PR Başlığı] **Satır Sayısı**: [N] satır değişiklik **Etkilenen Domain'ler**: [cv, ats, auth, ...] ### Kritik Bulgular (Merge öncesi zorunlu) - [Bulgu 1] ### Mimari Gözlemler - [Gözlem 1] ### Performans/Güvenlik Notları - [Not 1] ### Genel Değerlendirme [ONAY / REVİZYON GEREKLİ] — [1-2 cümle gerekçe] ### Önerilen İlk 3 Aksiyon 1. ... 2. ... 3. ...
TypeScript dosyalarını incelerken standart review'a ek olarak şu kategoriler sistematik olarak kontrol edilir.
typescript// ❌ Tehlikeli tip assertion — tip sistemi bypass ediliyor const user = response.data as User // ✅ Runtime doğrulama ile güvenli parse function parseUser(data: unknown): User { if (!isUser(data)) throw new ValidationError('Invalid user shape') return data } // ❌ Non-null assertion — runtime crash riski const name = user!.profile!.name // ✅ Optional chaining + fallback const name = user?.profile?.name ?? 'Bilinmiyor'
json{ "compilerOptions": { "strict": true, "noUncheckedIndexedAccess": true, "noImplicitOverride": true, "noImplicitReturns": true, "noUnusedLocals": true, "noUnusedParameters": true, "noFallthroughCasesInSwitch": true } }
markdown🔴 KRİTİK — Merge engelleyici: - Type error veya tsc hata veriyor - Security açığı (any → user input → SQL/AI prompt) - Runtime crash riski (non-null assertion, unsafe cast) 🟡 ÖNEMLİ — Düzeltilmesi şiddetle önerilir: - Gereksiz any kullanımı - Missing return type annotation (public API) - Unsafe type assertion (as SomeType) - noUnusedLocals/Parameters ihlali 🔵 ÖNERİ — Sonraki PR'a bırakılabilir: - satisfies yerine as kullanımı - Utility type fırsatı (Partial, Pick, Omit) - Template literal type fırsatı - import type eksikliği
markdown## TypeScript Code Review — [Dosya/Modül] **TypeScript Versiyonu**: [x.x] **strict mode**: [Aktif / Kapalı] ### Tip Güvenliği Bulguları 🔴 **[Dosya:Satır]** — Unsafe type assertion - Mevcut: `const data = response as UserData` - Beklenen: Zod schema ile parse et - Neden: runtime'da shape uyumsuzluğu crash'e yol açar ### Önerilen Araçlar - `npx tsc --noEmit` — tip hata kontrolü - `ts-prune` — kullanılmayan export tespiti - `madge --circular` — circular dependency tespiti
Other measured skills in the registry, with their headline benchmark lift.