# Smart Compaction

> Context window dolmadan önce akıllı summarization yapar. PreCompact hook'u tarafından otomatik tetiklenir veya manuel çağrılır.

- Skill: `erhankaraarslan/smart-compaction` (Agent Skill)
- Install (CLI): `npx skillmds@latest add erhankaraarslan/smart-compaction`
- Raw SKILL.md: https://api.skillmd.com/api/skills/erhankaraarslan/smart-compaction/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: erhankaraarslan (https://skillmd.com/u/erhankaraarslan)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/erhankaraarslan/smart-compaction

---


# Smart Compaction Skill

Bu skill, Anthropic'in "Effective Context Engineering" makalesindeki compaction best practice'lerini uygular.

## Ne Zaman Kullanılır?

1. **Otomatik:** PreCompact hook tetiklendiğinde
2. **Manuel:** `/compact` veya "context'i özetle" dendiğinde
3. **Session sonu:** Uzun görevlerin sonunda

## Compaction Süreci

### Adım 1: Durum Tespiti

```bash
# Git durumu
git status --porcelain
git log --oneline -5
git branch --show-current

# Feature progress
cat feature-list.json 2>/dev/null | jq '.completed_features, .total_features'
```

### Adım 2: Kritik Bilgileri Topla

Aşağıdakileri MUTLAKA kaydet:
- [ ] Aktif çalışılan feature/modül
- [ ] Yarım kalan işler
- [ ] Alınan kararlar (ADR'ler)
- [ ] Karşılaşılan hatalar ve çözümleri
- [ ] Sonraki adımlar
- [ ] Önemli dosya yolları

### Adım 3: CLAUDE.md Güncelle

```markdown
## Son Durum

### Güncelleme: [TARİH - SAAT]

**Aktif Feature:** F00X - [Feature adı]
**Branch:** feature/xxx
**Durum:** %XX tamamlandı

**Bu Session'da Yapılanlar:**
- [x] Task 1
- [x] Task 2
- [ ] Task 3 (yarım kaldı)

**Kritik Kararlar:**
- Karar 1: [neden]

**Karşılaşılan Sorunlar:**
- Sorun 1: [çözüm]

**Sonraki Adımlar:**
1. [ ] Öncelikli iş 1
2. [ ] Öncelikli iş 2

**Son Çalışılan Dosyalar:**
- path/to/file1.ts (değiştirildi)
- path/to/file2.ts (oluşturuldu)
```

### Adım 4: feature-list.json Güncelle

```json
{
  "id": "F00X",
  "passes": false,
  "notes": "Login tamamlandı, register yarım kaldı. Session 3'te devam edilecek.",
  "actual_sessions": 3
}
```

### Adım 5: Git Commit (Opsiyonel)

```bash
git add -A
git commit -m "wip: [Feature] - Session checkpoint

- Tamamlanan: [liste]
- Devam edecek: [liste]

Context compact öncesi checkpoint."
```

## Neyi SAKLA, Neyi AT

### ✅ SAKLA (Kritik)
- Mimari kararlar
- API contract değişiklikleri
- Database schema değişiklikleri
- Güvenlik ile ilgili notlar
- Test sonuçları (fail olanlar özellikle)
- Dependency değişiklikleri
- Environment config değişiklikleri

### ❌ AT (Güvenle Silinebilir)
- Tam tool output'ları (özeti yeterli)
- Lint çıktıları (fix edildiyse)
- Build log'ları (başarılıysa)
- Ara adım dosya okumalar
- Tekrarlanan hata mesajları

## Compaction Prompt Template

Aşağıdaki prompt'u kullanarak özet oluştur:

```
Bu session'daki tüm önemli bilgileri özetle:

1. HEDEF: Ne yapmaya çalışıyorduk?
2. İLERLEME: Ne kadar tamamlandı?
3. KARARLAR: Hangi önemli kararlar alındı ve neden?
4. SORUNLAR: Hangi sorunlarla karşılaşıldı ve nasıl çözüldü?
5. YARIM KALAN: Ne yarım kaldı ve nerede?
6. SONRAKİ: İlk yapılması gereken şey ne?
7. DOSYALAR: Hangi dosyalar kritik?

Özet CLAUDE.md'ye kaydedilecek, sonraki session bu bilgiyle başlayacak.
```

## Anti-Patterns

❌ **Yapma:**
- Tüm kod değişikliklerini kopyalama
- Her tool call sonucunu saklama
- Belirsiz notlar bırakma ("devam edilecek" yerine "register endpoint'i yazılacak")
- Commit yapmadan compact (değişiklikler kaybolabilir)

✅ **Yap:**
- Spesifik, actionable notlar bırak
- Dosya yollarını tam yaz
- Sonraki adımları numaralandır
- Önce commit, sonra compact

