Claude Code kredi/limit sorunu: “You’ve hit your limit” hatasını çözme ve Opus 4.6’da kotayı koruma rehberi
Yazının en sondaki md içeriğini claude'a lessons.md olarak yükleyin.
Claude Code ile “site kodluyorum; 4–5 sayfa sonra Pro olmasına rağmen kredi bitti / You’ve hit your limit diyor” şikâyeti 2025–2026 döneminde çok yaygınlaştı. Bunun iki nedeni var: (1) Claude Code’un plan bazlı kullanım limitleri (5 saatlik pencere + haftalık tavanlar) ve (2) kod yazarken fark etmeden “kontekst”i şişirip her istek başına devasa token göndermek.
Bu yazı, yalnızca Claude Code odağında; “limit bitti” durumunu doğru teşhis edip, kredi yakımını düşüren .md dosya sistemi (CLAUDE.md + SKILL.md) ile aynı işi daha az tüketimle yapmanı sağlayacak şekilde hazırlanmıştır.
“You’ve hit your limit” ne demek, önce bunu öğrenelim
Claude Code’da “limit” üç farklı şey olabilir
Claude tarafında iki ana limit sınıfı var: usage limits (kullanım bütçesi) ve length/context limits (kontekst penceresi). Usage limiti dolduğunda sistem bekletir; length limiti dolduğunda konuşmayı bölmek / yeni oturum başlatmak gerekir.
Claude’un kendi yardım merkezinin tanımı net: usage limit, belli bir zaman penceresinde Claude Code ile ne kadar çalışabildiğini belirleyen “konuşma bütçesi” gibi düşünülmeli. Bu dolduğunda bekleme, yükseltme veya “extra usage” satın alma gibi seçenekler devreye girer.
Burada kritik ayrım: Claude Code kullanırken “kredi bitti” bazen abonelik kotan bitti anlamına gelir, bazen de Claude Code’u yanlışlıkla API kredisi (Console kredisi) üstünden çalıştırıyorsundur. İkisi aynı şey değildir.
Karşılaştırma: “Limit” türünü 30 saniyede teşhis et
Aşağıdaki karşılaştırma, doğru çözümü seçmen için. (Tablo yok; kısa madde madde.)
- Usage limit (plan kotası doldu)
- Belirti: “Usage limit reached / You’ve hit your limit” ve reset saati gösterir.
- Çözüm: Reset bekle, plan yükselt, extra usage aç.
- API kredisi bitti (yanlış login / billing modu)
- Belirti: Claude Code “API credits” kullanımı teklif eder / Console-billing davranışı görürsün.
- Çözüm: claude logout → claude login ve sadece Pro/Max ile oturum aç (Console kimliği ekleme).
- Length/context problemi (kontekst şişti)
- Belirti: “Prompt too long” benzeri; ya da kalite düşer, Claude “kendi kendine özet”/compact yapar.
- Çözüm: /clear veya hedefli /compact, konteksti küçük tutma, CLAUDE.md + skills ile tekrar eden metni dışarı alma.
“Pro olmasına rağmen 4–5 sayfada bitiyor” sorununun gerçek nedeni
Claude Code neden hızlı tüketir: kontekst bütçesi sessizce büyür
Claude Code “agentic” çalışır: sadece cevap vermez; dosya okur, komut çalıştırır, birden fazla dosyada değişiklik yapar. Bu güç, yanlış yönetilirse her adımda daha fazla bağlam taşır.
Kontekst büyüdükçe her sonraki istekte önceki konuşma + okunan dosyalar + araç tanımları tekrar taşınır; bu da token maliyetini artırır ve plan limitini daha hızlı yedirir.
Bu yüzden web sitesi geliştirirken “4–5 sayfa” gibi masum bir ilerleme bile; eğer Claude Code her seferinde repo’nun geniş bir bölümünü okumaya başlıyorsa, gerçekte birkaç adımda çok büyük bir tüketim yaratabilir.
Claude Opus 4.6’da limit sorunu neden daha görünür olabilir
Claude Opus 4.6, özellikle “uzun görevleri bitirebilme” tarafında ilerletildi: 128K max output gibi daha büyük çıktılar ve uzun bağlam performansına yönelik özellikler öne çıkarılıyor. Bu, doğru kullanılırsa “yarım kalan iş” riskini azaltır; yanlış kullanılırsa tek seferde daha çok çıktı üretip tüketimi hızlandırabilir.
Ayrıca Opus 4.6’da 1M context “beta” seçeneği konuşuluyor; Claude Code tarafında 1M bağlamın extra usage açıkken bazı senaryolarda görünebildiği belirtiliyor. 200K üstüne çıkmak ise “long-context pricing / dedicated rate limits” gibi ayrı kurallara bağlanabiliyor. Bu pratikte şunu demek: konteksti büyütmek bazen “limit yemeyi” azaltmaz; tam tersine, her çağrıda daha fazla token taşıyıp daha hızlı yedirebilir.
Topluluk tarafında da Opus 4.6 ile “quota çok hızlı tükeniyor” şikâyeti sık geçiyor; bu hem plan-haftalık tavanların doğasıyla hem de daha yüksek kabiliyet/çıktı eğilimiyle açıklanabilir.
Hızlı çözüm: bugün uygulayıp limit yemeyi azaltacağın adımlar
Plan ve faturalandırma tarafını düzeltmeden optimizasyon boşa gider
Birinci kontrol: Claude Code’u Pro/Max plan kotasıyla mı, yoksa yanlışlıkla API kredisiyle mi çalıştırıyorsun?
- Claude Code’da “API credits” seçeneği görüyorsan ve istemiyorsan: claude logout → claude login ve sadece Pro/Max kimliği ile giriş yap; Console kimliği ekleme. Bu, Claude Code’un plan kotasıyla çalışmasını “kilitler.”
- “Plan bitti, beklemek istemiyorum” diyorsan: Claude, ücretli planlarda limit dolduktan sonra extra usage ile “pay-as-you-go” devam etmeyi destekliyor; Usage ayarlarından açılıyor ve aylık harcama limiti koyabiliyorsun.
- Weekly limit gerçeği: Claude Code için haftalık rate limitler 2025’te devreye alındı; Pro ve Max düzeylerinde beklenen “yaklaşık saat” kapasiteleri basında paylaşıldı. Bu yüzden “bugün çok iyi gidiyordu, yarın daha erken kilitledi” durumu görülebilir.
İkinci kontrol: Bazı kullanıcılar CLI tarafında “limit” mesajının hatalı görünebildiğini, oturumu yeniden açınca düzeldiğini raporladı. Bu senaryoda “Usage” ekranı (Claude hesabı) gerçek durumu doğrulamak için önemlidir.
Kontrol listesi: “limit yemeden site geliştirme” standardı
Bu listeyi proje başlangıcında uygula; Claude Code ile web geliştirme işlerinde tüketimi görünür biçimde düşürür.
- Kontekst görünürlüğü aç
- /context ile kontekst kullanımını düzenli kontrol et.
- /statusline ile terminalin altına “model + context %” takibi koy (gözün sürekli üstünde olsun).
- Konu değişince temiz oturum
- Bir feature bittiğinde /clear ile yeni işe temiz başla.
- Uzun işlerde /compact <odak> kullan; Claude’a “neyi saklayıp neyi atacağını” söyle.
- Gereksiz dosyaları erişimden çıkar
- .claude/settings.json içinde permissions.deny ile node_modules/, dist/, build çıktıları, .env gibi alanları engelle. Bu, deprecated ignorePatterns’ın yerine geçer; ayrıca bu kalıplar dosya keşfi ve aramada da dışlanır.
- Tek seferde devasa istek atma
- “5 sayfayı birden oluştur” yerine: “1 sayfa → test → 1 sayfa” (küçük parçalar) çalış. Compaction/özetleme çağrıları da azalır.
- Tekrarlanan talimatı prompt’a gömme
- Tekrar eden altyapı kurallarını CLAUDE.md ve SKILL.md ile dışarı al (aşağıdaki şablonları kullan).
Opus 4.6 ve Opus serisinde limit aşımını önleyen disiplin
Model seçimi ve “effort” yönetimi: Opus’u her işe sürme
Opus sınıfı modeller daha yüksek kabiliyet sağlar ama genelde daha pahalı/yoğun tüketim eğilimindedir; Claude Code tarafında da Opus kullanım pencerelerinin ayrı ele alınabildiği (Opus-only weekly limit gibi) belirtiliyor.
Opus 4.6 için Claude Code ayarlarında “effort level” gibi bir kontrol bulunduğu; low/medium/high arasında seçimle “daha hızlı/ucuz vs daha derin” denge yapabileceğin dokümante ediliyor. “Web sitesi sayfası üretimi” gibi rutin işlerde effort’ı düşürmek çoğu zaman limit baskısını azaltır.
Pratik kural (Opus serisi için):
- Opus’u “mimarî karar, çok dosyalı kritik refactor, karmaşık debug” için ayır.
- Rutin CRUD, stil düzeni, küçük bileşen, basit test yazımı gibi işlerde daha hafif model seç. (Bu, Claude Code içinde model seçimi/konfig ile yürür.)
Konfigürasyonla kontekst şişmesini ve “gizli tüketimi” kes
Claude Code ayarlarında doğrudan tüketimi etkileyen birkaç kaldıraç var:
- Max output tokens: Varsayılan yüksek çıktılar, hem her çağrıda daha çok token üretir hem de otomatik compaction’ı daha erken tetikleyip “ek model çağrısı” oluşturabilir. Ayarlarda CLAUDE_CODE_MAX_OUTPUT_TOKENS ile kontrol edilebildiği belirtiliyor.
- Auto-compaction eşiği: CLAUDE_AUTOCOMPACT_PCT_OVERRIDE ile otomatik compact eşiğini yönetebiliyorsun; daha erken compact bazen kaliteyi korur ama daha sık “özet” üretip ek tüketim yaratabilir. Uzun görevlerde hedefli /compact çoğu zaman daha kontrollüdür.
- Tool Search / lazy-loading: Çok sayıda araç/MCP tanımı konteksti şişirebilir. Ayarlarda ENABLE_TOOL_SEARCH davranışının kontrol edildiği ve “auto threshold” gibi seçenekler olduğu görülüyor.
- Gereksiz dosyaları deny ile blokla: permissions.deny kalıpları, sadece güvenlik değil; dosya keşfi ve aramada dışlama nedeniyle token tüketiminde de etkilidir.
- SIMPLE mod (ileriye dönük çözüm): CLAUDE_CODE_SIMPLE=1 ile minimal sistem prompt + sınırlı araç seti (ve bazı eşleşen özellikleri kapatma) mümkün; bu, “mevcut kontekst overhead’ini” düşürmek için ekstrem ama işe yarar bir opsiyon olabilir.
Opus 4.6 özelinde “1M context” cazip görünür; ancak Claude Code dokümantasyonu, 200K üstüne çıkınca long-context pricing / ayrı rate limitler ve abonelik dışı “extra usage” faturalaması gibi mekaniklerden bahsediyor. Yani 1M context’i “limit çözümü” sanıp sürekli açık tutmak, bazı kullanıcılar için tam tersi etki yaratabilir.
Markdown dosyalarıyla kredi yakımını düşürme sistemi
CLAUDE.md: “Tek dosyada her şeyi yazma”, minimal çekirdek + import mantığı
Claude Code, proje kökünde (veya .claude/ altında) CLAUDE.md dosyasını oturum başında okur; ayrıca CLAUDE.md içinde @path/to/import ile ek dosyalar import edebilirsin. Bu, tekrar eden prompt metnini azaltmanın en temiz yoludur.
Ayrıca Claude Code, .claude/rules/ altında birden çok kural dosyasını otomatik yükleyebileceğini; YAML frontmatter ile path’e göre kural scope edebileceğini de dokümante ediyor. Böylece “her şeyi tek CLAUDE.md’ye yığmadan” yönetebilirsin.
Aşağıdaki örnekler “kredi yakımını düşürmek” için tasarlandı: kısa, net, tekrar metni azaltan ve Claude Code’un gereksiz yere repo’yu taramasını engelleyen bir çerçeve.
mdKopyala# CLAUDE.md (proje kökü) ## Amaç Bu repo, çok sayfalı bir web sitesi geliştiriyor. Hedef: hızlı teslim + düşük kredi tüketimi. ## Çalışma kuralı (kredi koruma) - Büyük işleri küçük parçalara böl: her adımda 1 sayfa / 1 modül / 1 bileşen. - Gereksiz geçmişi taşımak yok: konu değişince /clear kullan. - Her değişiklikte sadece ilgili dosyalara odaklan: “tüm repo” okuma isteği yok. - Çıktıyı gereksiz uzatma: sadece gereken kod + kısa doğrulama adımları üret. ## Komutlar - build: (buraya projenin gerçek komutu yazılacak) - test: (buraya projenin gerçek komutu yazılacak) - lint: (buraya projenin gerçek komutu yazılacak) ## Dosya haritası Proje genelini anlamak için: - @docs/PROJECT_MAP.md - @docs/ROUTES.md - @docs/COMPONENTS.mdmdKopyala# docs/PROJECT_MAP.md ## Klasörler - src/ -> uygulama kaynak kodu - src/pages/ -> sayfalar - src/components/ -> tekrar kullanılabilir bileşenler - src/api/ -> API istemcileri / servisler - public/ -> statik dosyalar ## Çalışma prensibi - Yeni özellik: önce kısa plan, sonra küçük patch, sonra test. - “Her şeyi tek seferde” değil: 20–40 dakikalık sprint parçaları.
Neden bu işe yarar? Çünkü Claude Code’un en pahalı hatası, her prompt’ta aynı “proje anlatımını” tekrar göndermektir. CLAUDE.md bunu kalıcı hale getirir; ayrıca @import ile proje haritasını ayrı tutup “çekirdeği” küçük bırakmanı sağlar.
SKILL.md: “Sürekli yüklenen bilgi” yerine “ihtiyaç anında çağrılan playbook”
Claude Code “skills” için açıkça şunu söylüyor: Bir skill, bir klasör + SKILL.md dosyasıdır; Claude bu talimatları toolkit’e ekler ve gerekirse otomatik kullanır veya /skill-name ile manuel çağırırsın.
Kredi/limit optimizasyonu açısından kritik detay: Skill frontmatter’ında disable-model-invocation: true yaparsan Claude’un bu skill’i otomatik devreye almasını engellersin; böylece “gereksiz yere” her prompt’ta yüklenme riski düşer ve sen sadece ihtiyaç olduğunda çağırırsın.
Aşağıdaki örnek, web sitesi geliştirirken en çok kredi yakan iki davranışı hedef alır: (1) plansız büyük istekler, (2) gereksiz uzun çıktı.
md kopyala--- name: ship-page description: Tek bir sayfayı küçük patch ile geliştir. Kullan: yeni sayfa, yeni section, refactor sonrası düzeltme. disable-model-invocation: true --- Amaç: $ARGUMENTS Kurallar: - Tek seferde yalnızca 1 sayfa/bölüm geliştir. - Gereksiz dosya okuma yok; önce dosya isimlerini doğrula, sonra sadece gerekli dosyaları oku. - Çıktı formatı: 1) Yapılan değişikliklerin özeti 2) Değişen dosyalar listesi 3) Test/çalıştırma adımları (kısa) 4) Bir sonraki küçük adım Uygulama: 1) Kısa plan (5–7 madde) 2) Küçük patch üret 3) İlgili test/komut önermd kopyala--- name: compact-focus description: Uzun oturumda /compact için odak metni üretir (kredi koruma amaçlı). disable-model-invocation: true --- Bu oturum için /compact odak metni üret: - Hangi dosyalar değişti? - Hangi kararlar alındı? - Bir sonraki adım nedir? - Hangi şeyleri “artık taşıma” (gereksiz konuşma, eski alternatifler)? Çıktı: Sadece tek satırlık /compact komutu.
Bu skill yaklaşımı, CLAUDE.md’nin “kalıcı onboarding” rolünü bozmadan; tekrar eden iş akışlarını “isteğe bağlı” hale getirir. Claude Code dokümantasyonu da skill’lerin “destekleyici dosyaları” skill klasöründe taşıyabildiğini söylüyor; bu da büyük referans dokümanlarını her seferinde kontekste sokmadan yönetmeni sağlar.
Yerel senaryo: Kuşadası’nda otel web sitesi geliştirirken limit yemeden ilerleme
Gerçekçi workflow: 1 günde 4 sayfa yerine, 1 günde 4 “tamamlanmış parça”
Diyelim ki Kuşadası merkezli bir otel sitesi geliştiriyorsun; hedefin hızlı yayın + rezervasyon dönüşümü. Sorun: Claude Code ile “4–5 sayfa” ilerledikten sonra You’ve hit your limit mesajı geliyor.
Bu senaryoda çözüm “daha fazla yazdırmak” değil; aynı çıktıyı daha küçük kontekstle almak:
- Projeyi açar açmaz: permissions.deny ile node_modules/, dist/, .env vb. alanları blokla. (Hem güvenlik hem token tasarrufu.)
- İlk 30 dakika: /statusline kur, ardından /context ile baseline’ı gör. Başlangıçta kontekst yüzdesi yüksekse (örn. %40+), bu “limiti kendin baştan yiyorsun” demektir.
- Her sayfa için 20–30 dakikalık sprint uygula:
- /ship-page ana sayfa hero + rezervasyon CTA
- test/preview
- bitince /clear
Bu, aynı gün içinde “daha çok sayfa” değil; “daha çok kapalı döngü” üretir.
Buradaki iş mantığı basit: Limit yediğin an üretim durur; duruş, doğrudan maliyettir. Claude Code’un maliyet/usage yaklaşımı token tüketimi ve çalışma paternine bağlıdır; kurallarını koymazsan “araç” seni yönetir.
ynsocial perspektifi: mesele “AI kullanmak” değil, maliyeti disipline etmek
ynsocial tarafında 14 yıllık yaklaşımımız “veri tekamüldür” ve ölçülebilir disiplin kurmaktır; yani kaynak (zaman, bütçe, kredi) kontrolsüz yanmasın.
Claude Code limit sorunu da aynı kategoriye girer: Üretim akışını sistemleştirirsen, aynı çıktıyı daha düşük krediyle alırsın. Bu yüzden biz içerik/teknoloji projelerinde sadece “kod üretimi” değil; süreç ölçümü ve otomasyon disiplinini birlikte ele alırız—örneğin Web Tasarım teslimini satış zincirine bağlarken, takip ve ölçüm tarafını CRM & Otomasyon ile standartlarız.
Bu rehberdeki CLAUDE.md + SKILL.md sistemi, Claude Code kullanımını “gelişi güzel sohbet” olmaktan çıkarıp yazılı playbook haline getirir; şirket açısından karşılığı nettir: daha az dur-kalk, daha az tekrar, daha az sürpriz limit.
Sık sorulan sorular ve FAQPage JSON-LD
SSS
Soru: “Web sitesi kodluyorum; 4–5 sayfa sonra Claude Pro olmasına rağmen ‘You’ve hit your limit’ diyor. Bu normal mi?”
Evet, normal olabilir. Claude Code planlarında kullanım bütçesi zaman pencereleri ve ek olarak haftalık tavanlar ile yönetiliyor; ayrıca kontekst şişerse aynı işi daha az “mesajla” değil, daha pahalı çağrılarla yaparsın. Önce “usage mı, API kredisi mi, length mi” ayrımını yap; sonra /clear, /context, permissions.deny, CLAUDE.md/skills ile tüketimi kontrol et.
Soru: “Claude Opus 4.6’da limit sorunu nasıl çözülür?”
Opus 4.6 tek başına “limit kaldırmaz.” Yapılacaklar: (1) model/effort ayarını rutinde düşür, (2) çıktıyı sınırlayıp gereksiz uzun yanıtları engelle, (3) konteksti /clear ve hedefli /compact ile yönet, (4) gerçek çözüm gerekiyorsa plan yükseltme veya extra usage açma seçeneklerini değerlendir. 1M context (beta) bazı senaryolarda mevcut olsa da 200K üstü long-context davranışı “extra usage / ayrı limitler” ile ilişkili olabilir; bu yüzden “sürekli açık tutmak” her kullanıcı için mantıklı değildir.
Soru: “Opus serisinde limit aşımı nasıl önlenir?”
Önleme, “daha az iş yapmak” değil; aynı işi daha iyi paketlemektir: CLAUDE.md ile tekrar eden bağlamı kalıcılaştır, SKILL.md ile workflow’u modülerleştir, permissions.deny ile gereksiz dizinleri kes, oturumu parçalara böl ve konu değişince /clear uygula.
Soru: “Limit dolunca beklemek istemiyorum; ne yapabilirim?”
Ücretli planlarda “extra usage” açarak, plan limitin dolduktan sonra standart API tüketim fiyatlarıyla çalışmaya devam edebilirsin; ayrıca aylık harcama limiti koyabilirsin. Bu yaklaşım “işi durdurmamak” için pratik; ama masrafı disipline etmek gerekir.
Soru: “Claude Code, API kredisi mi yiyor yoksa planımdan mı düşüyor?”
Claude Code, kullanıcıya “API credits” ile devam etme seçeneği sunabiliyor. Plan kotasıyla kalmak istiyorsan, login sürecinde Console kimliği eklememek ve gerekiyorsa claude logout/login ile sıfırlamak öneriliyor.
FAQPage JSON-LD
jsonKopyala{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Web sitesi kodluyorum; 4–5 sayfa sonra Claude Pro olmasına rağmen “You’ve hit your limit” diyor. Normal mi?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Evet, normal olabilir. Claude Code’da kullanım bütçesi zaman pencereleri ve haftalık tavanlarla yönetilir. Ayrıca kontekst şişmesi, aynı işi daha pahalı isteklerle yaptırarak limitin hızlı dolmasına neden olur. /context ile konteksti izle, konu değişince /clear kullan, permissions.deny ile gereksiz dizinleri kapat ve CLAUDE.md + SKILL.md ile tekrar eden talimatları dışarı al."
}
},
{
"@type": "Question",
"name": "Claude Opus 4.6’da limit sorunu nasıl çözülür?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Opus 4.6 tek başına limiti kaldırmaz. Tüketimi azaltmak için effort seviyesini düşür, çıktıyı sınırlı tut, oturumu /clear ve hedefli /compact ile yönet, gereksiz dizinleri deny ile kes. Sürekli çalışmak gerekiyorsa extra usage açarak pay-as-you-go devam edebilirsin; 200K üstü uzun bağlam kullanımının extra usage ve ayrı limitlerle ilişkili olabileceğini unutma."
}
},
{
"@type": "Question",
"name": "Claude Opus serisinde limit aşımı nasıl önlenir?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Önlemek için konteksti küçük tut (parçalara böl, /clear kullan), tekrar eden bilgiyi CLAUDE.md ile kalıcılaştır, workflow’u SKILL.md ile modüler yap, permissions.deny ile node_modules/dist gibi dizinleri kapat, statusline ile context yüzdesini görünür tut."
}
},
{
"@type": "Question",
"name": "Limit dolduktan sonra çalışmaya devam etmenin yolu var mı?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Evet. Ücretli planlarda extra usage özelliğini açarak plan limitin dolduktan sonra standart API oranlarıyla çalışmaya devam edebilirsin. Aylık harcama limiti belirleyerek maliyeti kontrol edebilirsin."
}
},
{
"@type": "Question",
"name": "Claude Code’un API kredisi kullanmasını nasıl engellerim?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Plan kotasıyla kalmak için Claude Code’da API kredisi seçeneğini reddet ve gerekirse claude logout ardından claude login yaparak yalnızca Pro/Max kimliğiyle giriş yap. Console (API) kimliği eklememek, API kredi kullanımını devre dışı bırakır."
}
}
]
}
Claude Code ile “kredi yakmadan” üretim akışı kurmak istiyorsan—permissions.deny + CLAUDE.md + SKILL.md tasarımı, Opus 4.6 effort/model konfigürasyonu ve web geliştirme sprint kurgusunu senin repo yapına göre kurup standardize edebiliriz. AI Agent ve CRM & Otomasyon süreçlerini de (müşteri talebi → takip → dönüşüm) aynı disiplinle bağlamak için ynsocial ile iletişime geç
lessons.md sayesinde hataların çözümünü hatırlayıp boşuna token tüketmez.
### 1. Plan Node Default - Enter plan mode for ANY non-trivial task (3+ steps or architectural decisions) - If something goes sideways, STOP and re-plan immediately - don't keep pushing - Use plan mode for verification steps, not just building - Write detailed specs upfront to reduce ambiguity --- ### 2. Subagent Strategy - Use subagents liberally to keep main context window clean - Offload research, exploration, and parallel analysis to subagents - For complex problems, throw more compute at it via subagents - One task per subagent for focused execution --- ### 3. Self-Improvement Loop - After ANY correction from the user: update `tasks/lessons.md` with the pattern - Write rules for yourself that prevent the same mistake - Ruthlessly iterate on these lessons until mistake rate drops - Review lessons at session start for relevant project --- ### 4. Verification Before Done - Never mark a task complete without proving it works - Diff behavior between main and your changes when relevant - Ask yourself: "Would a staff engineer approve this?" - Run tests, check logs, demonstrate correctness --- ### 5. Demand Elegance (Balanced) - For non-trivial changes: pause and ask "is there a more elegant way?" - If a fix feels hacky: "Knowing everything I know now, implement the elegant solution" - Skip this for simple, obvious fixes - don't over-engineer - Challenge your own work before presenting it --- ### 6. Autonomous Bug Fixing - When given a bug report: just fix it. Don't ask for hand-holding - Point at logs, errors, failing tests - then resolve them - Zero context switching required from the user - Go fix failing CI tests without being told how --- ## Task Management 1. **Plan First**: Write plan to `tasks/todo.md` with checkable items 2. **Verify Plan**: Check in before starting implementation 3. **Track Progress**: Mark items complete as you go 4. **Explain Changes**: High-level summary at each step 5. **Document Results**: Add review section to `tasks/todo.md` 6. **Capture Lessons**: Update `tasks/lessons.md` after corrections --- ## Core Principles - **Simplicity First**: Make every change as simple as possible. Impact minimal code - **No Laziness**: Find root causes. No temporary fixes. Senior developer standards