Tüm Yazılar
KategoriAI
Okuma Süresi
15 dk
Yayın Tarihi
2026-03-12
Kelime Sayısı
3.313kelime

Kahveni hazırla - bu içerikli bir makale!

Claude Code'da Skill, Subagent, Hook, MCP: Hangisi Ne Zaman

Özet

Claude Code'da skill, subagent, hook ve MCP farkını karar ağacıyla açıklayan rehber: hangisi ne zaman doğru araç, gerçek yapılandırma örnekleriyle gösterir.

Claude Code'da Skill, Subagent, Hook, MCP: Hangisi Ne Zaman

Claude Code'da bir görevi otomatikleştirmek istediğinde dört farklı mekanizma karşına çıkar: hook, skill, subagent ve MCP. Hangisinin doğru araç olduğuna karar veremeden CLAUDE.md'ye talimat üstüne talimat ekleyen, ya da her tekrarlayan işi ayrı bir subagent'a devreden ekipler kısa sürede hem context şişmesiyle hem de öngörülemeyen davranışla karşılaşıyor. Bu yazı Claude Code skill subagent hook farkı sorusuna doğrudan bir karar çerçevesiyle cevap veriyor: her mekanizmanın ne zaman doğru araç olduğunu resmi dokümantasyondan alıntılarla ve gerçek yapılandırma örnekleriyle gösteriyor.

💡 Pro Tip: Bir kuralı zorlamak (enforce) istiyorsan hook, bir bilgiyi hatırlatmak istiyorsan skill kullan — ikisini karıştırmak ya modelin unutabileceği bir "kural" ya da her turda gereksiz yere yüklenen statik bir talimat üretir.

İçindekiler

Dört mekanizma tek cümlede

Dördünü aynı cümle kalıbıyla tanımlamak, aralarındaki farkı netleştirmenin en hızlı yolu.

Hook'lar kullanıcı tanımlı shell komutları, HTTP endpoint'leri, LLM prompt'ları veya subagent'lardır; oturumun belirli anlarında otomatik çalışırlar — dokümantasyonun ifadesiyle "execute automatically at specific points in Claude Code's lifecycle" (code.claude.com/docs/en/hooks). Yani hook, modelin "hatırlamasına" değil, sistemin zorlamasına dayanır.

Skill'ler bir SKILL.md dosyası olarak tanımlanır ve Claude'un araç setine eklenir; sen /skill-adı ile doğrudan da çağırabilirsin: "Create a SKILL.md file with instructions, and Claude adds it to its toolkit." Dokümantasyon çağırma biçimini ayrı bir cümleyle anlatıyor: "Claude uses skills when relevant, or you can invoke one directly with /skill-name" (code.claude.com/docs/en/skills). Skill'in gövdesi yalnız kullanıldığında yüklenir — CLAUDE.md'nin aksine, uzun referans materyali kullanılana kadar neredeyse hiç maliyet taşımaz: "a skill's body loads only when it's used, so long reference material costs almost nothing until you need it" (aynı kaynak).

Subagent, kendi context penceresinde çalışan ve yalnız özeti ana konuşmaya döndüren uzman bir asistandır; arama sonucu, log veya dosya içeriği gibi bir daha referans vermeyeceğin yan işler ana konuşmayı doldurmasın diye kullanılır: "Use one when a side task would flood your main conversation with search results, logs, or file contents you won't reference again" (code.claude.com/docs/en/sub-agents).

MCP (Model Context Protocol) ise harici araçlara, veritabanlarına ve API'lere bağlanmak için açık bir standarttır; issue tracker gibi bir araçtan sohbete veri kopyalamak yerine doğrudan bağlanmak istediğinde devreye girer: "MCP servers give Claude Code access to your tools, databases, and APIs... Connect a server when you find yourself copying data into chat from another tool" (code.claude.com/docs/en/mcp). MCP kavramını daha derin bir bakış açısıyla ele almak istersen Claude Code MCP: Model Context Protocol ile AI Plugin Ekosistemi yazısına bakabilirsin.

Mekanizma
Ne zaman çalışır
Neyi çözer
Kalıcılık
Hook
Belirli lifecycle noktasında otomatik
Deterministik zorlama
Ayar dosyasında sabit
Skill
İhtiyaç anında (talep üzerine)
Tekrarlayan prosedür/bilgi
Yalnız kullanıldığında yüklenir
Subagent
Delege edildiğinde, ayrı context'te
Ana context'i şişirmeyen yan iş
Görev bitince kapanır
MCP
Bağlı olduğu sürece
Dış sistem/canlı veri erişimi
Oturum boyunca aktif

Dördü birlikte nasıl çalışır

Tek bir workflow'da dört mekanizmanın hepsi aynı anda görev alabilir. Örneğin bir deploy akışında: MCP sunucusu issue tracker'dan hangi ticket'ın kapanacağını çeker, skill deploy checklist'inin adım sırasını hatırlatır, subagent build loglarını tarayıp yalnız hata özetini ana konuşmaya döndürür, hook ise deploy komutunun PreToolUse aşamasında production branch dışında çalıştırılmasını mekanik olarak engeller. Dört mekanizma birbirinin yerine geçmez; her biri zincirin farklı bir halkasını üstlenir. Bu yüzden "hangisini kullanmalıyım" sorusu çoğu zaman "hangisi mi" değil "bu işin hangi parçası hangisine düşüyor" sorusudur.

Karar ağacı: soru hangi kutuya düşüyor

Dört tanımı yan yana koyduğunda soru aslında basitleşiyor: "Bu ihtiyaç deterministik bir kural mı, tekrarlayan bir prosedür mü, context'i kirletecek bir yan iş mi, yoksa dış bir sisteme erişim mi?"

  • Kural zorlamak istiyorsan (ör. "commit mesajı asla belirli bir formatı bozmasın") → hook. Modelin hatırlamasına güvenme, sistemin bloklamasına güven.
  • Aynı talimatı/checklist'i sürekli chat'e yapıştırıyorsan → skill. Subagent oluşturma gerekçesiyle neredeyse birebir aynı mantık geçerli: "Define a custom subagent when you keep spawning the same kind of worker with the same instructions" (sub-agents); skill tarafında da "keep pasting the same instructions, checklist, or multi-step procedure into chat, or when a section of CLAUDE.md has grown into a procedure rather than a fact" cümlesi aynı sinyali işaret ediyor (skills).
  • Yan iş ana konuşmayı arama sonucu/log/dosya içeriğiyle dolduracaksa → subagent.
  • Dış sistemden canlı veri veya kimlik doğrulama gerekiyorsa → MCP.

Bu dört soruyu tek tek geçemeyen bir ihtiyaç genelde CLAUDE.md'de kalmaya devam etmeli — her şeyi mekanizmaya dönüştürmek, mekanizmaların kendisi kadar maliyetli olabilir. Mimari planlama aşamasında hangi mekanizmanın nereye oturacağına karar vermek istiyorsan Claude Code Plan Mode: AI ile Yazılım Mimarisi Planlama yazısı bu kararı erken aşamada netleştirmene yardımcı olur.

Hook ne zaman doğru araç — deterministik, geri-döndürülemez kural

Hook'lar üç kademede çalışır: oturum başına (SessionStart/SessionEnd), tur başına (UserPromptSubmit, Stop) ve her araç çağrısında, yani agentic loop'un içinde her seferinde (PreToolUse/PostToolUse): "per session... per turn... on every tool call inside the agentic loop" (hooks). Bu üç kademe, hook'u "ne zaman" sorusuna göre değil "hangi güvenilirlik seviyesinde" sorusuna göre seçmeni sağlar.

Kanonik örnek geri döndürülemez bir eylemi engellemektir. Dokümantasyondaki örnekte bir PreToolUse hook'u, komut içinde rm -rf geçen Bash çağrılarını permissionDecision: "deny" döndürerek bloklar: "returns a permissionDecision of \"deny\" if it contains rm -rf" (aynı kaynak). Bu, modelin "karar vermesine" bırakmadan mekanik olarak durdurmanın somut örneğidir:

json
1{
2 "hooks": {
3 "PreToolUse": [
4 {
5 "matcher": "Bash",
6 "hooks": [
7 {
8 "type": "command",
9 "command": "scripts/block-dangerous-rm.sh"
10 }
11 ]
12 }
13 ]
14 }
15}

Hook'u hangi dosyada tanımladığın kapsamını belirler ve paylaşılabilirlikleri farklıdır:

Seviye
Dosya
Paylaşım
Kullanıcı
~/.claude/settings.json
Paylaşılmaz, yalnız yerel makine
Proje
.claude/settings.json
Commit edilebilir, ekiple paylaşılır
Proje (yerel)
.claude/settings.local.json
Gitignore'lu, kişisel
Kurumsal
Yönetilen politika ayarları
Organizasyon çapında zorunlu
Plugin
hooks/hooks.json
Plugin etkinken, pluginle dağıtılır
Skill
SKILL.md frontmatter
Skill dosyasında tanımlı, onunla gider

Kaynak: ".claude/settings.json ... Single project ... Yes, can be committed to the repo" (hooks). Pre-commit/post-commit senaryosunun tam işlenişi için ayrı bir derinlemesine rehber zaten var: Claude Code Hooks: Pre-Commit ve Post-Commit Otomasyonu.

Matcher granülaritesi neden önemli

Hook'ları PreToolUse/PostToolUse seviyesinde tanımlarken matcher alanı hangi araç çağrılarının hook'u tetikleyeceğini belirler. Yukarıdaki örnekte matcher: "Bash" yalnız Bash aracını hedefliyor; bir hook'u gereğinden geniş bir matcher'a bağlamak (örneğin tüm araçları eşleştirmek) her araç çağrısında gereksiz bir komut çalıştırıp gecikme ekler, gereğinden dar bir matcher ise kuralın asıl korumak istediği senaryoyu kaçırabilir. Matcher'ı seçerken "bu kural hangi araç çağrısında geçerli" sorusunu net cevaplamak, hem performansı hem de güvenilirliği korur.

Skill ne zaman doğru — tekrarlayan bilgi, ihtiyaçta yüklenir

Skill'ler dosya konumuna göre kapsam kazanır. Kullanıcı-geneli skill'ler ~/.claude/skills/ altında tüm projelerinde çalışır; proje skill'leri .claude/skills/ altında commit edilir ve ekibine taşınır: "~/.claude/skills/<skill-name>/SKILL.md ... All your projects on this machine..." / ".claude/skills/<skill-name>/SKILL.md ... Sessions in this repository. Commit it so your team gets it too" (skills).

Basit bir SKILL.md iskeleti şöyle görünür:

markdown
1---
2description: Deploy öncesi kontrol listesini yürütür. Kullanıcı "deploy et" ya da "yayına al" dediğinde kullan.
3---
4 
5Deploy Checklist
6 
7Adımlar:
8 
91. Build doğrulaması
102. Health-check
113. Cache purge

Skill'ler Agent Skills adlı açık standardı takip eder; bu standart birden çok AI aracında ortak çalışır, Claude Code ise bunun üzerine invocation control, subagent içinde çalıştırma ve dinamik context enjeksiyonu gibi ek özellikler koyar: "Claude Code skills follow the Agent Skills open standard, which works across multiple AI tools. Claude Code extends the standard with additional features like invocation control... subagent execution... and dynamic context injection" (aynı kaynak). Bu, skill'i CLAUDE.md'nin "her zaman yüklü" doğasından ayıran temel mimari fark.

Invocation control ne demek

Invocation control, bir skill'in nasıl tetikleneceğini sen belirlersin demektir: Claude'un konuşma akışına göre kendi kararıyla devreye sokmasına izin verebilirsin, ya da skill'i yalnız /skill-adı komutuyla elle çağrılabilir hale getirebilirsin. İkinci mod, yanlışlıkla devreye giren bir skill'in beklenmedik bir prosedürü tetiklemesini önlemek istediğinde tercih edilir — özellikle deploy veya veri temizliği gibi sonuçları geri alınması zor prosedürlerde.

Subagent ne zaman doğru — uzun çıktı ana context'e girmesin

Subagent kullanmanın dokümantasyonda sayılan beş temel faydası var: context'i korumak, araç kısıtlamasıyla kuralları zorlamak, konfigürasyonu projeler arası yeniden kullanmak, odaklı sistem prompt'larıyla davranışı uzmanlaştırmak ve daha ucuz/hızlı modellere (örneğin Haiku) yönlendirerek maliyeti kontrol etmek: "Preserve context... Enforce constraints... Reuse configurations... Specialize behavior... Control costs by routing tasks to faster, cheaper models like Haiku" (sub-agents).

Claude, hangi subagent'a delege edeceğine karar verirken subagent'ın description alanına bakar. Bu açıklamalar context tüketir, bu yüzden kısa tutulmalı; detay yalnız o subagent çalışırken yüklenen sistem promptuna konmalı: "Claude uses each subagent's description to decide when to delegate tasks... Those descriptions take up context, so keep them short... move detail into each subagent's system prompt, which only loads when that subagent runs" (aynı kaynak).

markdown
1---
2name: log-triage
3description: Uzun log dosyalarını tarar, yalnız hata özetini döndürür.
4tools: Read, Grep
5model: haiku
6---
7 
8Sen bir log ayıklama uzmanısın. Yalnız hata satırlarının kısa özetini
9döndür; ham log içeriğini geri yazma.

Built-in General-purpose subagent, hem keşif hem eylem (kod değişikliği) gerektiren karmaşık çok adımlı görevler için seçilir: "Claude delegates to general-purpose when the task requires both exploration and modification, complex reasoning to interpret results, or multiple dependent steps" (aynı kaynak) — bu, "uzun çıktı ana context'e girmesin" ilkesinin somut uygulaması. Birden fazla subagent'ı paralel koordine etme senaryosunu ayrıca Claude Code Multi-Agent Teams: Paralel AI Agentlarla Geliştirme yazısında bulabilirsin.

Tools alanıyla kısıtlamak

Yukarıdaki log-triage örneğinde tools: Read, Grep satırı subagent'ın yalnız okuma ve arama yapabileceğini, dosya yazamayacağını veya komut çalıştıramayacağını belirtir. Bu, "Enforce constraints" faydasının somut karşılığıdır: bir subagent'ı belirli bir amaca kilitlemek istediğinde, ona hangi araçlara erişebileceğini açıkça sınırlamak, sistem promptuna "sakın dosya değiştirme" yazmaktan çok daha güvenilir bir garantidir — çünkü ikincisi bir talimat, birincisi bir kısıtlamadır.

MCP ne zaman doğru — dış sistem, canlı veri, kimlik doğrulama

MCP kullanım örnekleri dış sistem entegrasyonu etrafında toplanıyor: issue tracker'dan özellik implemente etmek, monitoring verisi analiz etmek, veritabanı sorgulamak; ayrıca bir MCP sunucusu dış olaylardan (örneğin Telegram/Discord/webhook) oturuma mesaj iten bir kanal olarak da çalışabilir: "Implement features from issue trackers... Analyze monitoring data... Query databases... an MCP server can also act as a channel that pushes messages into your session" (mcp).

MCP sunucuları dört bağlantı şekliyle kurulur: uzak HTTP (önerilen), uzak SSE (kullanımdan kaldırılmış — deprecated; yalnız hâlâ SSE sunan servisler için), yerel stdio (doğrudan sistem erişimi gerektiren araçlar için) ve uzak WebSocket (kalıcı çift yönlü bağlantı): "HTTP servers are the recommended option for connecting to remote MCP servers" / "The SSE (Server-Sent Events) transport is deprecated. Use HTTP servers instead, where available" / "Stdio servers run as local processes on your machine. They're ideal for tools that need direct system access" / "WebSocket servers hold a persistent bidirectional connection" (aynı kaynak).

json
1{
2 "mcpServers": {
3 "issue-tracker": {
4 "type": "http",
5 "url": "https://mcp.example.com/issues"
6 }
7 }
8}

Stdio sunucuları uzak bir uç nokta değil, senin makinende çalışan yerel süreçlerdir; dokümantasyonun tanımı şöyle: "Stdio servers run as local processes on your machine. They're ideal for tools that need direct system access or custom scripts" (aynı kaynak). MCP'nin plugin ekosistemiyle nasıl genişlediğine dair Claude Code MCP: Model Context Protocol ile AI Plugin Ekosistemi yazısına da bakabilirsin.

HTTP mi stdio mu

Uzak HTTP bağlantısı önerilen seçenektir çünkü kimlik doğrulama, versiyonlama ve paylaşılan altyapı yönetimi sunucu tarafında kalır; ekip üyeleri aynı MCP sunucusuna aynı yapılandırmayla bağlanır. Stdio ise doğrudan sisteme erişim gerektiren, dosya sistemine veya yerel bir araca bağımlı senaryolarda gereklidir — bu durumda sunucu Claude Code'un başlattığı bir yerel süreç olarak çalışır. İki bağlantı türünü karıştırmak (ör. yerel bir dosya sistemi aracını uzak HTTP üzerinden sunmaya çalışmak) gereksiz bir ağ katmanı ekler; doğru seçim, verinin nerede yaşadığına bağlıdır.

Seçimi yaptıktan sonra iki yapılandırma ayrıntısına dikkat et, çünkü ikisi de sessizce yanlış sonuç üretir. Birincisi, stdio sunucusunu komut satırından eklerken -- ayracı: dokümantasyon bunu ayrı bir uyarı olarak veriyor — "the -- (double dash) separates Claude's own options, such as --transport, --env, and --scope, from the command and arguments that run the server. Everything after -- is passed to the server untouched" (aynı kaynak). Ayracı unutursan sunucuya gitmesi gereken bayraklar Claude Code'un kendi seçeneği sanılır; koyarsan sonrasındaki her şey sunucuya olduğu gibi aktarılır.

İkincisi, .mcp.json içinde type alanını yazmayı atlamak. Claude Code type alanı bulunmayan bir girdiyi stdio sunucusu olarak okur; dolayısıyla uzak bir sunucu için yalnız url verip type yazmamak bir yapılandırma hatasıdır ve karşına command: expected string, received undefined çıktısı gelir (aynı kaynak). Hata metni komutla ilgili göründüğü için asıl sebebi (eksik type) bulmak vakit alır — yukarıdaki örnekteki gibi type alanını her zaman açıkça yaz.

Sık yapılan 5 yanlış eşleştirme ve düzeltmesi

  • Hook yerine skill kullanmak: "commit mesajı formatını her zaman zorla" bir kuraldır, bir prosedür değil — modelin "hatırlamasına" değil sistemin bloklamasına ihtiyacın var. Düzeltme: PreToolUse/PostToolUse hook'una taşı.
  • Skill yerine subagent kullanmak: basit, tekrar eden bir bilgi bir prosedürdür, ayrı bir context penceresi gerektirmez — skill'in gövdesi zaten yalnız kullanıldığında yüklenir. Düzeltme: SKILL.md'ye indir.
  • MCP yerine hook veya skill kullanmak: canlı, kimlik doğrulamalı dış veriye statik bir talimatla erişmeye çalışmak işe yaramaz — MCP tam olarak "database, an API" bağlantısı için var. Düzeltme: ilgili MCP sunucusunu bağla.
  • Subagent yerine ana konuşmada araştırma yapmak: uzun arama/log çıktısı ana context'i şişirir, sonraki turların kalitesini düşürür. Düzeltme: side task'ı subagent'a devret.
  • Her şeyi bir mekanizmaya dönüştürmek: dört sorudan hiçbirine net "evet" veremeyen bir ihtiyaç genelde CLAUDE.md'de bir cümle olarak kalmalı — mekanizma eklemek kendi başına bir maliyet.

ALTIN İPUCU

Bu yazının en değerli bilgisi

Bu ipucu, yazının en önemli çıkarımını içeriyor.

Easter Egg

Gizli bir bilgi buldun!

Bu bölümde gizli bir bilgi var. Keşfetmek ister misin?

Okuyucu Ödülü

Bu yazıdaki dört mekanizmayı kendi projene uygularken kullanabileceğin bir kontrol listesi aşağıda. Her satırı kendi CLAUDE.md'ndeki maddelerle eşleştirip hangisinin gerçekten hook, skill, subagent veya MCP olması gerektiğine karar ver.

SSS

Claude Code'da skill, subagent, hook ve MCP arasındaki fark nedir?

Hook belirli bir lifecycle anında otomatik çalışan ve deterministik olarak zorlanabilen bir mekanizmadır; skill ihtiyaç anında yüklenen, tekrarlayan bilgi veya prosedürü taşıyan bir dosyadır; subagent ayrı bir context penceresinde çalışıp yalnız özeti ana konuşmaya döndüren bir delegasyon birimidir; MCP ise dış araçlara, veritabanlarına ve API'lere bağlanmak için açık bir protokoldür. Dördü de farklı bir soruya cevap verir: hook "bu kural her zaman geçerli mi", skill "bu bilgiyi tekrar tekrar mı hatırlatıyorum", subagent "bu iş ana konuşmayı mı kirletecek", MCP "bu veri dışarıdan mı geliyor".

Kural zorlamak istiyorsam hook mu skill mi kullanmalıyım?

Hook kullan. Skill'in gövdesi yalnız Claude o skill'i "kullanmaya karar verdiğinde" yüklenir, yani modelin kararına bağlıdır; hook ise agentic loop içindeki belirli bir noktada (PreToolUse gibi) otomatik ve deterministik şekilde çalışır, modelin kararına ihtiyaç duymaz. Geri döndürülemez bir eylemi engellemek istiyorsan (dosya silme, tehlikeli komut) tek doğru araç hook'tur.

CLAUDE.md ne zaman yeterli, ne zaman skill'e geçmeliyim?

CLAUDE.md her oturumda tam olarak yüklenir, bu yüzden kısa ve her zaman geçerli genel talimatlar için uygundur. Bir bölüm çok satırlı bir prosedüre, checklist'e veya nadiren ihtiyaç duyulan referans materyaline dönüştüğünde skill'e taşı — skill'in gövdesi yalnız kullanıldığında yüklendiği için CLAUDE.md'nin aksine her turda maliyet taşımaz.

Kullanılmayan skill'ler ne kadar context yiyor?

Bir skill'in kısa açıklaması (frontmatter) Claude'un onu ne zaman devreye sokacağına karar verebilmesi için context'te sürekli durur; ancak asıl gövde yalnız skill kullanıldığında yüklenir. Yani "kullanılmayan" bir skill'in context maliyeti, gövdesi değil yalnızca kısa açıklamasıdır — ama çok sayıda skill birikince bu kısa açıklamaların toplamı da gözle görülür hale gelebilir.

Subagent kullanmak her zaman context tasarrufu mu sağlar?

Hayır, yalnız side task'ın çıktısı uzun ve tekrar referans verilmeyecekse tasarruf sağlar. Kısa, tek adımlık bir işi subagent'a devretmek fazladan bir delegasyon katmanı ve description maliyeti ekler; asıl fayda "search results, logs, or file contents you won't reference again" türü uzun çıktıları ana konuşmadan izole etmektir.

Güncelleme (Eylül 2026)

Bu yazının gövdesi 12 Mart 2026 itibarıyla var olan Claude Code davranışını anlatır. O tarihten sonra dört mekanizmayla ilgili doğrulanmış değişiklikler şunlar:

  • /skill-doctor komutu eklendi — yüklü ama kullanılmayan skill'leri ve her turda context'e eklenen yükü raporluyor; interaktif oturumda /plugin yöneticisinin "Stats" sekmesinden açılıyor. 31 Ağustos–4 Eylül 2026 haftasında yayınlandı (kaynak: code.claude.com/docs/en/whats-new/2026-w36).
  • Hook'lar MCP tool'larını doğrudan çağırabiliyor type: "mcp_tool" handler tipi 23 Nisan 2026'da v2.1.118 ile eklendi; yani hook handler'ı artık komut, HTTP endpoint, prompt ve subagent'a ek olarak bir MCP tool çağrısı da olabiliyor (kaynak: code.claude.com/docs/en/changelog).
  • Subagent'lar varsayılan olarak arka planda çalışmaya başladı — v2.1.198'den itibaren subagent çağrıları ana oturumu bloklamıyor (kaynak: code.claude.com/docs/en/whats-new/2026-w27).
  • CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH ortam değişkeni eklendi — MCP tool açıklamaları üzerindeki 2.048 karakterlik sabit kesim artık oturum bazında değiştirilebiliyor (kaynak: code.claude.com/docs/en/changelog).
  • Stdio MCP sunucuları CLAUDE_PROJECT_DIR almaya başladı — v2.1.139, 11 Mayıs 2026: "MCP stdio servers now receive CLAUDE_PROJECT_DIR in their environment, matching hooks." Yani stdio sunucusu proje köküne göre yol çözebiliyor; bu davranış gövdenin yazıldığı tarihte yoktu (kaynak: code.claude.com/docs/en/changelog).

Bu beş değişiklik, yazının karar çerçevesini değiştirmiyor; yalnız hook/skill/subagent/MCP'nin gözlemlenebilirliğini ve yapılandırma esnekliğini artırıyor.

Sonuç

Dört mekanizmayı ayıran tek bir soru var: bu ihtiyaç deterministik bir kural mı (hook), tekrarlayan bir bilgi mi (skill), context'i kirletecek bir yan iş mi (subagent), yoksa dış bir sisteme erişim mi (MCP)? Bu soruyu her yeni otomasyon ihtiyacında sorduğunda, CLAUDE.md'nin şişmesini ve yanlış mekanizma seçiminin getirdiği öngörülemezliği büyük ölçüde önlersin. Hook'ları derinlemesine incelemek için Claude Code Hooks: Pre-Commit ve Post-Commit Otomasyonu yazısına, MCP ekosistemi için Claude Code MCP: Model Context Protocol ile AI Plugin Ekosistemi yazısına, paralel subagent koordinasyonu için Claude Code Multi-Agent Teams: Paralel AI Agentlarla Geliştirme yazısına, planlama aşamasında mimari kararlar için Claude Code Plan Mode: AI ile Yazılım Mimarisi Planlama yazısına, IDE entegrasyonu bağlamında bu araçların nerede devreye girdiğini görmek için de Claude Code IDE Entegrasyonu: VS Code, JetBrains ve Terminal yazısına göz atabilirsin.

Kaynaklar

Etiketler

#Claude Code#skill#subagent#hooks#MCP#AI agent#otomasyon
Muhittin Çamdalı

Muhittin Çamdalı

Lead Mobile Engineer

12+ yıllık deneyime sahip Lead Mobile Engineer. Swift, SwiftUI, Kotlin ve Flutter ile iOS, Android ve cross-platform mimarilerde uzman. Performanslı ve kullanıcı dostu mobil uygulamalar geliştiriyorum.

iOS Geliştirme Haberleri

Haftalık Swift tips, SwiftUI tricks ve iOS best practices. Spam yok, sadece değerli içerik.

Gizliliğinize saygı duyuyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz.

Paylaş

İlgili İçerik