Giriş: tek repo, iki paket, biri kalıyor
Superpowers ve Matt Pocock'un skill'leri, çoğu Claude Code geliştiricisinin birbiriyle kıyasladığı iki skill paketi. Bu video ikisini aynı özellik üzerinde, tek bir repoda ölçüyor ve faturayı aşama aşama okuyor. Superpowers (v6.4.2) on beş skill ve bunları zorlayan bir SessionStart hook'u getiriyor. Pocock'un paketi (v1.3.1) yirmi yedi skill getiriyor, hook yok, slash komutu olarak yazılan yedi adımlık bir Main Flow var. Yayımlanmış tek ölçümlü karşılaştırma Superpowers'ın çok daha ucuz olduğunu söylüyor, geçiş yapanların her blogu ise Pocock'un daha az token harcadığını. Bu çalıştırmalarda ikisi birden doğru çıktı: hook'una bırakılan Superpowers, Main Flow'un dörtte birine mal oldu, tam döngüsüyle sürülen Superpowers ise Main Flow'un neredeyse iki katına. Her seferinde gizli testlerin beşte beşi geçti. Videonun cevapladığı soru şu: hangi paket kalıyor ve faturayı hangi tek aşama belirliyor.
İki zıt bahis: skill'leri zorlayan hook ile hiç hook olmaması
Superpowers on beş skill ve tek bir hook içeren bir plugin. Hook, her oturum başlangıcında using-superpowers skill'inin tamamını (492 kelime) bağlama enjekte ediyor ve bu skill modele şunu söylüyor: "If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill." Sattığı döngü dört skill'den geçiyor: brainstorming, writing-plans, executing-plans ve sonda bir review. Kurduğunuzda hook'un bir isteği bu döngüye kendiliğinden yönlendirmesi bekleniyor.
Matt Pocock'un paketi ise ters bahis: yirmi yedi skill ve hiç hook yok. Hiçbir şey enjekte edilmiyor, her adım sizin yazdığınız bir slash komutu. Main Flow şöyle okunuyor: grill-with-docs, to-spec, to-tickets, implement, code-review, pr, retro. grill-with-docs skill'i otuz beş kelime uzunluğunda ve yalnızca iki skill daha çağırıyor. implement yüz üç kelime ve disable-model-invocation: true bayrağını taşıyor, yani model onu kendi başına yükleyemiyor. Matt'in v1.3 changelog'unda döngüsü hakkındaki sözü şu: "The agent loop is worse than a deterministic loop. But it is a good way to start with AFK work before your software factory is dialled in."
İki paket de Claude Code plugin'i olarak ya da kopyalanmış dosyalar olarak kurulabiliyor. Pocock'un readme'si bu konuda net: agent başına birini seçin, çünkü ikisini birden kurmak her skill'i iki kez getiriyor. Karşılaştırmayı kimse kesin sonuca bağlayamadı: ölçülmüş tek kafa kafaya test, Pocock'un paketini sekiz uygulama worker'ından beşi implement skill'ini hiç almadan çalıştırmıştı, geçiş yapanların her yazısında ise rakam yok, görüş var.
Bench: ledgerly, tek istek, beş gizli test ve çıplak taban
Repo ledgerly: düz Node ve TypeScript ile yazılmış, uydurma bir fatura API'si. Bir domain katmanı, şema migration'lı bir JSON dosya deposu, bir HTTP katmanı ve otuz dört yeşil test içeriyor. Özellik isteği üç satır ve bir geliştiricinin yazacağı gibi yazılmış: kısmi ödeme ekle, ödenen tutarı ve bakiyeyi göster, eski /pay endpoint'i çalışmaya devam etsin ve store'da production verisi olduğunu unutma. Bunu okuyan bir senior, isteğin hiç yazmadığı beş şey bekler: para hesabı, doğrulama, production dosyalarının migration'ı, doğru hata kodları ve testler. Bu beşi, worker'ın hiç görmediği gizli kabul testleri oldu. Referans patch beşini de geçiyor, dokunulmamış repo hiçbirini geçmiyor.
Her çalıştırma repo'nun taze bir kopyası, headless bir Sonnet 5.5 worker'ı, aynı araç allow list'i ve senaryolu bir product owner'dan oluşuyor. Product owner, aracı olmayan ikinci bir headless model: yalnızca beş gereksinimi düz kelimelerle okuyor, kısa cevap veriyor ve hiçbir şey sorulmadığında "go on" diyor. Her token ve her skill çağrısı tur tur kaydediliyor. Baştan iki sınır belirtiliyor: headless olduğu için çalışma sırasında kimse yönlendirmiyor ve Superpowers hook'u yalnızca ilk turda tetikleniyor.
Hiçbir paket olmadan çıplak Claude Code, her çubuğun ölçüldüğü taban.
| Config (özellik 1) | Gizli testler | Çalıştırma başına maliyet | Duvar saati | Değişen satır |
|---|---|---|---|---|
| bare, 3 çalıştırma | 5/5, 5/5, 5/5 | ortalama $0.34 ($0.47, $0.27, $0.29) | 84.5 s | 142 |
Superpowers: hook tek başına ne çalıştırıyor, tam döngü neye mal oluyor
Hook'una bırakılan Superpowers şöyle davranıyor: istek yapıştırılıyor, hook tetikleniyor, model brainstorming'i açıyor, bir iki soru soruyor ve kodlamaya geçiyor. writing-plans üç çalıştırmada sıfır kez çalıştı, executing-plans hiç çalışmadı. Sonuç, aynı skor için çıplak taban 1,5 katı: yaklaşık elli sente ve yaklaşık iki dakikaya beşte beş. Bunun yaklaşık yirmi iki sentini yalnızca brainstorming yedi. Altı tek turluk prob, yönlendirmenin bir kablolama hatası değil, rastgele olduğunu gösterdi: gerçek plugin kablolamasıyla brainstorming üç seferde bir tetiklendi, bench'in kablolamasıyla üçte iki.
Elle sürüldüğünde, yani brainstorming, writing-plans ve executing-plans Native modda (6.4.1'den beri varsayılan) slash komutu olarak yazıldığında, her çalıştırma döngünün tamamını işletti. Yine beşte beş, ama çalıştırma başına yaklaşık $3.74 ve on dakika: çıplak tabanın on bir katı, hook'la yönlendirilen Superpowers çalıştırmasının yedi buçuk katı, aynı gizli skor için.
| Superpowers aşaması (özellik 1 ortalamaları) | Maliyet |
|---|---|
| brainstorming | $0.166 |
| writing-plans | $0.266 |
| executing-plans | $3.307 |
| bunun içinde TDD build'in kendisi | $0.974 |
| bunun içinde tüm branch'i inceleyen reviewer subagent | $2.192 |
Döngünün faturasını açıklayan aşama reviewer. executing-plans skill'i onu kendi ifadesiyle "on the most capable available model" üzerinde çalıştırıyor ve her çalıştırmada bu model en üst seviyeli olandı. Skill, bunu tüm çalıştırmanın satın aldığı tek taze bağlam olarak tanımlıyor ve atlanmamasını söylüyor. Bu özellikte testlerin zaten kanıtlamadığı hiçbir şey bulmadı. İkinci özellikte aynı reviewer, $3.21'lik bir çalıştırmanın $1.602'sini aldı; yani bu bir seferlik değil, skill'in yazılış biçimi.
Main Flow aşama aşama: ucuz planlar, pahalı build
Pocock'un paketi tek sürülebileceği şekilde sürülüyor: grill-with-docs soruları tek tek soruyor, çalıştırma başına yaklaşık yedi, Superpowers'ın brainstorming'inde bir ya da iki. to-spec spec'i yazıyor, to-tickets onu ticket'lara bölüyor, implement tüm ticket'ları tek turda inşa edip tdd ve code-review'u kendi başına çağırıyor, pr pull request metnini yazıyor. Her çalıştırma aynı dört skill'i aynı sırayla çağırdı (grilling, domain-modeling, tdd, code-review): paket rotası konusunda deterministik. On iki driver turu bench'in üst sınırıydı ve üç çalıştırmadan ikisi pr'a varmadan sınıra takıldı. Tamamlanan tek çalıştırma bir PR gövdesiyle bitti, başka hiçbir paket bunu geride bırakmadı.
| Main Flow aşaması (özellik 1 ortalamaları) | Maliyet |
|---|---|
| grill-with-docs | $0.204 |
| to-spec | $0.118 |
| to-tickets | $0.143 |
| implement | $1.125 |
| code-review | $0.439 |
| pr | $0.041 |
Planlama ön yarısı elli sentin altında ($0.465), faturanın dörtte üçünü ise implement ve code-review yiyor. Toplam çalıştırma başına yaklaşık $2.04 ve yedi dakika, her seferinde beşte beş: hook'la yönlendirilen Superpowers çalıştırmasının dört katı ve sürülen Superpowers döngüsünden yüzde kırk beş ucuz. Diff daha büyük, çıplak tabandaki 142 satıra karşılık yaklaşık 372 satır, eklenen test sayısı 5'e karşılık yaklaşık 28, token toplamları da dolarlarla örtüşüyor: çıplak tabandaki yarım milyona karşılık çalıştırma başına yaklaşık 4,5 milyon token, çoğu uzun bir bağlamın cache okuması. Main Flow'un geride bıraktıkları bir spec, ticket'lar ve bir PR gövdesi; bir ekip bunlara maliyet olan kırk sentten fazla değer verebilir. On iki turluk sınır da bench'e ait, bir insan devam ederdi.
Daha zor bir özellik: credit note'lar ve herkesin gönderdiği tek bug
Her yerde beşte beş, hiçbir şey söylemez. Bu yüzden aynı repoda ikinci bir istek denendi: credit note'lar, beş örtük kuralı olan iki satır. Bir faturaya asla fazla kredi verme ve raporu doğru tut, production dosyalarını migrate et, boşluksuz tek bir numara dizisi, doğru hata kodları ve ödenmiş bir faturayı credit note ile iptal etmek, eski test silinmeden yeniden yazılarak. İlk zor aday bırakıldı, çünkü çıplak taban onda da beşte beş aldı. Önce doğrulama: referans patch beşini de geçiyor, dokunulmamış repo hiçbirini geçmiyor ve bir çıplak smoke çalıştırması beşte dört aldı; yani bu sefer oracle'ın dişi vardı.
| Config (özellik 2) | Gizli testler | Çalıştırma başına maliyet | Eklenen testler |
|---|---|---|---|
| bare, 2 çalıştırma | 4/5, 5/5 | ortalama $0.41 | 5 |
| Superpowers driven, 2 çalıştırma | 5/5, 5/5 | ortalama $3.21 | 33 |
| Main Flow, 2 çalıştırma | 5/5, 5/5 | ortalama $2.07 | 31 |
Tek kaçırma: bare birinci çalıştırma, mevcut issue route'unun yaptığı gibi, isteği doğrulamadan önce credit note numarasını aldı. Reddedilen bir istek bir numara yaktı ve CN-0002 gelmesi gereken yerde CN-0004 verildi. Denetçiler boşlukları işaretler. İki döngü de bunu aynı şekilde yakaladı: TDD adımları, kod yazılmadan önce numara dizisi için bir test yazdı. İkinci bare çalıştırma da doğrusunu yaptı, kırk beş sente. İki bare çalıştırmada bir kaçırma bir veri noktası, bir oran değil. Döngülerin burada satın aldığı şey bir skor değil, geride bıraktıkları testler.
İkisini üst üste kurmak ve marketplace tuzağı
Konudaki en gürültülü thread, router olarak kurulan iki paketin slash adlarında, oturum hook'larında ve aynı niyet için yarışan skill'lerde çakıştığını söylüyor. Aynı projeye birlikte kurulup Main Flow ile sürüldüğünde Superpowers hook'u metnini enjekte etti, altı Pocock komutu yazıldı ve tek bir Superpowers skill'i bile çağrılmadı: beşte beş, $2.33, Main Flow'un aralığı içinde. İki sebep var: Pocock'un kullanıcı tarafından çağrılan skill'lerinde modelin onları kendi başına yüklemesini engelleyen bir bayrak var ve iki paket hiçbir skill adını paylaşmıyor. Yine de bu tek bir çalıştırma, başka bir oturumda hook model tarafından çağrılan bir Pocock skill'ini yine de çekebilir.
Asıl tuzak, elinize geçen sürüm. Resmi Claude plugin marketplace'i Pocock'un paketini 1.2.3'te sabitliyor, yani upstream v1.3.1'in yetmiş bir commit gerisinde. Bu sabitlenmiş kopyada implement-spec, pr ve retro yok. İki issue 5 Ekim'den beri açık ve 8 Ekim'de Matt, X'te Anthropic'ten sürümü yükseltmesini istedi: "All my users are stuck on v1.2." Aynı marketplace Superpowers'ı bir patch geride sabitliyor (v6.4.2'ye karşı 6.4.1). Installer gerçek release'i getiriyor, plugin ise kurduğunuz gün neyin sabitlendiyse onu. Bu videoya değil, sürüm satırına bakın.
Aşama haritası ve karar: Superpowers kalıyor
Superpowers kalıyor. Hook'una bırakıldığında ölçülen en ucuz yönlendirmeli yol: beşte beş için yaklaşık elli sent, çıplak tabanın 1,5 katı. Tam döngüsü ölçülen en pahalı şey, yaklaşık $3.74. Main Flow'a olan farkın neredeyse tamamı tek bir aşamadan geliyor: executing-plans'in en yetenekli modele gönderdiği tüm branch reviewer'ı. O tek satırı değiştirirseniz ya da daha ucuz bir model verirseniz döngü $1.55 civarına iniyor, yani Main Flow'un $2.04'ünün altına. Faturayı belirleyen aşama planlama değil review: kimsenin grill'i, kimsenin brainstorm'u rakamı oynatmadı. Hook'la yönlendirilen yolun da kendine ait bir tuzağı var, yönlendirme rastgele (plugin kablolamasıyla üç seferde bir). Brainstorming sizin için önemliyse kendiniz yazın.
Main Flow aynı skoru daha çok artefakt ile, hook'la yönlendirilen yolun dört katı faturayla alıyor. Planlama ön yarısı, grill-with-docs'tan to-tickets'a, elli sentin altında ve ödünç almaya değer tek şey: Pocock'un paketini sabitlenmiş plugin yerine installer ile kurun ve istek bulanık olduğunda grill-with-docs yazın. Üst üste kurmak çalıştırmada hiçbir şeye mal olmadı.
| Aşama haritası | Karar |
|---|---|
| Superpowers hook ile yönlendirilen (brainstorming, TDD) | tut |
| Pocock'un grill-with-docs, to-spec, to-tickets ($0.465) | ödünç al |
| executing-plans reviewer model satırı | değiştir |
Sınırlar, açıkça: headless Sonnet 5.5, iki özellik, on dokuz çalıştırma, senaryolu bir product owner, on dokuz çalıştırmada tek bug ve onu da bare gönderdi. Daha büyük bir özellik ya da bir ekip spec'e ve ticket'lara daha fazla değer verebilir. Ücretsiz kaynak bench'in kendisi: uydurma repo, gizli testler, driver ve aşama bazlı ledger script'i. Böylece bir günü migration'a harcamadan önce iki paketi kendi özelliğinizde çalıştırabilirsiniz.
AIDive