Free

Slash Command: Claude Code için Yeniden Kullanılabilir Komut Sistemi Oluşturma

Yeniden kullanılabilir slash command'ları Markdown dosyası olarak tanımla, git aracılığıyla ekiple paylaş; kod incelemesi, test oluşturma ve PR açıklamaları gibi sık görevleri kapsa.


Claude Code, yerleşik birkaç slash command ile gelir — /help, /clear, /compact. Ancak iş akışını gerçekten hızlandıranlar, kendin yazdıklarındır.

Bu makale, yeniden kullanılabilir bir slash command sistemi tasarlamayı anlatıyor; böylece tüm ekip aynı prompt kütüphanesini paylaşabilir ve her seferinde görev açıklamalarını sıfırdan yeniden yazmak zorunda kalmaz.

Özel Slash Command Nedir

Claude Code'da özel bir slash command yalnızca bir Markdown dosyasıdır. Doğru dizine koy, Claude Code başlangıçta otomatik olarak tanır, /dosya-adı yazınca tetiklenir.

Dosyanın içeriği Claude'a gönderilen prompttur. Hepsi bu.

Özel sözdizimi yok, yapılandırma formatı yok — tek bir .md dosyası tek bir komuttur.

Dosyalar Nereye Konur

İki konum, iki amaç:

Konum Yol Kapsam
Proje .claude/commands/ Yalnızca mevcut proje, git'e commit edilebilir
Kullanıcı ~/.claude/commands/ Tüm projeler, kişisel

Proje seviyesi, ekip paylaşımının çekirdeğidir. .claude/commands/'ı git'e commit et, depoyu klonlayan herkes komut setini otomatik olarak alır.

Kullanıcı seviyesi, kişisel alışkanlıklar için uygundur — tercih ettiğin kod stil kontrolleri veya yalnızca senin kullandığın araç entegrasyonları.

İlk Command'ı Oluşturma

Proje kökünde:

mkdir -p .claude/commands

.claude/commands/review.md oluştur:

Mevcut değişikliklerin kod kalitesini gözden geçir. Şunlara odaklan:

1. Mantık hataları ve sınır koşulları
2. Adlandırmanın açık olup olmadığı
3. Çıkarılmaya değer tekrarlayan kodlar
4. Güvenlik sorunları (SQL enjeksiyonu, XSS, açığa çıkan sırlar)

Somut, uygulanabilir öneriler ver — genel tavsiyeler değil.

Claude Code'u yeniden başlat ve tetiklemek için /review yaz.

$ARGUMENTS ile Giriş Almak

Sabit içerikli komutların kullanım alanı sınırlıdır. $ARGUMENTS komutları esnek hale getirir — kullanıcının /komuttan sonra yazdığı içerik, prompta eklenir.

Örnek .claude/commands/test.md:

Şunun için testler yaz: $ARGUMENTS

Gereksinimler:
- Mutlu yolu ve sınır durumları kapsa
- Test adları kendini açıklayıcı olsun
- Mümkün olan yerlerde mock yerine gerçek veri kullan

Kullanım:

/test UserAuthentication sınıfının login metodu

Claude şunu alır:

Şunun için testler yaz: UserAuthentication sınıfının login metodu

Gereksinimler:
...

$ARGUMENTS promptun herhangi bir yerinde görünebilir ve birden çok kez kullanılabilir.

Tasarım İlkeleri

Bir komut, bir sorumluluk

Her şeyi sıkıştırılmış bir "hepsi bir arada" komutu yazma. /review kod incelemesi için, /test test yazma için, /pr PR açıklamaları için. Odaklı komutların akılda kalması ve yeniden kullanılması daha kolaydır.

Somut promptlar yaz, soyut değil

Kötü:

Bu kodu optimize etmeme yardım et

İyi:
```
Bu kodu performans için optimize et. Öncelikle:
1. Gereksiz veritabanı sorgularını azalt (N+1 sorunları)
2. Döngüler içinde tekrarlayan hesaplamalardan kaçın
3. Doğrusal aramaları daha verimli veri yapılarıyla değiştir

Arayüzü değiştirme — yalnızca uygulamayı değiştir.
```

Somut kısıtlamalar, hedefli sonuçlara yol açar.

Komutlara frontmatter ekle

description alanı Claude Code'un komut listesinde görünür; ekip üyeleri her komutun ne işe yaradığını hızla anlayabilir:

---
description: Mevcut değişiklikleri gözden geçirir ve kod kalitesi geri bildirimi sağlar
---

Mevcut değişikliklerin kod kalitesini gözden geçir...

Pratik Bir Proje Seviyesi Commands Seti

Bir Rails projesi için, bu komutlar en yaygın günlük geliştirme görevlerini kapsar:

.claude/commands/review.md — Kod incelemesi

```markdown

description: Mevcut değişiklikleri mantık, güvenlik ve okunabilirlik açısından inceler

git diff'teki değişiklikleri gözden geçir. Şunları kontrol et:
- Mantık hataları ve sınır koşullarının işlenmesi
- Güvenlik sorunları: SQL enjeksiyonu, yetkilendirme kontrolleri
- Adlandırma netliği
- Çıkarılmaya değer tekrarlayan mantık

Her sorun için belirli konumu ve somut bir öneri ver.
```

.claude/commands/test.md — Test oluşturma

```markdown

description: Belirtilen kod için test senaryoları oluşturur

Bu kod için testler yaz: $ARGUMENTS

RSpec kullan. Kapsam: mutlu yol, sınır değerleri, hata koşulları.
Adlandırma formatı: describe ... context ... it ...
Varsayılan olarak gerçek nesneleri kullan; yalnızca gerektiğinde harici bağımlılıkları mockla.
```

.claude/commands/pr.md — PR açıklaması

```markdown

description: Mevcut değişikliklerden PR başlığı ve açıklaması oluşturur

git diff ve commit log'a dayanarak bir PR açıklaması oluştur.

Format:

Ne değişti

(Yapılanları özetleyen 2-3 cümle)

Neden

(Arka plan ve motivasyon)

Nasıl test edilir

(Bu değişiklik nasıl doğrulanır)

Kısa tut, bir kod inceleyicisi için yazılmış.
```

.claude/commands/explain.md — Kodu açıklama

```markdown

description: Belirtilen dosyanın veya fonksiyonun ne yaptığını açıklar

$ARGUMENTS'ın ne yaptığını açıkla:
- Genel sorumluluğu nedir?
- Temel mantık nasıl çalışır?
- Hangi sınır durumları not edilmeye değer?

Kodun bu bölümüne yeni gelen bir geliştirici için yaz. Neden üzerine odaklan, yalnızca ne değil.
```

Kullanıcı Seviyesi Commands: Kişisel İş Akışı

Bazı alışkanlıklar kişiseldir ve tüm ekibe dayatılmamalıdır. Bunları ~/.claude/commands/'a koy:

~/.claude/commands/standup.md — Günlük standup hazırlığı
```markdown
Bugünün git log'una ve açık TODO'lara dayanarak bir standup özeti hazırla:
- Dün tamamladıklarım
- Bugün planladıklarım
- Herhangi bir engel var mı

En fazla 5 cümle.
```

~/.claude/commands/refactor.md — Refactoring önerileri
```markdown
$ARGUMENTS'ı analiz et ve refactoring iyileştirmeleri öner.

Yalnızca gerçekten değerli değişiklikler öner — refactoring uğruna refactoring yapma.
Her öneri için açıkla: hangi sorunu çözüyor, ne kadar iş gerektiriyor ve riski nedir.
```

Ekip Benimsemesinin Anahtarı: Git'e Commit Et

Özel komutların gerçek değeri kişisel verimlilik değil — ekibe ortak bir söylem vermektir.

.claude/commands/'ı depoya commit et ve README ya da CLAUDE.md'de mevcut komutları belgele. Yeni ekip üyeleri, depoyu klonladıkları anda ekibin biriktirdiği prompt kütüphanesine erişir, kendi başlarına keşfetmek zorunda kalmadan.

Proje geliştikçe komutlar da gelişir. Bir prompt iyi çalışmıyorsa, bir satırı düzelt ve push et — tüm ekip güncellemeyi alır. Bu, prompt mühendisliğini ekip seviyesinde yerleştirmenin en düşük maliyetli yoludur.

Dizin Yapısı Referansı

.claude/
├── commands/
│   ├── review.md      # Kod incelemesi
│   ├── test.md        # Test oluşturma
│   ├── pr.md          # PR açıklaması
│   └── explain.md     # Kodu açıklama
└── settings.json