Kullanıcının sorun ve hataları konuşarak bildirebildiği, aracının GitHub issue açtığı interaktif QA oturumu. Arka planda codebase'i inceleyerek bağlam ve domain dilini öğrenir. Kullanıcı hata bildirmek, QA yapmak, konuşarak issue açmak istediğinde veya "QA session" dediğinde kullanılır.
cd ~/.claude/skills
git clone https://github.com/mattpocock/skills.git skills mkdir -p ~/.claude/skills/qa
curl -fsSL https://raw.githubusercontent.com/mattpocock/skills/HEAD/skills/deprecated/qa/SKILL.md \
-o ~/.claude/skills/qa/SKILL.md Etkileşimli bir QA oturumu çalıştırın. Kullanıcı karşılaştıkları sorunları açıklar. Siz açıklığa kavuşturur, kod tabanını bağlam için keşfedersiniz ve GitHub sorunları dosyalarsınız — sorunlar dayanıklı, kullanıcı odaklı ve projenin etki alanı dilini kullanan sorunlar.
Kullanıcının sorunu kendi sözcükleriyle açıklamasını sağlayın. En fazla 2-3 kısa açıklayıcı soru sorun — şunlara odaklanarak:
Fazla soru sormayın. Açıklama dosyalamaya yeterli açıklıksa, devam edin.
Kullanıcıyla konuşurken, ilgili alanı anlamak için arka planda bir Agent (subagent_type=Explore) başlatın. Amaç bir düzeltme bulmak DEĞİLdir — amaç şudur:
Bu bağlam size daha iyi bir sorun yazmanıza yardımcı olur — ancak sorunun kendisi belirli dosyalara, satır numaralarına veya iç uygulama ayrıntılarına referans vermemelidir.
Dosyalamadan önce, bunun tek bir sorun mu yoksa birden fazla soruna ayrılması gerekip gerekmediğine karar verin.
Şu durumlarda parçalayın:
Tek sorun olarak tutun:
gh issue create komutuyla sorunlar oluşturun. Kullanıcıdan önce gözden geçirmesini istemeyin — sadece dosyalayıp URL'leri paylaşın.
Sorunlar dayanıklı olmalıdır — büyük refaktorlar sonrasında bile anlamlı olmalıdır. Kullanıcının perspektifinden yazın.
Bu şablonu kullanın:
## Ne oldu
[Kullanıcının yaşadığı gerçek davranışı açık dillle açıklayın]
## Ne bekliyordum
[Beklenen davranışı açıklayın]
## Yeniden üretme adımları
1. [Bir geliştiricinin takip edebileceği somut, numaralandırılmış adımlar]
2. [Kod tabanındaki etki alanı terimlerini kullanın, iç modül adlarını değil]
3. [İlgili girdileri, bayrakları veya yapılandırmayı dahil edin]
## Ek bağlam
[Kullanıcıdan veya kod tabanı keşfinden sorunu çerçevelemeye yardımcı olan ekstra gözlemler — ör. "bu sadece Docker katmanı kullanıldığında oluşur, dosya sistemi katmanında değil" — etki alanı dilini kullanın ama dosyalara atıfta bulunmayın]
Sorunları bağımlılık sırasına göre oluşturun (engelleme sorunları önce) böylece gerçek sorun numaralarına referans verebilirsiniz.
Her alt-sorun için şu şablonu kullanın:
## Üst sorun
#<üst-sorun-numarası> (bir takip sorunu oluşturduysanız) veya "QA oturumunda rapor edildi"
## Ne yanlış
[Bu spesifik davranış sorununu açıklayın — sadece bu dilim, bütün rapor değil]
## Ne bekliyordum
[Bu spesifik dilim için beklenen davranış]
## Yeniden üretme adımları
1. [BU sorununa özgü adımlar]
## Engelleme nedeni
- #<sorun-numarası> (bu sorun başka bir sorun çözülene kadar test edilemiyorsa)
Veya "Hiçbiri — hemen başlanabilir" eğer engel yoksa.
## Ek bağlam
[Bu dilimleme ile ilgili ekstra gözlemler]
Parçalanma oluştururken:
Dosyaladıktan sonra, tüm sorun URL'lerini (engelleme ilişkileri özetlenerek) yazdırın ve sorun: "Sonraki sorun, yoksa bitirdik mi?"
Kullanıcı bitirdiklerini söyleyene kadar devam edin. Her sorun bağımsızdır — hepsini toplu olarak işlemeyin.
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.