Skip to content
Agentmart
Submit a tool

atdd

Tool-independent ATDD skill — asks 8-12 adaptive clarification questions (skips categories the user already answered), writes atdd.md with YAML frontmatter…

Skill by yutronax

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/yutronax-atdd

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Tool-independent ATDD skill — asks 8-12 adaptive clarification questions (skips categories the user already answered), writes atdd.md with YAML frontmatter (task_slug, priority, threat_model, coverage_target, performance_target, test_strategy, affected_modules) + Markdown body (Persona, Goal, User Story, prioritized Acceptance Criteria, a mandatory behaviour-contract table pinning what each error case returns, a mandatory threat-model trigger check, Risks/Assumptions/Unknowns, Test Strategy, Benchmark). Does NOT chain into other pipeline steps (see pipeline). For Jira sync see `jira-sync`, for Saga tasks see `saga` skill.

Use cases: documents, testing, data, security

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/atdd

What's inside

Skill name
atdd
Description
Tool-independent ATDD skill — asks 8-12 adaptive clarification questions (skips categories the user already answered), writes atdd.md with YAML frontmatter (task_slug, priority, threat_model, coverage_target, performance_target, test_strategy, affected_modules) + Markdown body (Persona, Goal, User Story, prioritized Acceptance Criteria, a mandatory behaviour-contract table pinning what each error case returns, a mandatory threat-model trigger check, Risks/Assumptions/Unknowns, Test Strategy, Benchmark). Does NOT chain into other pipeline steps (see pipeline). For Jira sync see `jira-sync`, for Saga tasks see `saga` skill.
License
MIT
Instructions
331 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# ATDD Skill

> **KURAL: Netleştirme soruları kullanıcıya değil, otomatik yanıtlanır.**
> `AskUserQuestion` bu skill'de artık KULLANILMAZ — aşağıdaki 4z adımı
> soruları doğrudan bir **Sonnet 5 alt-ajanına** (`Agent`, `model: "sonnet"`,
> `reasoning_effort: "low"`) dispatch eder. Kullanıcı hiç durdurulmaz.
> `claude-omni`/OmniRoute bu akıştan tamamen çıkarıldı (2026-09-05) —
> işlevsizdi (kurulum/child-process/kredi sorunları canlı olarak tekrar
> tekrar tespit edildi) ve fallback zaten her seferinde Sonnet 5'e
> düşüyordu. Cevaplar atdd.md'ye "Sonnet 5 alt-ajanı tarafından yanıtlandı"
> notuyla işlenir — kullanıcı cevabıymış gibi gizlenmez.

## Kullanılacak destek skiller
- `caveman`, `ponytail` (full) — her zaman aktif.
- `superpowers:brainstorming` — kapsam belirsizse, 8-12 soruluk soru listesini hazırlamadan önce.

Bu skill, sonraki pipeline adımlarının (`plan`/`code-copilot`/`test-copilot`/
`verify`/`red-team`) referans aldığı **tek gerçek kaynağı** (`atdd.md`)
üretir. Tek işi budur — Jira senkronizasyonu **`jira-sync`** skill'inde, 
Saga senkronizasyonu **`saga`** skill'inde, adımlar arası geçiş **`pipeline`** 
skill'indedir. Bu araçları karıştırma: burada doğrudan Jira/Saga çağrısı 
yapma (bunun yerine ilgili skill'i çağır), burada bir sonraki skill'e otomatik geçme.

## Adımlar

0. **Fast-Track Kontrolü:** Görev çok küçük, basit ve düşük riskliyse (örn. yazım hatası, CSS renk değişimi, ufak linter düzeltmesi), ATDD sürecini BAŞLATMA. Doğrudan `fast-track` skill'ine devret.
1. **Görev slug'ı belirle.** Kullanıcının isteğinden kısa bir `kebab-case`
   slug türet (örn. `pdf-export-butonu`). Kullanıcıya onaylat.
2. **Jira veya Saga bağlamı gerekiyorsa ilgili skill'i (`jira-sync` veya `saga`) çağır, kendin sorgulama.**
   - Kullanıcı bir Jira ID verdiyse (örn. "KAN-14'ten devam") önce `jira-sync`
     ile issue'yu çek, dönen bilgiyi (özet, AC, öncelik, `saga_task_id`) burada kullan.
   - Kullanıcı bir Saga ID verdiyse (örn. "Saga #254'ten devam") `saga` skill'ini
     çağırarak (özellikle `mcp__saga__task_get` üzerinden) task'ın güncel bilgilerini
     (title, description, priority vs.) çekip burada kullan. İkinci kez sorgu atma.
   - **Ne Jira ne Saga ID'si verilmediyse (yerel/yeni görev) — yine de bir
     Saga task'ı olmalı, yoksa oluştur.** `mcp__saga__task_list` (veya
     `tracker_search`) ile bu task-slug için zaten bir Saga kaydı var mı
     kontrol et; yoksa `mcp__saga__task_create` ile aç. Başlık formatı
     **zorunlu**: `<proje klasörü adı> - <görev başlığı>` (örn.
     `linkedin - omniroute-ayri-profil`). Dönen `task_id`'yi atdd.md'nin
     frontmatter'ına (`saga_task_id`) yaz — bu, uzun bir pipeline sohbeti
     yarıda kesilip yeni bir sohbette devam edilmek zorunda kalırsa (bkz.
     `pipeline` skill'inin "context doldu" notu) ilerlemenin kaybolmaması
     içindir.
3. **Kullanıcının mesajında zaten netleşmiş kategorileri tespit et.** Aşağıdaki
   9 kategoriyi gözden geçir; kullanıcı bir kategoriyi zaten somut ve
   belirsizlik bırakmayacak şekilde yanıtlamışsa (mesajında veya jira-sync'in
   getirdiği AC'lerde) o kategori için **yeniden sorma** — mevcut bilgiyi
   "Sorular ve Cevaplar" bölümüne `(kullanıcı mesajından)` notuyla yaz.
4. **Adaptif olarak 8-12 soru sor** (minimum 8, maksimum 12 — kaç kategori
   zaten netse o kadar az sor, hiçbiri netse üst sınıra çık). Kategoriler:
   - Kullanıcı rolü / persona ("kim kullanacak?")
   - Ana hedef / "neden" (bu özellik hangi sorunu çözüyor?)
   - Happy path senaryosu (adım adım, somut girdi/çıktı)
   - En az 2 edge case / hata senaryosu
   - **Davranış sözleşmesi: hangi durumda ne dönecek** (aşağıda 4a —
     bu kategori atlanamaz, "hata olursa hata döner" cevabı kabul edilmez)
   - Başarı ölçütü / benchmark (ölçülebilir: süre, doğruluk, coverage,
     performans, hata oranı vb. — sayısal hedef iste, "iyi olsun" yetmez)
   - Kapsam dışı (explicitly out of scope — ne YAPILMAYACAK)
   - Bağımlılıklar / etkilenen mevcut dosyalar-modüller
   - Performans/güvenlik kısıtı varsa
   - Geri dönüş/rollback beklentisi (hata olursa ne olmalı)
   - Kabul kriteri sahibi kimin onayı yeterli (kullanıcı mı, otomatik test mi)
   - Test stratejisi oranı (unit/integration/e2e yüzdeleri) — kullanıcı
     bilmiyorsa proje tipine göre makul bir varsayılan öner (örn. backend
     API: 70/20/10) ve onaylat, "belirtilmedi" bırakma
   - Bilinen riskler/varsayımlar/bilinmeyenler (varsa)

4z. **Soruları Sonnet 5 alt-ajanına (low reasoning effort) dispatch et —
   `AskUserQuestion` YOK.**
   4. adımdaki soru listesini kullanıcıya sorma. Prompt'u hazırla:

   ```
   Aşağıdaki özellik için ATDD netleştirme sorularını YANITLA.
   BU BİR ARAŞTIRMA GÖREVİ DEĞİL — hiçbir tool (Read/Grep/Glob/
   WebSearch/Bash vb.) KULLANMA, kod tabanını tarama. SADECE aşağıda
   verilen bağlamdan en makul cevabı seç/üret. Bağlam yetersizse bile
   araştırmaya başlama — en makul varsayımı gerekçesiyle yaz.
   Her soru için en makul/varsayılan seçeneği seç (veya seçenek yoksa
   kısa bir cevap üret), 1 cümlelik gerekçeyle. Kullanıcının orijinal
   isteği: <kullanıcının mesajı>. Proje bağlamı: <atdd.md'nin
   task_slug'ı, ilgiliyse jira-sync/plan.md'den gelen özet>.
   Sorular:
   1. <soru 1 + varsa seçenekler>
   2. ...
   Yanıt formatı: her soru için 'N. <seçilen cevap> — <gerekçe>'.
   ```

   ```
   Agent({
     description: "Answer ATDD clarification questions for <task-slug>",
     subagent_type: "general-purpose",
     model: "sonnet",
     reasoning_effort: "low",
     run_in_background: false,
     prompt: "<yukarıdaki prompt, birebir>"
   })
   ```
   Cevaplar "Sorular ve Cevaplar" bölümüne `(Sonnet 5 low alt-ajanı
   tarafından yanıtlandı: <gerekçe>)` notuyla işlenir — kendi başına
   değiştirme/yeniden yorumlama. Sonuç, taslak doldurulurken 5. adımda
   kullanılır, kullanıcı cevabı gibi gösterilmez.

   İstisna: kullanıcı mesajında zaten net bir cevap varsa (3. adım), o
   kategori için alt-ajana SORULMAZ, doğrudan `(kullanıcı mesajından)`
   notuyla kullanılır — gereksiz Sonnet 5 çağrısı yapılmaz.

4a. **Davranış sözleşmesini tablo olarak çıkar — zorunlu adım.**

   Belirsiz bırakılan hata davranışı, bu boru hattının en pahalı hata
   sınıfını üretiyor: **başarı bildiren ama hiçbir şey yapmayan çağrı.**
   2026-08-16'da Codex köprüsünde birebir bu yaşandı — `write_code()`
   `success: True` döndürdü, tek dosya bile değişmemişti; sonraki adım buna
   güvenip üstüne inşa edecekti. Sözleşme yazılmadığı için "hiçbir şey
   yazamadım" durumunun ne dönmesi gerektiği hiç kararlaştırılmamıştı.

   Her yeni özellik/fonksiyon/uç için şu tabloyu doldur. Satırları sen
   önerirsin, 4z adımındaki Sonnet 5 low alt-ajanı çağrısına bu tabloyu da

From yutronax/atdd-pipeline-skills, MIT.

More from yutronax/atdd-pipeline-skills

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Sep 21, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from yutronax

Cite this page

atdd skill. Agent Mart. https://agentmart.dev/skills/yutronax-atdd (last updated 2026-10-24)