SKILL.md dosyası nedir
SKILL.md, bir yapay zekâ asistanının işe koyulmadan önce okuduğu talimatı içeren düz metin dosyasıdır. Program değil, eklenti de değil: belirli bir iş türünün nasıl yapılacağını anlatan sıradan markdown — önce neyin kontrol edileceği, hangi sırayla düşünüleceği, sonucun hangi biçimde verileceği, asla ne yapılmayacağı. Dosya bir depoda durur, asistan onu alır ve o andan itibaren iş, modelin doğaçlamasına göre değil, yazıldığı gibi yapılır.
Biçim 2025'in sonunda ortaya çıktı ve birkaç ay içinde yaygınlaştı: Claude, Codex, Copilot, Cursor, Gemini CLI ve onlarca araç onu okuyor, açık dizinler ise yetenekleri artık yüz binlerle sayıyor. Buna rağmen belgelerin neredeyse tamamı, terminali, deposu ve çalışan bir kod ajanı olan biri için yazılmış — konunun hâlâ geliştirici işi gibi görünmesinin tek sebebi bu.
Dosyanın kendisi basittir. Üç tireden oluşan bir satırla ayrılmış iki bölüm.
| Bölüm | İçinde ne var | Zorunlu mu |
|---|---|---|
| Frontmatter | Dosyanın en başında --- işaretleri arasındaki blok.
name kısa ad, description ise yeteneğin ne zaman
geçerli olduğunu anlatan tek cümle |
Evet. name yoksa bu bir yetenek değildir |
| Gövde | Kapanış --- işaretinden sonra gelen her şey: düz anlatımla
talimat, listeler, örnekler ve yasaklar |
Evet. Boş gövde de yetenek sayılmaz |
| Komşu dosyalar | Aynı klasördeki betikler, şablonlar ve örnekler. Bazı ajanlar bunları çalıştırabilir | Hayır. Yeteneklerin çoğu tek dosyadır |
İşte gerçekçi büyüklükte, eksiksiz bir yetenek. Bir satış görüşmesinin kaydının nasıl inceleneceğini anlatıyor: neye bakılacak, hangi sırayla ve ne uydurulmayacak.
--- name: sales-call-review description: Satış görüşmesi incelemesi — itirazlar, sinyaller, sonraki adım --- # Satış görüşmesi incelemesi Potansiyel bir müşteriyle yapılan görüşmenin dökümünü inceliyorsun. ## İş sırası 1. İtirazları BİREBİR, tırnak içinde yaz. Başka sözcüklerle anlatma: itirazın tam ifadesi verinin kendisidir. 2. Her itiraz için yanıt verilip verilmediğini ve yanıtın kabul edilip edilmediğini belirt. Sessizlik kabul değildir. 3. Bütçe, zamanlama ve kararı kimin verdiğine dair sinyalleri ara. Bir sinyal geçmediyse aynen böyle yaz: «dile getirilmedi». 4. Sonraki adımı tanımla: tam olarak ne, kim yapacak, ne zamana kadar. ## Çıktı biçimi Yukarıdaki sırayla dört bölüm. İçlerinde kısa maddeler, giriş paragrafı olmadan. İtirazlar tırnak içinde alıntı olarak. ## Ne yapılmamalı - Niyet atfetme: yalnızca gerçekten söylenenler. - Anlaşma olasılığını yüzdeyle tahmin etme — bunun için veri yok. - Fiyat hiç sorulmadıysa sonraki adım olarak indirim önerme.
Dosyada olmayanlara dikkat edin: kod yok, yapılandırma yok, API anahtarı yok, kurulum komutu yok. Yetenek, yazıya dökülmüş deneyimdir; yazılım değil. Tam da bu yüzden onu hiç terminal açmamış biri yazabilir — ve tam da bu yüzden kurulumunun hâlâ terminal istemesi tuhaftır.
Yetenek, araç ve prompt: hangisi neyi yapar
Farklı sorunları çözmelerine rağmen sürekli karıştırılan üç kavram. Ayrım göründüğünden basit: prompt rolü belirler, yetenek yöntemi belirler, MCP erişimi sağlar.
| Şu soruya yanıt verir | Örnek | Ne zaman gerekir | |
|---|---|---|---|
| Prompt | Kimsin ve kiminle konuşuyorsun | «Müzakerelerde yardımcı oluyorsun; kısa ve Türkçe yanıt ver» | Her zaman. Geri kalan her şeyin üzerine oturduğu temel |
| Yetenek (SKILL.md) | Bu tür bir iş nasıl yapılır | «İtirazlar birebir; sonraki adım tarih ve sorumluyla» | Bir işin doğru bir sırası varsa ve onu tekrarlamaktan yorulduysanız |
| MCP sunucusu | Veriler nereden gelir ve neye etki edilir | Görev yöneticisine, takvime, belge arşivine erişim | İçeriden bilgi değil, dışarıdan canlı veri gerektiğinde |
Pratik sonuç: asistan konu dışı yanıt veriyorsa yeteneğe ihtiyacınız var. Doğru yanıt veriyor ama olguları bilmiyorsa MCP'ye. Hiçbir yetenek veri getirmez, hiçbir MCP sunucusu da yöntem öğretmez. İşlerin çoğu yeteneği ister: yöntemler verilerden çok daha yavaş eskir ve bir kez yazmak yeter.
«Terminalsiz» neden genelde başka bir şey demek
«Yetenek terminalsiz nasıl kurulur» sık sorulan bir soru ve arama sonuçları da yanıtlıyor. Yalnız başka bir soruyu yanıtlıyorlar.
«Yetenekleri terminalsiz kurun: bir tık, dosya olması gereken yere düşsün»
Kurulu bir kod ajanı, bir ~/.claude/skills klasörü, ajanın
yeniden başlatılması ve yüklendiğini /skills ile doğrulamak
Yetenek biçimi geliştirici araçlarının içinden doğdu ve kurulum modeli de oradan geldi: yetenek, kendi makinenizde doğru klasöre koyduğunuz bir dosyadır. «Terminalsiz» kurulum vaat eden uygulamalar tam olarak dosyanın yerleştirilmesini otomatikleştirir — ama onu okuyacak ajanı yine siz kurar ve çalıştırırsınız. Terminal kaybolur, kod ajanı kaybolmaz. Bir yeteneği toplantılara, belgelere ya da yazışmalara uygulamak isteyen biri için bu, «biraz daha zahmetli» ile «hiç mümkün değil» arasındaki farktır.
Buradan kurulum seçerken daha iyi bir ölçüt çıkıyor: «terminal gerekiyor mu» diye değil, «bilgisayarımda bir ajan daha çalıştırmam gerekiyor mu» diye sorun. Yanıt evetse, yükleyici ne kadar zarif olursa olsun yetenekler geliştirici aracı olarak kalır.
Terminalsiz ve kod ajanı olmadan kurmak
Whisperer, SKILL.md dosyasını doğrudan okur ve asistanın yanıtlarına uygular. Kurulacak bir şey yok: dosya bilgisayarınıza hiç ulaşmaz, klasör yoktur, yeniden başlatılacak bir şey de. İki kaynak desteklenir: ortak bir dizin ve herhangi bir herkese açık GitHub deposu.
«Başkaları ne yazmış bir bakayım» yolu. Arama, açık depolardan derlenen ortak bir yetenek dizini olan skills.sh üzerinde çalışır.
1. Web paneli → Promptlar → «Yetenekler» düğmesi 2. «Hazır» sekmesi → bir sorgu yazın: system design, code review, sales, writing… 3. Liste; adı, kaynak depoyu ve kurulum sayısını gösterir. Frontmatter açıklamasını okumak için birine tıklayın 4. «Kur» — yetenek kitaplığınıza girer 5. Bir prompt açın → «Bağla» → yeteneği seçin
Dördüncü adımdan sonra hiçbir şey değişmez: kurmak, yeteneği kitaplığa koyar ve hiçbir yanıta dokunmaz. Ancak beşinci adımda, belirli bir prompta bağlandığında çalışmaya başlar. Bu ayrım bilinçlidir: çalışan bir yapılandırmayı bozma riski olmadan gezinip biriktirmenizi sağlar.
«Kendi yeteneğim var» ya da «GitHub'da buldum» yolu. Depo herkese açık olmalı; özel depolara erişemeyiz.
1. Web paneli → Promptlar → «Yetenekler» → «Kendi deponuz» sekmesi 2. Şu biçimlerden herhangi birini yapıştırın: owner/repo https://github.com/owner/repo https://github.com/owner/repo/tree/main/skills/sales-review https://github.com/owner/repo/blob/main/skills/sales-review/SKILL.md 3. «Yetenekleri bul» — depoyu dolaşır ve içindeki her SKILL.md dosyasını açıklamasıyla listeleriz. Belirli bir klasörün bağlantısını yapıştırdıysanız o yetenek en üstte görünür 4. İstediğinizde «Kur» → ardından bir prompta bağlayın
Kendi yeteneğiniz, tarayıcıda on dakikada yazılmış bir dosya olabilir:
GitHub'ın web arayüzünden depo oluşturun, «Add file» düğmesiyle
SKILL.md ekleyin, metni yapıştırın. Hiçbir aşamada terminal
gerekmez — ne yeteneği yazarken ne de bağlarken.
Yetenek kitaplığı hesap başınadır, en fazla 20 tane. Tek bir prompta en fazla üç yetenek bağlanabilir. Bu sınır bürokrasi değil: bağlı her yeteneğin gövdesi, o rolün her isteğinde modele gider ve üç ayrıntılı talimat, işin kendisini dışarı itecek kadar yer kaplar.
Bir yetenek gerçekte neye uygulanır
Yetenek «asistana» değil, belirli bir rolün promptuna bağlanır. Rol bir çalışma alanıdır: soruları yanıtlamak, kod okumak, görsel okumak, sistem tasarlamak. Bir yeteneği bir role bağlayın, o rolün çalıştığı her yerde onu bulursunuz.
| Rol | Nerede görürsünüz | Buraya yakışan yetenekler |
|---|---|---|
responses |
Görüşme sırasındaki öneriler, asistan sohbetindeki yanıtlar | İtirazları karşılama, müşteriye yanıtın yapısı, yazışma tonu |
coding |
Kod açıklamaları ve parçacıklar | Kod inceleme kontrol listeniz, ekibinizin kuralları |
vision |
Ekran görüntüsü ve görsel çözümleme | Panonuz nasıl okunur, arayüz taslağında neye bakılır |
system_design |
Şemalı, yapılandırılmış yanıtlar | Mimari incelemenin sırası, zorunlu bölümler |
generation |
Toplantı haritası, düğüm üretimi | Neyin karar, neyin tartışma sayılacağı |
transcription |
Konuşma tanıma | Alan terimlerinizin ve özel adların sözlüğü |
Bağlamanın iki kipi var ve aradaki fark, adların düşündürdüğünden ağır basıyor.
«Genişletir» — yetenek prompt metnine eklenir. Prompt rolü ve tonu belirlemeyi sürdürür, yetenek yöntemi keskinleştirir. On seferin dokuzunda doğru kip budur.
«Değiştirir» — yetenek prompt metnini tümüyle dışarı iter ve modele tek başına gider. Rolü, işleyişi ve çıktı biçimini zaten tanımlayan, kendi kendine yeten bir yetenek içindir; orada kendi promptunuz yalnızca engel olurdu. İki yetenek bağlar ve biri «Değiştirir» kipindeyse önce o gider, «Genişletir» olanlar ardından onu ayrıntılandırır.
Kurulumdan sonra yeteneğe ne olur
İşleyen bir kurulumu tatsız sürprizler kaynağından ayıran ayrıntı burada. Yetenek bir commit'e sabitlenir. Kurulum sırasında dosyanın tam olarak hangi sürümünü aldığımızı kaydeder ve onu kullanmayı sürdürürüz.
Yazar dosyayı gece yeniden yazar. Sabah asistanınız dünkünden farklı yanıt verir. Siz hiçbir şey değiştirmediniz ve neye bakacağınızı bilmiyorsunuz
Sürüm dondurulur. Güncelleme elle yapılır — «Depodan güncelle» düğmesi — ve yalnızca siz istediğinizde
Başkasının deposundan gelen yetenek, sizin yanıtlarınızı etkileyen başkasının metnidir. Otomatik güncelleme, yazarının asistanınızın davranışını haberiniz olmadan istediği an değiştirebilmesi demek olurdu; siz de bunu en olmadık anda tuhaf bir yanıttan öğrenirdiniz. Tedarik zinciri saldırılarının mekanizması tam olarak budur: yetenek zararsız yayımlanır, kurulum toplar, kötücül davranış sonra eklenir. Commit'e sabitlemek bu kapıyı kapatır: davranışın değişmesi için birinin düğmeye basması gerekir.
«Depodan güncelle» dosyayı yeniden okur, yeni sürümü gösterir ve yeteneği güncel commit'e yeniden sabitler. Yeteneği kitaplıktan silmek, tüm bağlantılarını da kaldırır — ayrıca temizlenecek bir şey kalmaz.
Başlamak için üç yetenek
Seçim kuralı: bir yetenek, aynı şeyi zaten üç kez anlattığınız yerde kendini amorti eder. Bir talimatı her konuşmada tekrarlıyorsanız adaydır. Üç ayda bir gerekiyorsa elle yazmak daha ucuza gelir.
1. Alan sözlüğünüz
En hafife alınanı ve en hızlı yazılanı. Ürün adlarınız, şirket içi kısaltmalar, meslektaşların soyadları, müşteri adları — modelin ilk kez duyduğu ve bozduğu her şey. Beş dakikalık iş, her görüşmede görünür etki.
--- name: our-glossary description: Şirketimizde kullanılan terimler, ürünler ve adlar --- # Sözlüğümüz Bu sözcükler sürekli geçiyor. Tam olarak böyle yaz. ## Ürünler - [Ad] — [tek cümleyle ne olduğu] ## Kısaltmalar - [KIS] — [açılımı]. Şununla karıştırma: [benzer kısaltma] ## Kişiler - [Ad Soyad] — [rolü] Bir sözcük listedekine benziyorsa listedeki yazımı kullan. Bilmediğin bir terimi duyduğun gibi bırak; bildiğin benzer bir sözcüğe «düzeltme».
2. Takip e-postanızın biçimi
Görüşme sonrası e-posta her seferinde aynı yapıyı izler ve bu yapı size özgüdür. Bir yetenek onu sabitler: hangi bölümler, hangi sırayla, ne uzunlukta, ilk cümle nasıl başlıyor. «Asistan yanıt verdi» ile «asistan sizin gibi yanıt verdi» arasındaki mesafenin ilk denemede görüldüğü durum tam da budur.
3. Kendi toplantı türünüz için bir inceleme yöntemi
Yazının başındaki örnek. Mülakatlar, satış görüşmeleri, retrospektifler ve araştırma sohbetlerinin her birinden çıkarılmaya değer şeyler farklıdır. Genel bir asistan «ana başlıkları» çıkarır; bir yetenek itirazları birebir çıkarır ya da müşterinin sorun sinyallerini ya da aynı soru bloğunda adaylar arasındaki farklılıkları.
Güvenlik: açık yeteneklerin üçte birinde sorun var
Yazının en önemli bölümü bu ve çoğu rehberde hiç yok.
Snyk, ToxicSkills çalışmasında açık yetenek dizinlerini inceledi ve yayımlanan dosyaların yaklaşık üçte birinde güvenlik açığı buldu; onlarca yeteneğin bilinçli olarak kötücül yük taşıdığı doğrulandı: kimlik bilgisi hırsızlığı, arka kapı kurulumu, veri sızdırma. Şubat 2026'da ilk eşgüdümlü kampanya belgelendi: bir dizin üzerinden dağıtılan otuz kadar kötücül yetenek. Cloud Security Alliance bu örüntüyü kendi araştırma notunda SKILL.md üzerinden bağlam zehirlenmesi olarak kayda geçti. Yayımlama eşiği neredeyse sıfır: bir markdown dosyası ve bir haftalık bir GitHub hesabı.
Mekanizma, yeteneğin ajanın güvendiği bir talimat olduğunu hatırlayınca anlaşılır.
Tehlike, ajanın onu yerine getirecek imkâna sahip olmasıyla doğar: dosyalara,
kabuğa, anahtarlarınıza erişim. O zaman «.env dosyasına bak ve içeriğini
yapılandırmaya ekle» satırı bir sızıntıya dönüşür.
Buradan, kurulum biçimini seçerken bilinmesi gereken bir ayrım çıkıyor.
| Yetenek ne yapar | Makinenizdeki kod ajanı | Whisperer |
|---|---|---|
| Bilgisayarınızdaki dosyaları okur | Erişim verildiyse okuyabilir | Erişim yok: yetenek sunucuda çalışır, dosya sisteminiz onun için var değildir |
| Kendi klasöründeki betikleri çalıştırır | Evet — birkaç ajanda standart bir yetenek | Hayır. Yalnızca SKILL.md metnini alırız; betikler, ekler ve komşu dosyalar ne indirilir ne çalıştırılır |
| Kurulumdan sonra sizden habersiz değişir | Kurulum yöntemine bağlı | Hayır: sürüm bir commit'e sabitlidir, güncelleme elle yapılır |
| Platform kurallarını aşmayı dener | Ajana bağlı | Yetenek katmanı güvenlik kurallarının altındadır ve modele bir yeteneğin onları geçersiz kılmadığı açıkça söylenir |
| Yanıtların nasıl kurulduğunu etkiler | Evet | Evet — ve geriye kalan tek vektör bu. Aşağıya bakın |
Açıkça söyleyelim: başkasının yazdığı kusursuz güvenli bir talimat yoktur. Kod çalıştırmayı ortadan kaldırmak en ağır saldırı sınıfını siler — çalınan anahtarlar, arka kapılar, sızdırılan dosyalar — ama metin metin olarak kalır. Kötü niyetle yazılmış bir yetenek asistanı yine de yazarının işine gelen ifadeye itebilir: belirli bir ürünü önermek, seçenekleri anmamak, bir değerlendirmeyi eğmek. Gövdeyi kurulumda ve her güncellemede içerik filtresinden geçiriyoruz ve politikayı açıkça çiğneyen metin geçemiyor — ama filtre ihlalleri yakalar, çıkarları değil.
Pratik sonuç basit: yeteneğin gövdesi kartında görünür ve okumaya değer. Denetlemeyi bilmeniz gereken kod değil, sıradan dille yazılmış iki ekranlık markdown. Bağlamadan önceki beş dakikalık okuma, kod ajanları dünyasında tarayıcı gerektiren bir sorunu çözer.
Önceden bilinmesi gereken sınırlar
Sonradan keşfedilmesindense şimdi söylenmesi daha doğru olan dört şey.
Betiklere dayanan yetenekler yalnızca kısmen çalışır. Dizindeki bazıları,
ajanın yanlarında gelen kodu çalıştıracağını varsayar. Burada yalnızca metin
çalışır. Talimat kendi başına ayakta duruyorsa yetenek tam çalışır; «analyze.py
dosyasını çalıştır»a indirgeniyorsa hiç çalışmaz. Bunu kurulumdan önce anlayabilirsiniz:
açıklama ve gövde önizlemede görünür.
Gövde 24 000 karakterle sınırlıdır. Yaklaşık on sayfa — makul her yeteneğin ihtiyacından fazlası. Daha uzun bir dosya kırpılarak bağlanır ve bu size sessizce değil, açıkça bildirilir.
Yetenek her zaman promptun içindedir, istek üzerine yüklenmez. Bazı kod ajanları gövdeyi ancak işi uygun bulduklarında çeker. Burada bağlı bir yetenek, o rolün her isteğinde modele gider. Bu daha öngörülebilirdir — ihtiyaç duyduğunuzda devreye girmemezlik edemez — ve prompt başına üç sınırının da sebebidir.
Özel depolar desteklenmez. GitHub'a kimlik bilgileriniz olmadan gideriz, dolayısıyla yalnızca herkese açık olanı görürüz. Özel bir depoyla var olmayan bir depo bizim için aynıdır: ikisi de «bulunamadı» yanıtı verir.
Aramak, kitaplığınıza kurmak ve promptlara bağlamak ücretsiz dahil her pakette çalışır: yapılandırmayı kurup nelerin olduğunu görmek hiçbir şeye mal olmaz. Bağlı bir yetenek, modelin yanıtlarını ücretli abonelikte, Start paketinden itibaren etkilemeye başlar.
Başkasının yeteneğini bağlamadan önce kontrol listesi
Sık sorulan sorular
Yetenek yazmak için programlama bilmek gerekir mi?
Hayır. Yetenek, sıradan dille yazılmış metindir: ne yapılacak, hangi sırayla, neden kaçınılacak. Tek teknik gereklilik dosyanın başındaki dört satırlık frontmatter'dır ve yukarıdaki örnekten kopyalanabilir. GitHub deposu web arayüzünden oluşturulur, dosya bir düğmeyle eklenir.
Yetenekle sistem promptu arasındaki fark nedir?
Prompt kimin hangi tonda yanıt verdiğini anlatır; yetenek ise bir iş türünün nasıl yapıldığını. Pratik fark yeniden kullanımdadır: prompt kişiseldir, yetenek ise bir kez yazılır ve aynı işi yapan herkese uyar. Bu yüzden yetenekler paylaşılır, promptlar neredeyse hiç.
Yetenek mi, MCP mi?
Bunlar alternatif değil. Yetenek yöntemi getirir, MCP veriyi ve eylemi getirir. Asistan konu dışı yanıt veriyorsa yeteneğe ihtiyacınız var; iyi yanıt veriyor ama olguları bilmiyorsa MCP'ye. Çoğu zaman ikisi de gerekir: MCP görev yöneticisinden veriyi getirir, yetenek onunla nasıl çalışılacağını anlatır.
Bir yetenek birden çok prompta bağlanabilir mi?
Evet. Kitaplık ortaktır ve bağlantı sayısı sınırsızdır. Yetenek bir kez saklanır ve bağlandığı her yerde çalışır.
Yazar yeteneği depoda değiştirirse ne olur?
Hiçbir şey. Kopyanız alındığı commit'te dondurulmuştur. Değişiklikler yalnızca «Depodan güncelle» düğmesine bastığınızda gelir — ve o zaman yeni gövde yeniden içerik filtresinden geçer.
Arama neden bazen hiçbir şey döndürmüyor?
İki sebep. Dizin geçici olarak erişilemez olabilir; o durumda liste boş kalır ama kendi deponuzu bağlamak çalışmayı sürdürür. Ya da GitHub bizi kısıtlıyordur: token olmadan sınır tüm servis için sayılır ve böyle anlarda birkaç dakika beklemek, boş sonucu «yetenek yok» diye sunmaktan daha dürüsttür.
Claude Code ya da Cursor için yazılmış yetenekler burada çalışır mı?
Evet, talimat kendi başına ayakta durduğu sürece: biçim aynıdır ve metin aynı okunur. Aktarılamayan şey, dosya sistemi, kabuk ya da betik çalıştırma varsayan kısımdır — toplantılarınızla çalışan bir asistanda bunların hiçbiri yoktur, tasarım gereği.
Nereden başlamalı
Yeteneklerin size uygun olup olmadığını anlamanın en hızlı yolu: asistana arka arkaya birkaç kez verdiğiniz bir talimatı alın ve yetenek olarak kaydedin. Dosya için beş dakika, bağlamak için bir. Sonuç hemen okunur: yanıtlar kastettiğinize yaklaştıysa, kendinizi tekrarlamayı yeni bıraktınız. Yaklaşmadıysa, talimat yöntemle değil veriyle ilgiliydi ve yanıt başka bir araçtır.
Yetenek kitaplığı web panelinde, Promptlar bölümünde. Promptların ve rollerin nasıl çalıştığı Prompt Studio rehberinde, hangi modelin hangi role baktığı ise model rolleri başvurusunda.