Bir skill, Claude'a "şu iş geldiğinde şöyle davran" demenin paketlenmiş halidir. Üç parçadan oluşur: frontmatter, tetikleyici açıklaması ve gövde. Bu rehberde her parçanın işini ve iyi bir SKILL.md'nin nasıl yazıldığını inceliyoruz.
Frontmatter: name ve description
Dosyanın başındaki --- blokları metadata taşır. En kritik iki alan name ve description'dır:
--- name: pr-ozet-botu description: PR diff'ini okuyup değişiklikleri Türkçe, maddeli bir özet olarak çıkarır. "pr özeti", "değişiklikleri anlat" dendiğinde kullan. allowed-tools: Read, Grep, Bash ---
name kebab-case, kısa ve benzersizdir. description ise skill'in beynidir: Claude bir skill'i ne zaman devreye alacağına büyük ölçüde bu metne bakarak karar verir.
allowed-tools: yetkiyi daralt
Bir skill'in ihtiyaç duymadığı araçlara erişmesine izin verme. Özet çıkaran bir skill'in dosya silmesi gerekmez. En az yetki ilkesi hem güvenlik hem de öngörülebilirlik sağlar.
Gövde: ne zaman, adımlar, kurallar
Frontmatter'dan sonrası skill'in asıl yönergesidir. İyi bir gövde üç başlıkla nettir:
# PR Özet Botu ## Ne zaman kullanılır Kullanıcı bir PR'ın diff'ini özetlemeni istediğinde. ## Adımlar 1. Diff'i oku (Bash: git diff). 2. Değişiklikleri mantıksal gruplara ayır. 3. Türkçe, maddeli bir özet döndür. ## Kurallar - Çıktı Türkçe ve maddeli olsun. - Kırılma ihtimali olan değişiklikleri ayrıca işaretle.
İyi bir skill'in işaretleri
- Tek iş: Bir skill bir şeyi iyi yapar; "her derde deva" skill kötü skill'dir.
- Net tetikleyici: Hangi cümlelerde devreye gireceği belirsiz değildir.
- Deterministik kurallar: Çıktı formatı ve sınırlar açıkça yazılıdır.
- Dar yetki: Yalnızca gerçekten gereken araçlara erişir.
Özet
SKILL.md'nin gücü sadeliğinde: doğru description ile Claude onu doğru anda çağırır, net bir gövdeyle de tutarlı davranır. Yazarken kendine tek soru sor — "Bu skill ne zaman devreye girmeli ve girince tam olarak ne yapmalı?" Bu iki sorunun cevabı netse, skill'in iyidir.