Kısa cevap: Claude Code'da verimi katlayan beş yapı taşı var: skills (tekrar eden işin paketlenmiş talimatı), hooks (olaylara bağlı otomatik komutlar), alt ajanlar (ayrı bağlamda paralel çalışan yardımcılar), MCP sunucuları (veritabanı, tarayıcı, API gibi dış sistemler) ve worktree (aynı projede izole paralel oturumlar). Hepsi düz metin dosyalarıyla tanımlanır ve git'e girer.
Yapı taşları haritası
| Yapı taşı | Nerede durur | Ne zaman |
|---|---|---|
| CLAUDE.md | Proje kökü, ~/.claude/ | Her projede; kurallar ve komutlar |
| Skill | .claude/skills/<ad>/SKILL.md | Aynı işi üçüncü kez tarif ettiğinizde |
| Hook | .claude/settings.json | Kural her seferinde uygulanmalıysa |
| Alt ajan | .claude/agents/<ad>.md | Paralel ya da geniş tarama işleri |
| MCP | .mcp.json, kullanıcı ayarı | Dış sistem erişimi gerekince |
| Worktree | Git, .claude/worktrees/ | Aynı anda birden fazla görev |
Skills: tekrar eden işi paketleyin
Bir skill, SKILL.md dosyasından ve isteğe bağlı yardımcı dosyalardan (betik, şablon, örnek) oluşan bir klasördür. Dosyanın başında ad ve açıklama bulunur; açıklama önemlidir çünkü Claude, göreviniz açıklamayla eşleşince skill'i kendisi devreye alır. /ad yazarak elle de çağırabilirsiniz.
.claude/skills/yeni-urun/
├── SKILL.md
├── sablon.blade.php
└── kontrol-listesi.md
---
name: yeni-urun
description: Kataloğa yeni ürün tipi eklerken migration, model, Filament kaynağı ve testleri birlikte oluşturur.
---
1. Önce `app/Models/Urun.php` ve mevcut bir Filament kaynağını oku.
2. Migration'ı `php artisan make:migration` ile oluştur, sıfırlama komutu kullanma.
3. ...
Kullanıcı kapsamındaki skill'ler ~/.claude/skills/ altında durur ve tüm projelerde geçerlidir. Ekip skill'leri projede durur ve git ile paylaşılır. İyi bir skill, "nasıl yapılır" bilgisinin yanında "ne yapılmaz" listesini de taşır.
Hooks: kuralı rica etmeyin, zorlayın
CLAUDE.md'ye yazdığınız kural bir ricadır; model çoğu zaman uyar ama her zaman değil. Hook ise koddur, her seferinde çalışır. Olaylar: PreToolUse (araç çağrısı öncesi, engelleyebilir), PostToolUse (sonrası), UserPromptSubmit, SessionStart, Stop ve diğerleri.
Her dosya düzenlemesinden sonra PHP formatlayıcısını çalıştıran örnek:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": "vendor/bin/pint --dirty" }
]
}
]
}
}
Tehlikeli komutu engelleyen bir PreToolUse kancası, çıkış kodu 2 ile dönerse çağrı iptal olur ve mesaj Claude'a iletilir. "migrate:fresh çalıştırma" kuralını böyle zorlayabilirsiniz. Ayrıntılar hooks belgesinde.
Alt ajanlar
Alt ajan, kendi sistem talimatı ve kendi bağlam penceresi olan bir Claude örneğidir. Ana oturum ona görev verir, sonucu özet olarak alır. İki tipik kullanım:
- Geniş tarama: "Projede izin kontrolü olmayan tüm controller metotlarını bul." Onlarca dosya ana konuşmayı şişirmez.
- Paralel iş: Birbirinden bağımsız üç modülün testlerini aynı anda yazdırmak.
.claude/agents/denetci.md gibi bir dosyayla özel alt ajan tanımlarsınız: hangi araçlara erişebilir, hangi modeli kullanır, görevi ne. Model adı yazarken tarihli sürüm yerine sonnet, opus gibi takma adları kullanın; sürüm değişince dosyanız bozulmaz.
Dikkat: alt ajan ucuz değildir. Üç tool çağrısıyla bitecek işi devretmek zaman ve bağlam kaybettirir. Bağımsız ve hacimli işlerde kullanın.
MCP sunucuları
Model Context Protocol, Claude Code'un dış sistemlerle konuşmasını standartlaştırır: veritabanı sorgusu, tarayıcı otomasyonu, Figma, GitHub, kendi iç API'niz. Sunucu eklemek için:
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
claude mcp add tarayici -- npx @playwright/mcp@latest
Proje kapsamındaki sunucular .mcp.json dosyasında durur ve ekip paylaşır. /mcp komutu bağlı sunucuları, araçlarını ve OAuth durumunu gösterir. Laravel geliştiricileri için Laravel Boost MCP sunucusu, veritabanı şeması ve belge aramasını doğrudan oturuma getirir.
Worktree ile paralel oturumlar
Aynı projede iki görevi aynı anda yürütmek isterseniz iki oturum aynı dosyaları ezer. Çözüm git worktree: her oturum deponun ayrı bir çalışma kopyasında, ayrı dalda çalışır.
claude --worktree odeme-iade
Masaüstü uygulamasında dal adının yanındaki worktree kutusunu işaretlemek yeter. Kopyalar .claude/worktrees/ altında tutulur; .env gibi gitignore'lanan dosyaları kopyaya taşımak için .worktreeinclude dosyası oluşturursunuz. İş bitince dalı ana dala birleştirir, worktree'yi silersiniz.
Headless ve CI kullanımı
Etkileşim olmadan tek komutla sonuç almak için -p (print) bayrağı kullanılır:
claude -p "Bu PR'daki değişiklikleri güvenlik açısından incele, bulguları madde madde yaz" --output-format json
GitHub Actions'ta kod incelemesi, otomatik changelog ya da kırmızı testi düzeltme senaryoları buradan kurulur. Kurumsal kullanımda managed settings ile izin modları ve sürüm aralığı merkezden zorlanır.
Bu yapı taşlarını rakip araçlarla karşılaştırmak için Claude Code, Codex ve Antigravity karşılaştırmasına bakabilirsiniz.
Sık Sorulan Sorular
Skill ile slash komutu arasındaki fark nedir?
İkisi de /ad ile çağrılır. Skill, SKILL.md dosyasıyla tanımlanan ve açıklamasına göre Claude'un kendiliğinden de devreye alabildiği talimat paketidir; yanına betik ve şablon dosyaları koyabilirsiniz. Eski tek dosyalık komutlar da skill olarak çalışır.
Hook (kanca) ne işe yarar?
Belirli olaylarda (araç çağrısı öncesi/sonrası, oturum başı, Claude durduğunda) sizin yazdığınız komutu çalıştırır. Örneğin her dosya düzenlemesinden sonra otomatik formatlayıcı koşturmak ya da yasaklı komutu engellemek için kullanılır.
Alt ajan (subagent) ne zaman kullanılır?
Birbirinden bağımsız ve paralel yürütülebilecek işlerde ya da ana konuşmayı şişirmeden geniş dosya taraması yapılacağında. Her alt ajanın kendi bağlamı vardır; sonucu özet olarak döner.
MCP sunucusu eklemek güvenli mi?
Sunucu kadar güvenlidir. Yalnızca güvendiğiniz kaynaklardan sunucu ekleyin, yazma yetkisi olanları projeye özel .mcp.json yerine kullanıcı kapsamında tutmayın ve OAuth destekleyenleri tercih edin.
Claude Code CI içinde çalışır mı?
Evet. "claude -p" ile etkileşimsiz (headless) modda çalışır, çıktıyı JSON olarak verebilir. GitHub Actions ve benzeri sistemlerde kod inceleme veya otomatik düzeltme için kullanılır.