AgentSkillsCN

feature-tracking

管理功能列表并跟踪项目进展。适用于新增功能、更新功能状态,或定期汇报项目进度时使用。

SKILL.md
--- frontmatter
name: feature-tracking
description: Feature listesi yönetimi ve ilerleme takibi. Yeni feature eklerken, feature durumu güncellerken veya ilerleme raporlarken kullanılır.
disable-model-invocation: false
allowed-tools: Read, Write, Edit

Feature Tracking Skill

Bu skill, Anthropic'in "Effective Harnesses for Long-Running Agents" makalesindeki best practice'lere göre feature takibi yapar.

Feature List Yapısı

feature-list.json dosyası proje kökünde bulunur:

json
{
  "project_name": "Proje Adı",
  "created_at": "2025-01-25",
  "last_updated": "2025-01-25",
  "total_features": 10,
  "completed_features": 3,
  "features": [
    {
      "id": "F001",
      "category": "core",
      "priority": "critical",
      "description": "Kullanıcı login yapabilmeli",
      "acceptance_criteria": [
        "Email ve password ile giriş",
        "Hatalı giriş mesajı",
        "Session oluşturulması"
      ],
      "passes": true,
      "completed_at": "2025-01-25",
      "dependencies": [],
      "estimated_complexity": "medium",
      "actual_sessions": 2,
      "notes": "OAuth ile entegrasyon sonraya bırakıldı"
    }
  ]
}

Kullanım

Yeni Feature Ekle

code
/feature-tracking add "Feature açıklaması" --priority high --category api

Feature Durumu Güncelle

Feature'ı SADECE aşağıdaki durumlarda "passes: true" yap:

  1. Tüm acceptance criteria karşılandı
  2. End-to-end test yapıldı
  3. Manuel veya otomatik verification başarılı
code
/feature-tracking complete F001

İlerleme Raporu

code
/feature-tracking report

KRİTİK KURALLAR

⚠️ ASLA feature'ları silme veya acceptance criteria değiştirme! Bu, eksik veya hatalı fonksiyonelliğe yol açar.

⚠️ Sadece passes field'ını değiştir Diğer alanları değiştirmek yasaktır (notes hariç).

⚠️ Test etmeden "passes: true" yapma Her feature end-to-end test edilmeli.

Dependency Graph

Feature'lar arasında bağımlılık yönetimi:

depends_on (Bağımlılık)

Bir feature başlamadan önce tamamlanması gereken feature'lar:

json
{
  "id": "F003",
  "description": "Kullanıcı profil düzenleme",
  "depends_on": ["F001", "F002"],
  "status": "pending"
}

Kural: F001 ve F002 tamamlanmadan F003'e başlama!

blocks (Blokluyor)

Bu feature tamamlanmadan başlayamayacak feature'lar:

json
{
  "id": "F001",
  "description": "Kullanıcı kayıt",
  "blocks": ["F002", "F003", "F005"]
}

Anlam: F001 tamamlanana kadar F002, F003, F005 beklemeli.

Feature Seçim Algoritması

bash
# Çalışılabilir feature'ları listele
cat feature-list.json | jq '.features[] | select(
  .status == "pending" and
  .passes == false and
  (.depends_on | length == 0 or all(.[] as $dep |
    any(.features[]; .id == $dep and .passes == true)
  ))
) | {id, priority, description}'

Mantık:

  1. Status "pending" olmalı
  2. passes: false olmalı (henüz tamamlanmamış)
  3. Tüm bağımlılıkları tamamlanmış olmalı

Dependency Graph Görselleştirme

mermaid
graph TD
  F001[F001: User Registration] --> F002[F002: User Login]
  F001 --> F003[F003: Profile Edit]
  F002 --> F004[F004: Password Reset]
  F003 --> F005[F005: Avatar Upload]

Circular Dependency Kontrolü

Yasak:

json
{
  "id": "F001",
  "depends_on": ["F002"]
},
{
  "id": "F002",
  "depends_on": ["F001"]
}

Sonuç: Deadlock! Hiçbiri başlayamaz.

Kontrol: Feature eklerken circular dependency check yap.


Session Başı Kontrol

Her coding session'da:

  1. feature-list.json oku
  2. passes: false olan en yüksek öncelikli feature'ı seç
  3. Sadece O feature üzerinde çalış
  4. Tamamlandığında passes: true yap ve commit at