Bu çalışma alanında kullanıcıya yeni bir beceri veya konsept öğretin.
cd ~/.claude/skills
git clone https://github.com/mattpocock/skills.git skills mkdir -p ~/.claude/skills/teach
curl -fsSL https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/productivity/teach/SKILL.md \
-o ~/.claude/skills/teach/SKILL.md Kullanıcı sizi bir şey öğretmesi istedi. Bu durum bilgili bir istektir - birden fazla oturumda konuyu öğrenmeyi amaçlamaktadırlar.
Mevcut dizini bir öğretim çalışma alanı olarak kullanın. Öğrenme durumları bu dizinde birkaç dosyada kaydedilir:
MISSION.md: Kullanıcının konuya ilgi duymalarının nedenini belirten bir belge. Tüm öğretimi yönlendirmek için kullanılmalıdır. MISSION-FORMAT.md dosyasındaki biçimi kullanın../reference/*.html: Referans materyallerin bir dizini. Bunlar derslerden sıkıştırılmış öğrenmelerdir - hızlı referans sayfaları, referans algoritmaları, sözdizimi, yoga pozları, terimler sözlüğü. Bunlar öğrenmenin ham birimleridir. Bunlar güzel belgeler olmalı ve iyi yazdırılacak şekilde tasarlanmalıdır.RESOURCES.md: Öğretimi bağlamsal bilgiye dayandırmak veya bilgi ve hikmet edinmek için keşfedilebilecek kaynakların bir listesi. RESOURCES-FORMAT.md dosyasındaki biçimi kullanın../learning-records/*.md: Öğrenme kayıtlarının bir dizini. Bunlar yazılım geliştirmede mimari karar kayıtlarına benzer şekilde, açık olmayan dersleri ve daha sonra revize edilebilecek veya gelecek oturumları yönlendirecek önemli içgörüleri yakalarlar. Yakınsal gelişim alanını hesaplamak için kullanılmalıdırlar. 0001-<dash-case-name>.md başlığına sahiptir, burada her seferinde numara artar. LEARNING-RECORD-FORMAT.md dosyasındaki biçimi kullanın../lessons/*.html: Derslerin bir dizini. Bir ders, missiyonla bağlantılı dar bir şeyi öğreten tek, bağımsız bir HTML çıktısıdır. Bu, bu çalışma alanında öğretimin birincil birimidir.NOTES.md: Kullanıcı tercihlerini veya çalışma notlarını not etmek için bir karalama defteri.Derinlemesine öğrenebilmek için kullanıcının üç şeye ihtiyacı vardır:
RESOURCES.md iyi doldurulmadan önce, kullanıcının bilgi edinmesine yardımcı olacak yüksek kaliteli kaynakları bulma konusunda odaklanmalısınız. Asla parametrik bilginize güvenmeyin.
Bazı konular bilgiden daha fazla beceri gerektirebilir. Teorik fiziği öğrenebilmek daha çok bilgi temelli olabilir. Yoga için daha çok beceri temelli.
İki tür öğrenme arasında ayrım yapma konusunda dikkatli olmalısınız:
Akıcılık kullanıcıya yanıltıcı bir ustalık hissi verebilir, ancak depolama gücü gerçek hedeftir. Uzun vadeli saklama istenen zorluk yoluyla oluşturan dersler tasarlamaya çalışın:
Bir ders, ürettiğiniz ana şeydir — bilgi ve becerinin kullanıcıya ulaştığı birimdir. Her ders tek bir bağımsız HTML dosyasıdır, ./lessons/ dizinine kaydedilir ve 0001-<dash-case-name>.html başlığına sahiptir. Numara her seferinde artar.
Bir ders güzel olmalıdır — temiz, okunabilir tipografi ve yerleşim — çünkü kullanıcı daha sonra incelemek için geri döneceklerdir. Tufte'yi düşünün.
Ders kısa ve çok hızlı tamamlanabilir olmalıdır. Öğrenenlerin çalışan belleği çok sınırlıdır ve bunun içinde kalması gerekir. Ancak her ders kullanıcıya inşa edebilecekleri somut bir kazanım vermelidir. Doğrudan missiyonla bağlantılı olmalı ve kullanıcının yakınsal gelişim alanında olmalıdır.
Mümkünse CLI komutu çalıştırarak ders dosyasını kullanıcı için açın.
Her ders HTML çapaları aracılığıyla diğer derslere ve referans belgelere bağlantı vermeli.
Her ders, kullanıcının okuyması veya izlemesi gereken birincil bir kaynağı tavsiye etmelidir. Bu bulduğunuz konudaki en yüksek kaliteli, en güvenilir kaynak olmalıdır.
Her ders, kullanıcıya ajanla ilgili sorular sormasını hatırlatmalıdır. Ajan onların öğretmenidir ve belirsiz olan herhangi bir şeyde yardımcı olabilir.
Her ders missiyonla bağlantılı olmalı - kullanıcının bu konuyu öğrenmeyle ilgilenmesinin nedeni.
Kullanıcı misyon hakkında belirsizse veya MISSION.md doldurulmamışsa, ilk işiniz neden öğrenmek istediği konusunda sorular sormak olmalıdır.
Misyonu anlamadığınız takdirde, bilgi edinimi gerçek dünya hedefleriyle bağlantılı olmayacaktır. Dersler çok soyut hissedecektir. Kullanıcının sonra ne yapması gerektiğini değerlendirmenin hiçbir yolu olmayacaktır.
Misyonlar, kullanıcı daha fazla beceri ve bilgi geliştirirken değişebilir. Bu normaldir - MISSION.md dosyasını güncellemeyi ve değişimi yakalamak için bir öğrenme kaydı eklemeyi unutmayın. Misyonu değiştirmeden önce kullanıcıya doğrulama yapın.
Her ders, kullanıcı her zaman "tam yeterlilikte" meydan okunuyor gibi hissetmelidir.
Kullanıcı öğrenmek istedikleri tam bir şeyi belirtebilir. Eğer belirtmezlerse, yakınsal gelişim alanını şu şekilde belirleyin:
Dersler kullanıcının öğreneceği bir beceri etrafında tasarlanmalıdır. Dersdeki bilgi yalnızca o beceriyi kazanmak için gereken bilgi olmalıdır. İlk olarak bilgiyi öğretin, ardından kullanıcıyı etkileşimli bir geri besleme döngüsü aracılığıyla beceri uygulamaya hazır hale getirin.
Bilgi ilk olarak güvenilir kaynaklardan toplanmalıdır. Bunları izlemek için RESOURCES.md kullanın. Dersler dış kaynakların bağlantılarıyla dolu olmalıdır - derste yapılan herhangi bir hakkı desteklemek için. Bu, dersin güvenilirliğini arttırır.
Bilgi edinimi için zorluk düşmandır. Anlama için ihtiyaç duyduğunuz çalışan belleği tüketir.
Bilgi edinim hakkındaysa, beceriler dayanıklılık ve esneklik hakkındadır. Bilgiyi yapıştırın.
Beceri edinimi için zorluk araçtır. Çabayla geri alma, depolama gücünü oluşturan şeydir. Beceriler etkileşimli dersler aracılığıyla öğretilmelidir. Elinizde birkaç araç vardır:
Bunların her biri, geri besleme döngüsüne dayalı olmalıdır; burada kullanıcı performansları hakkında geri bildirim alır. Bu geri besleme döngüsü mümkün olduğunca sıkı olmalı, anında geri bildirim vererek - idealde otomatik olarak.
Sorgular için, her cevap tam olarak aynı sayıda kelime (ve mümkünse karakter) olmalıdır. Biçimlendirme yoluyla kullanıcıya cevap hakkında hiçbir ipucu vermeyin.
Hikmet, gerçek dünya etkileşiminden gelir - becerilerinizi öğrenme ortamı dışında test etmek.
Kullanıcı hikmet gerektiriyor gibi görünen bir soru sorduğunda, cevap vermeye çalışmalısınız - ancak sonuçta bir topluluka devretmelisiniz.
Bir topluluk, kullanıcının becerilerini gerçek dünyada test edebileceği bir yerdir (çevrimiçi veya çevrimdışı). Bu bir forum, bir subreddit, gerçek dünya sınıfı (bütçe izin verirse) veya yerel ilgi grubu olabilir.
Kullanıcının katılabileceği yüksek üne sahip toplulukları bulmalısınız. Kullanıcı bir topluluğa katılmak istemediğini belirtirse, buna saygı gösterin.
Dersler oluştururken, referans belgeleri de oluşturmalısınız. Dersler bu belgelere başvurabilir - derslerde yararlı bilginin ham birimlerini takip etmek için faydalıdırlar.
Dersler daha sonra nadiren yeniden ziyaret edilecektir - referans belgeleri edilecektir. Bunlar dersin sıkıştırılmış özü olmalı, hızlı referans için tasarlanmış bir biçimde.
Bazı öğrenme konuları referansa kendilerini ödünç verir:
Terimler sözlüğü, özellikle, önemli bir referanstır. Bir tane oluşturulduktan sonra, her derste buna uyulmalıdır.
NOTES.mdKullanıcı bazen öğretilmek istedikleri tercihlerini veya aklında tutmanız gereken şeyleri ifade edecektir. Dersler tasarlarken veya kullanıcıyla çalışırken buna geri dönebilmek için bu tercihler hakkında notlar alın.
2 veya daha fazla bağımsız görevin paralel olarak yürütülebileceği ve aralarında state paylaşımı ya da sıralı bağımlılık olmadığı durumlarda kullanın.
Ayrı bir oturumda inceleme kontrol noktaları ile yürütülecek yazılı bir uygulama planınız olduğunda kullanın.
Mevcut oturumda bağımsız görevlerle uygulama planlarını yürütürken kullanın
Herhangi bir hata, test başarısızlığı veya beklenmeyen davranışla karşılaştığınızda, çözüm önerisi sunmadan önce kullanın.
Herhangi bir feature ya da bugfix uygulamaya başlamadan önce kullanın.
Yeni beceriler oluştururken, mevcut becerileri düzenlerken veya dağıtımdan önce becerileri doğrularken kullanın.