13 / 19Proje
AI ekibiyle özellik
Spec, frontend, test ve inceleme ajanlarından oluşan bir ekiple sepete kupon özelliği ekleme.
Senaryo
Elinizde kuponsuz bir sepet var. Kupon özelliğini kendiniz yazmayacaksınız. Dört ajanlık bir ekip kuracak ve işi bir lead'e yönettireceksiniz:
spec-writer isteği test edilebilir kriterlerle
SPEC.md'ye çevirir ve sizin onayınızı bekler.frontend-dev spec'i uygular, test dosyalarına dokunmaz.
qa-tester her kriter için test yazar, çalıştırır ve
test-report.mdyazar.Test kırılırsa rapor frontend-dev'e döner. En fazla üç tur.
reviewer diff'i spec'e göre temiz bir bağlamda inceler.
Lead size değişen dosyaları, test sonucunu ve tur sayısını özetler.
Amaç kuponun kendisi değil, ekibin kurallara bağlı çalışmasıdır. Her parçanın hangi dersten geldiği:
| Parça | Dosya | Ders |
|---|---|---|
| Test edilebilir kriterler, kapsam dışı, sınırlar | SPEC.md | Spec-driven geliştirme |
| Korunan dosyalar, testler geçmeden bitirmeme | .claude/settings.json, .claude/hooks/ | Hooks ve izin modları |
| Rol başına araç kısıtı | .claude/agents/*.md | Ajan takımı kurmak |
| Hat, hata döngüsü, tur sınırı, özet | .claude/skills/feature-team/SKILL.md | Ajan takımı kurmak, Skills |
| Proje kuralları | CLAUDE.md | Prompt ve context engineering |
Projenin başlangıç ve çözüm hâli GitHub'da: examples/ai/agent-team. Çözümdeki testler ve test-report.md ile kendi sonucunuzu karşılaştırın.
Adım 1: Projeyi kurun
cd examples/ai/agent-team/starter
npm install
npx playwright install chromium
npm testBaşlangıçta 3 birim testi ve 1 Playwright testi geçer. Hook'lar JSON okumak için jq kullanır, yoksa kurun.1
Adım 2: Rolleri okuyun
.claude/agents/ altındaki dört dosyayı açın. Rolleri birbirinden ayıran şey tools alanı ve "neye dokunma" satırlarıdır.2
| Rol | tools | Dokunmaz |
|---|---|---|
spec-writer | Read, Glob, Grep, Write | Kod |
frontend-dev | Read, Glob, Grep, Edit, Write, Bash | Test dosyaları |
qa-tester | Read, Glob, Grep, Write, Bash | Uygulama kodu |
reviewer | Read, Glob, Grep, Bash | Hiçbir dosya (yalnızca rapor) |
qa-tester'ın raporu her zaman STATUS: PASS veya STATUS: FAIL ile biter. Lead döngüye devam edip etmeyeceğine bu satıra bakarak karar verir. Ajanlar arasında net bir çıktı biçimi olması, işin iki kez yapılmasını ve boşluk kalmasını önler.3
Adım 3: Kuralları hook'a bağlayın
.claude/settings.json iki hook kaydeder:
PreToolUse:package-lock.json,.envve.git/altına yazmayı engeller.Stop: birim testleri kırıksa ajanın bitirmesine izin vermez, hata çıktısını geri verir.1
"Stop": [
{
"hooks": [{ "type": "command", "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/require-tests.sh" }]
}
]Aynı dosyada test, build ve git diff komutlarına önceden izin verilir. npm install ise yasaktır, ajan yeni paket ekleyemez.4 Böylece ekip her komut için sizi beklemez ama sınırın dışına da çıkamaz.
Adım 4: Ekibi çalıştırın
Lead prompt'u bir skill olarak yazıldı. disable-model-invocation: true olduğu için yalnızca siz çağırırsınız:5
/feature-team sepete kupon kodu ekle, SALE10 yüzde 10 indirim yapsınAkış:
spec-writerSPEC.md'yi yazar ve açık sorularını size iletir. Cevaplayın, spec'i okuyun, onaylayın.frontend-devkodu yazar venpm run buildçalıştırır.qa-testertestleri yazar vetest-report.md'yi doldurur.Rapor
STATUS: FAILise lead raporufrontend-dev'e geri verir.Testler geçince
reviewerdiff'i inceler.Lead özeti yazar.
İlk çalıştırmada her adımda durup dosyaları okuyun. Spec'te bir hata varsa onu kodda değil spec'te düzeltin.
İpucu
Lead bazen işi kendisi yapmaya başlar. Böyle olursa "kod yazma, işi subagent'lara ver" diye hatırlatın. Skill'in ilk satırı da bunu söylüyor.
Adım 5: Sonucu kontrol edin
Lead "bitti" dediğinde kanıta bakın:6
test-report.mdSTATUS: PASSile bitiyor mu?git diff --statyalnızcaSPEC.md'nin "Files" bölümündeki dosyaları ve testleri mi gösteriyor?npm testsizin terminalinizde de geçiyor mu?
Çözümdeki SPEC.md altı kriter içeriyor, testler bunlardan beşini kapsıyor. Kalanı (tek kupon kuralı) raporda "elle kontrol edildi" olarak işaretli. Sizin ekibiniz bu kriteri nasıl ele aldı?
Kendin dene
frontend-dev'in tanımından "Test dosyalarına dokunma" satırını silin ve bir testi kasıtlı olarak kırın. Ajan testi mi düzeltiyor, kodu mu?Tur sınırını 1'e indirin ve bir kriteri zorlaştırın (örneğin kuruş yuvarlama). Lead sınıra gelince ne yapıyor?
reviewer'ı çalıştırmadan öncefrontend-dev'e "Files" dışında bir dosyayı değiştirtin. Reviewer bunu yakalıyor mu?Aynı özelliği ekipsiz, tek bir oturumda isteyin. Hangisi daha az token harcadı, hangisinin sonucunu incelemek daha kolaydı?
Kaynaklar
`PreToolUse` ile dosya koruma, `Stop` hook'u ve `jq` ile stdin okuma.
Subagent dosyası, `tools` alanı ve zincirleme.
13 Haziran 2025. Lead'in işçilere amaç, çıktı biçimi ve sınır vermesi.
`allow` ve `deny` kuralları.
`$ARGUMENTS` ve `disable-model-invocation` ile elle çağrılan skill.
Kanıt istemek ve gözetimsiz çalışmayı doğrulamak.
Son güncelleme tarihi: 26 Ekim 2026
