TeamHandbook, bir repo'nun git geçmişinden skill taslağı yazan açık kaynak bir Claude Code plugin'i. Skill, ajana bir işin nasıl yapılacağını anlatan kısa bir talimat ve TeamHandbook onu ekipte tekrar tekrar yapılan işler için yazıyor.

Örneğin Python web framework'ü Django'nun git geçmişinde yıllardır tekrar eden bir iş buldu. Django cache'teki veriyi veritabanında, dosyada, bellekte ya da ayrı bir sunucuda tutabiliyor ve her biri için ayrı bir modül var. Bu modüllerin hepsi ortak bir sınıfın koyduğu kurallara uyuyor. Bir metodun döndürdüğü değer gibi bu kurallardan biri değiştiğinde ortak sınıf ve modüllerin neredeyse hepsi aynı değişiklikte güncelleniyor, çoğu zaman cache dokümantasyonu da. Geçmişte sekiz kez yapılan bu işi yıllar içinde birkaç farklı kişi üstlenmiş ve yolu her biri kendisi bulmuş. TeamHandbook bu tekrarı commit'lerden çıkarıp işin nasıl yapıldığını anlatan bir taslak yazdı.

Taslak yokken bu işe ilk kez giren birinin ajanı bu düzeni bilmiyor ve hangi dosyaların birlikte değişeceğini baştan bulmak zorunda. Modüllerden birini atlarsa değişiklik yarım kalıyor. Önceki kişilerin bildiği ne varsa yıllara yayılmış commit'lerin içinde.

TeamHandbook'u bu tür işler için yazdım. Tekrar eden iş bir kez skill olarak yazılsın istedim. Biri review'da onaylayınca da ekipteki herkesin ajanı onu bir sonraki oturumdan itibaren bilsin.

Tekrar eden işi git geçmişi biliyor

/handbook:mine repo'nun geçmişini okuyup bu tür işleri listeliyor ve her biri için hangi dosyalara dokunduğunu, kaç kez yapıldığını ve kaç farklı kişinin yaptığını gösteriyor. Listelerken okuduğu tek şey git ve bu aşamada dışarı hiçbir şey gitmez. README'deki örnek taslak yazının başındaki cache işinden yazıldı ve adımların iskeletiyle dosya haritasının gerçek bir işte neye benzediğini gösteriyor.

Tek kişinin yaptığı bir iş bir süre onun aklında kalabilir. Ama birkaç kişinin ayrı ayrı yaptığı bir işte her biri ajanına aynı şeyi baştan anlatıyor ve ajan çoğu zaman bunu ilk kez duyuyor. Bir taslak en çok, o işi tekrar eden diğer kişiler de onu okuduğunda işe yarar.

Taslak git'in göremediğini soruyor

Listeden bir iş seçince TeamHandbook onun için senin kendi claude CLI'ınla bir skill taslağı yazıyor. Taslakta geçmiş değişikliklerin izlediği sırayla adımların iskeleti ve işin hangi dosyalara ne kadar tutarlı dokunduğunu gösteren bir dosya haritası var. Bir işin büyük kısmı ise git'e hiç girmiyor. Merge'den önce birinin elle koştuğu bir kontrol mesela hiçbir commit'te yok. Taslak bu boşlukları açık soru olarak listeler ve cevaplarını review'da sen yazarsın.

Bence taslağın en değerli parçası bu sorular, çünkü o kontrolün neden koşulduğu da git'te yok ve bunu yalnız bir insan biliyor. Taslaktan bitmiş bir skill bekleme ve onaylamadan önce soruları cevapla.

Hiçbir taslak onaysız kurulmaz

Model makul görünen ama yanlış bir şey yazabilir. Bu yüzden yazdığı her şey önce /handbook:review ekranına geliyor ve taslağı neyden yazıldığıyla birlikte okuyorsun.

Sonra nereye gideceğini seç. Ekiple paylaşırsan ekipten birinin review edeceği bir merge request açılıyor, projeye eklersen taslak o repo'nun .claude/skills/ klasörüne commit'leniyor ama commit mesajını önce sen onaylıyorsun. Kendine saklamak da var, reddetmek de.

Modele giden ve modelden dönen metinden sırlar ayıklanıyor, işi yapan kişilerin adları da. Bu ayıklama desen eşleştirmesiyle çalıştığı için tanımadığı biçimde yazılmış bir sır içinden geçebilir. Onaylamadan önce taslağı oku.

Taslak tek bir model çağrısıyla yazılır. Biçim kontrolünden ya da taramadan geçemeyen cevap onarılmadan atılıyor, o zaman tekrar iste ya da başka bir iş seç.

Biten oturumları okuyup ders öneren bir özellik de var ve varsayılan olarak kapalı. Açarsan önerdiği her ders aynı review ekranından geçer.

Ekibe nasıl ulaşır

Ekipte bir kişi ortak repo'yu bir kez /handbook:init ile kuruyor. Bu repo bir Claude Code plugin marketplace'i. Orada bir merge request merge edilince plugin'in versiyonu artar ve her ekip arkadaşının kopyası bir sonraki oturumda yenilenir. Aynı yoldan ekibe MCP server ve slash command da gönderebilirsin.

Makinene bir şey gelmesi için iki /plugin komutuyla abone olman gerekiyor ve bunu senin yerine kimse yapamaz. Bu abonelik ise bir kez verilir ve sürer. Repo'ya merge edilen her skill, MCP server ya da command bir sonraki oturumunda makinende oluyor, sana tek tek sorulmadan.

Ne geldiğini ekibin plugin'i oturumun başında yazıyor, "2 new skill(s), 1 new MCP server(s), and 1 new command(s) since your last session" gibi bir satırla. TeamHandbook'u yarın bırakırsan repo ve dağıtım çalışmaya devam ediyor, çünkü dağıtımı Claude Code'un kendisi yapıyor. Skill'ler de standart birer SKILL.md ve onları okuyan her tool'da çalışıyor.

Kime göre değil

Tek başına çalışıyorsan TeamHandbook yine işini görür ve onaylanan skill'ler ~/.claude/skills altına ya da projeye girer. Ama bir taslağı okuyacak başka kimse yoksa getirisi de az.

Her değişikliği sana ulaşmadan önce görmek istiyorsan abone olma. Skill'ler repo'da düz klasörler, okuyup elle kopyalayabilirsin.

Özel bir handbook repo'su kuracaksan otomatikleştiremeyeceğin bir adım var. Her ekip arkadaşının repo'ya erişimi ve kendi makinesinde git kimlik bilgisi olmalı. Bunu herkes kendi terminalinde bir kez giriş yaparak kuruyor, çünkü bir plugin durup şifre soramaz.

Durum makine başına tutuluyor. ~/.teamhandbook/ başka bir makineyle eşitlenmiyor ve ekibin onaylarını taşıyan şey merge edilen request.

Genç bir repo'da bulunacak bir şey yok. Aynı işin iki kez tanınması için aynı dosyalara dokunan birkaç iş gerekiyor. Commit'lerinin her biri başka bir şey yapıyorsa liste boş döner.

Kurulum adımları ve komutların tamamı /teamhandbook sayfasında.