Design ★ 2

skill-creator

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

Skill Creator

Bu beceri, etkili beceriler oluşturmak için rehberlik sağlar.

Beceriler Hakkında

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.

Beceriler Ne Sağlar

  1. Uzmanlaştırılmış iş akışları - Belirli alanlar için çok adımlı prosedürler
  2. Tool entegrasyonları - Belirli dosya formatları veya API'lerle çalışmak için talimatlar
  3. Alan uzmanlığı - Şirkete özgü bilgiler, şemalar, iş mantığı
  4. Paketlenmiş kaynaklar - Karmaşık ve tekrarlanan görevler için betikler, referanslar ve varlıklar

Bir Becerinin Yapısı

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.)

SKILL.md (gerekli)

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...").

Paketlenmiş Kaynaklar (isteğe bağlı)

Betikler (scripts/)

Belirleyici güvenilirlik gerektiren veya tekrar tekrar yeniden yazılan görevler için executable kod (Python/Bash/vb.).

  • Ne zaman dahil edilir: Aynı kod tekrar tekrar yeniden yazılıyor veya belirleyici güvenilirlik gerektiğinde
  • Örnek: PDF döndürme görevleri için scripts/rotate_pdf.py
  • Faydalar: Token verimli, belirleyici, bağlam içine yüklenmeden yürütülebilir
  • Not: Betikler, Claude tarafından düzeltme veya ortama özgü ayarlamalar için okunması gerekebilir
Referanslar (references/)

Claude'un işlemesini bilgilendirmek ve düşünmesini yönlendirmek için gerektiğinde bağlama yüklenecek dokümantasyon ve referans malzeme.

  • Ne zaman dahil edilir: Claude'un çalışırken referans alması gereken dokümantasyon için
  • Örnekler: Mali şemalar için 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.md
  • Kullanım senaryoları: Veritabanı şemaları, API dokümantasyonu, alan bilgisi, şirket politikaları, detaylı iş akışı rehberleri
  • Faydalar: SKILL.md'yi yalın tutar, yalnızca Claude ihtiyaç olduğunu belirlediğinde yüklenir
  • En iyi uygulama: Dosyalar büyükse (>10k sözcük), SKILL.md'ye grep arama desenleri ekleyin
  • Tekrarlamaktan kaçının: Bilgiler SKILL.md veya referans dosyalarında yaşamalı, her ikisinde birden değil. Detaylı bilgiler için referans dosyalarını tercih edin, sürece gerçekten temel olmadığı sürece—bu SKILL.md'yi yalın tutar ve bilgileri bağlam penceresini işgal etmeden keşfedilebilir hale getirir. SKILL.md'de yalnızca temel prosedürel talimatlar ve iş akışı rehberi tutun; detaylı referans malzemeleri, şemaları ve örnekleri referans dosyalarına taşıyın.
Varlıklar (assets/)

Bağlama yüklenmesi amaçlanmayan, ancak Claude'un ürettiği çıktı içinde kullanılan dosyalar.

  • Ne zaman dahil edilir: Becerinin son çıktıda kullanılacak dosyalara ihtiyaç duyduğunda
  • Örnekler: Marka varlıkları için assets/logo.png, PowerPoint şablonları için assets/slides.pptx, HTML/React boilerplate'i için assets/frontend-template/, tipografi için assets/font.ttf
  • Kullanım senaryoları: Şablonlar, resimler, ikonlar, boilerplate kod, yazı tipleri, kopyalanan veya değiştirilen örnek belgeler
  • Faydalar: Çıktı kaynaklarını dokümantasyondan ayırır, Claude'un dosyaları bağlama yüklemeden kullanmasını sağlar

Kademeli Açıklama Tasarım Prensibi

Beceriler, bağlamı verimli bir şekilde yönetmek için üç seviyeli bir yükleme sistemi kullanır:

  1. Metadata (name + description) - Daima bağlamda (~100 sözcük)
  2. SKILL.md gövdesi - Beceri tetiklendiğinde (<5k sözcük)
  3. Paketlenmiş kaynaklar - Claude'un ihtiyaç duyduğu şekilde (Sınırsız*)

*Sınırsız çünkü betikler bağlam penceresi içine okunmadan yürütülebilir.

Beceri Oluşturma Süreci

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.

Adım 1: Beceriyi Somut Örneklerle Anlamak

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:

  • "Resim-düzenleyici becerisi hangi işlevleri desteklemelidir? Düzenleme, döndürme, başka bir şey var mı?"
  • "Bu beceri nasıl kullanılacağına dair bazı örnekler verebilir misiniz?"
  • "Kullanıcıların 'Bu resimdeki kırmızı gözü kaldır' veya 'Bu resmi döndür' gibi şeyler isteyeceğini hayal ediyorum. Bu beceriyi tetikleyecek başka yollar hayal ediyor musunuz?"
  • "Bu beceriyi tetiklemesi gereken bir kullanıcı ne söylerdi?"

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.

Adım 2: Yeniden Kullanılabilir Beceri İçeriğini Planlama

Somut örnekleri etkili bir beceriye dönüştürmek için her örneği şu şekilde analiz edin:

  1. Örneği sıfırdan nasıl çalıştıracağını düşünün
  2. Bu iş akışlarını tekrar tekrar yürütürken hangi betiklerin, referansların ve varlıkların yardımcı olacağını belirleyin

Ö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:

  1. PDF döndürme her seferinde aynı kodu yeniden yazma gerektirir
  2. Bir 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:

  1. Bir frontend web uygulaması yazmak her seferinde aynı boilerplate HTML/React'ı gerektirir
  2. Boilerplate HTML/React proje dosyalarını içeren bir 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:

  1. BigQuery'yi sorgulamak her seferinde tablo şemalarını ve ilişkilerini yeniden keşfetme gerektirir
  2. Tablo şemalarını belgelendiren bir references/schema.md dosyası beceriye kaydedilmek için yararlı olurdu

Becerinin 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.

Adım 3: Beceriyi Başlatma

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:

  • Belirtilen yola beceri dizini oluşturur
  • Uygun frontmatter ve TODO yer tutuculuları içeren bir SKILL.md şablonu oluşturur
  • Örnek kaynak dizinleri oluşturur: scripts/, references/ ve assets/
  • Her dizinde özelleştirilebilecek veya silinebilecek örnek dosyalar ekler

Başlatmadan sonra, oluşturulan SKILL.md ve örnek dosyalarını gerektiği gibi özelleştirin veya silin.

Adım 4: Beceriyi Düzenleme

(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.

Yeniden Kullanılabilir Beceri İçeriğiyle Başlayı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.

SKILL.md Güncelle

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:

  1. Becerinin amacı nedir, birkaç cümle ile?
  2. Beceri ne zaman kullanılmalıdır?
  3. Uygulamada, Claude beceriyi nasıl kullanmalıdır? Yukarıda geliştirilen tüm yeniden kullanılabilir beceri içeriğine referans yapılmalı, böylece Claude bunları nasıl kullanacağını bilir.

Adım 5: Bir Beceriyi Paketleme

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:

  1. Doğrula beceriyi otomatik olarak, kontrol ederek:

    • YAML frontmatter formatı ve gerekli alanları
    • Beceri adlandırma kuralları ve dizin yapısı
    • Açıklama bütünlüğü ve kalitesi
    • Dosya organizasyonu ve kaynak referansları
  2. 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.

Adım 6: İterasyonu Yapma

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ışı:

  1. Beceriyi gerçek görevler üzerinde kullanın
  2. Mücadeleler veya verimsizlikleri fark edin
  3. SKILL.md veya paketlenmiş kaynakların nasıl güncellenebileceğini belirleyin
  4. Değişiklikleri uygulayın ve tekrar test edin

Benzer skill'ler

brainstorming Design

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.

obra/superpowers ★ 235,495
finishing-a-development-branch Design

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.

obra/superpowers ★ 235,495
receiving-code-review Design

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.

obra/superpowers ★ 235,495
requesting-code-review Design

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.

obra/superpowers ★ 235,495
using-git-worktrees Design

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.

obra/superpowers ★ 235,495
using-superpowers Design

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.

obra/superpowers ★ 235,495
Daha fazla: Design →