Claude'un yeteneklerini özel bilgi, iş akışları veya tool entegrasyonlarıyla genişleten yeni bir skill oluşturmak (veya mevcut bir skill'i güncellemek) için rehber. Bu skill, kullanıcılar Claude'a yeni özellikler eklemek istediklerinde kullanılmalıdır.
cd ~/.claude/skills
git clone https://github.com/smartnews/claude-skills.git claude-skills mkdir -p ~/.claude/skills/skill-creator
curl -fsSL https://raw.githubusercontent.com/smartnews/claude-skills/HEAD/skill-creator/SKILL.md \
-o ~/.claude/skills/skill-creator/SKILL.md Bu beceri, etkili beceriler oluşturmak için rehberlik sağlar.
Beceriler, Claude'un yeteneklerini uzmanlaştırılmış bilgi, iş akışları ve araçlar sağlayarak genişleten modüler, bağımsız paketlerdir. Onları belirli alanlar veya görevler için "onboarding rehberleri" olarak düşünün—Claude'u genel amaçlı bir ajantan, hiçbir model tamamen sahip olamayacağı prosedürel bilgilerle donatılmış uzmanlaştırılmış bir ajana dönüştürür.
Her beceri, gerekli bir SKILL.md dosyası ve isteğe bağlı paketlenmiş kaynaklardan oluşur:
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter metadata (required)
│ │ ├── name: (required)
│ │ └── description: (required)
│ └── Markdown instructions (required)
└── Bundled Resources (optional)
├── scripts/ - Executable code (Python/Bash/etc.)
├── references/ - Documentation intended to be loaded into context as needed
└── assets/ - Files used in output (templates, icons, fonts, etc.)
Metadata Kalitesi: YAML frontmatter'daki name ve description, Claude'un beceriyi ne zaman kullanacağını belirler. Becerinin ne yaptığı ve ne zaman kullanılacağı konusunda spesifik olun. Üçüncü şahıs kullanın (örneğin "Bu beceri şu durumlarda kullanılmalıdır..." yerine "Bu beceriyi şu durumlarda kullan...").
scripts/)Belirleyici güvenilirlik gerektiren veya tekrar tekrar yeniden yazılan görevler için executable kod (Python/Bash/vb.).
scripts/rotate_pdf.pyreferences/)Claude'un işlemesini bilgilendirmek ve düşünmesini yönlendirmek için gerektiğinde bağlama yüklenecek dokümantasyon ve referans malzeme.
references/finance.md, şirket NDA şablonu için references/mnda.md, şirket politikaları için references/policies.md, API spesifikasyonları için references/api_docs.mdassets/)Bağlama yüklenmesi amaçlanmayan, ancak Claude'un ürettiği çıktı içinde kullanılan dosyalar.
assets/logo.png, PowerPoint şablonları için assets/slides.pptx, HTML/React boilerplate'i için assets/frontend-template/, tipografi için assets/font.ttfBeceriler, bağlamı verimli bir şekilde yönetmek için üç seviyeli bir yükleme sistemi kullanır:
*Sınırsız çünkü betikler bağlam penceresi içine okunmadan yürütülebilir.
Bir beceri oluşturmak için "Beceri Oluşturma Süreci"ni sırayla izleyin ve yalnızca açık bir neden varsa adımları atlayın.
Bu adımı yalnızca becerinin kullanım desenleri zaten açıkça anlaşıldığında atlayın. Mevcut bir beceriyle çalışırken bile değerli kalır.
Etkili bir beceri oluşturmak için, becerinin nasıl kullanılacağının somut örneklerini açıkça anlayın. Bu anlayış doğrudan kullanıcı örneklerinden veya kullanıcı geri bildirimiyle doğrulanan oluşturulmuş örneklerden gelebilir.
Örneğin, bir resim-düzenleyici becerisi oluştururken, ilgili sorular şunları içerir:
Kullanıcıları bunaltmamak için, tek bir mesajda çok fazla sorudan kaçının. En önemli sorularla başlayın ve daha iyi etkinlik için gerektiği kadar takip edin.
Bu adımı, becerinin desteklemesi gereken işlevselliğin açık bir şekilde anlaşıldığında sonlandırın.
Somut örnekleri etkili bir beceriye dönüştürmek için her örneği şu şekilde analiz edin:
Örnek: "Bu PDF'i döndürmeyi bana yardımcı ol" gibi sorgularla başa çıkmak için bir pdf-editor becerisi oluştururken, analiz şunu gösterir:
scripts/rotate_pdf.py betiği beceriye kaydedilmek için yararlı olurduÖrnek: "Bana bir yapılacaklar uygulaması yap" veya "Adımlarımı takip etmek için bir pano yap" gibi sorgular için bir frontend-webapp-builder becerisi tasarlarken, analiz şunu gösterir:
assets/hello-world/ şablonu beceriye kaydedilmek için yararlı olurduÖrnek: "Bugün kaç kullanıcı giriş yaptı?" gibi sorgularla başa çıkmak için bir big-query becerisi oluştururken, analiz şunu gösterir:
references/schema.md dosyası beceriye kaydedilmek için yararlı olurduBecerinin içeriğini oluşturmak için, her somut örneği analiz ederek dahil edilecek yeniden kullanılabilir kaynakların bir listesini oluşturun: betikler, referanslar ve varlıklar.
Bu noktada, beceriyi gerçekten oluşturma zamanı geldi.
Bu adımı yalnızca geliştirilen beceri zaten mevcutsa ve iterasyon veya paketleme gerekiyorsa atlayın. Bu durumda, sonraki adıma devam edin.
Sıfırdan yeni bir beceri oluştururken, her zaman init_skill.py betiğini çalıştırın. Betik, bir becerinin gerektirdiği her şeyi otomatik olarak içeren yeni bir şablon beceri dizini oluşturarak beceri oluşturma sürecini çok daha verimli ve güvenilir hale getirir.
Kullanım:
scripts/init_skill.py <skill-name> --path <output-directory>
Betik:
scripts/, references/ ve assets/Başlatmadan sonra, oluşturulan SKILL.md ve örnek dosyalarını gerektiği gibi özelleştirin veya silin.
(Yeni oluşturulan veya mevcut) beceriyi düzenlerken, becerinin Claude'un başka bir örneği tarafından kullanılmak üzere oluşturulduğunu unutmayın. Claude'un için faydalı ve açık olmayan bilgileri dahil etmeye odaklanın. Başka bir Claude örneğinin bu görevleri daha etkili bir şekilde yürütmesine yardımcı olacak hangi prosedürel bilgilerin, alana özgü detayların veya yeniden kullanılabilir varlıkların gerekli olacağını düşünün.
Uygulamaya başlamak için, yukarıda tanımlanan yeniden kullanılabilir kaynakları kullanarak başlayın: scripts/, references/ ve assets/ dosyaları. Bu adımın kullanıcı girişi gerektirebileceğini unutmayın. Örneğin, bir brand-guidelines becerisi uygulanırken, kullanıcının assets/ içinde depolanacak marka varlıkları veya şablonları ya da references/ içinde depolanacak dokümantasyon sağlaması gerekebilir.
Ayrıca, beceri için gerekli olmayan örnek dosya ve dizinleri silin. Başlatma betiği, yapıyı göstermek için scripts/, references/ ve assets/ içinde örnek dosyalar oluşturur, ancak çoğu becerinin hepsine ihtiyacı olmayacaktır.
Yazı Stili: Tüm beceriyi imperatif/infinitif formda (fiil-ilk talimatlar) yazın, ikinci şahıs formunda değil. Tarafsız, talimatlı dil kullanın (örneğin, "X başarmak için Y yap" yerine "X yapmalısın" veya "X yapmanız gerekirse"). Bu, AI tüketimi için tutarlılık ve netliği korur.
SKILL.md'yi tamamlamak için aşağıdaki soruları cevaplayın:
Beceri hazır olduğunda, kullanıcıyla paylaşılan dağıtılabilir bir zip dosyasına paketlenmelidir. Paketleme süreci, tüm gereksinimleri karşıladığından emin olmak için beceriyi otomatik olarak doğrular:
scripts/package_skill.py <path/to/skill-folder>
İsteğe bağlı çıktı dizini belirtimi:
scripts/package_skill.py <path/to/skill-folder> ./dist
Paketleme betiği şunları yapacaktır:
Doğrula beceriyi otomatik olarak, kontrol ederek:
Paketi doğrulama başarılı olursa, becerinin adına göre adlandırılmış (örneğin, my-skill.zip) bir zip dosyası oluşturarak, dağıtım için uygun dizin yapısını koruyarak tüm dosyaları içerir.
Doğrulama başarısız olursa, betik hataları rapor edecek ve bir paket oluşturmadan çıkacaktır. Doğrulama hatalarını düzeltin ve paketleme komutunu tekrar çalıştırın.
Beceriyi test ettikten sonra, kullanıcılar iyileştirmeler talep edebilir. Çoğu zaman bu, beceriyi kullandıktan hemen sonra, becerinin nasıl performans gösterdiğinin taze bağlamıyla olur.
İterasyon iş akışı:
Herhangi bir yaratıcı çalışmaya başlamadan önce bunu mutlaka kullanın - feature oluştururken, component inşa ederken, functionality eklerken veya davranış değiştirirken. Kullanıcı niyetini, gereksinimleri ve tasarımı implementation öncesinde araştırır.
Uygulama tamamlandığında, tüm testler geçtiğinde ve çalışmanızı nasıl entegre edeceğinize karar vermeniz gerektiğinde kullanın - merge, PR veya cleanup seçeneklerini sunarak geliştirme sürecinin tamamlanmasını rehberlik eder.
Kod incelemesi geri bildirimi alırken, önerileri uygulamadan önce kullanın; özellikle geri bildirim belirsiz veya teknik olarak şüpheli görünüyorsa - performatif anlaşmadan veya körü körüne uygulamadan ziyade teknik titizlik ve doğrulama gerekir.
Görevleri tamamlarken, büyük özellikleri hayata geçirirken veya merge etmeden önce çalışmanın gereksinimleri karşıladığını doğrulamak için kullanın.
Yeni bir feature üzerinde çalışmaya başlarken veya implementasyon planını yürütmeden önce kullanın - native araçlar veya git worktree fallback aracılığıyla izole edilmiş bir workspace sağlar.
Herhangi bir konuşma başlatırken kullanın - skill'lerin nasıl bulunacağını ve kullanılacağını belirler, clarification soruları da dahil olmak üzere HERHANGİ bir yanıt vermeden önce skill invocation gerektirir.