O kadar spesifik bir prompt yazdınız ki yalnızca tek bir iş akışına uygulanıyor — Dockerfile’ların güvenlik incelemesi. Bunu her claude -p çağrısına yapıştırmak sıkıcı ve hataya açık. İsmiyle çağırabileceğiniz, kendi araç kısıtlamaları ve izinleri yerleşik olan yeniden kullanılabilir bir agent’a ihtiyacınız var.
Özel agent’lar, belirli talimatlar, araçlar ve varsayılanlara sahip önceden yapılandırılmış Claude kişilikleridir. Bunları kayıtlı profiller veya kişilikler olarak düşünün. Her agent, kimliğini, yeteneklerini ve sistem prompt’unu belirten YAML frontmatter’lı bir Markdown dosyası (“agent dosyası”) olarak tanımlanır. Her agent kendi bağlam penceresinde bağımsız izinlerle çalışır. Bunları bir projeye kapsamlandırabilir, tüm çalışmalarınızda paylaşabilir veya tek seferlik kullanım için satır içi tanımlayabilirsiniz.
Dar kapsamlı bir şeyle başlayın — bir kod inceleyici, bir test yazıcısı. 3-4 araçlı odaklanmış agent’lar, her şeye erişimi olan geniş agent’lardan daha iyi performans gösterir, çünkü daha küçük araç seti daha az yanlış adım anlamına gelir.
Agent Dosya Formatı
Bir agent dosyası, YAML frontmatter’ın agent’ın kimliğini ve yeteneklerini tanımladığı ve Markdown gövdesinin agent’ın sistem prompt’u olduğu bir Markdown belgesidir. Proje düzeyinde erişim için .claude/agents/’a veya kullanıcı düzeyinde erişim için ~/.claude/agents/’a kaydedin.
Örnek: bir ‘code-reviewer’ agent’ı — her zaman plan modunu kullanır, araçları Read/Grep/Glob ile kısıtlar ve bir ‘hata bul’ sistem prompt’una sahiptir:
---name: code-reviewerdescription: Expert code review specialist. Use proactively after code changes.tools: Read, Grep, Glob, Bashmodel: sonnetpermissionMode: plan---
You are a senior code reviewer ensuring high standards of code quality.
When invoked:1. Run git diff to see recent changes2. Focus on modified files3. Begin review immediately
Review checklist:- Code is clear and readable- No duplicated code- Proper error handling- No exposed secrets- Input validation implementedÖzel Agent'lar ile Sistem Prompt'ları Ne Zaman Kullanılmalı
| Yaklaşım | En Uygun Kullanım | Özellikler |
|---|---|---|
| Özel Agent’lar | Yeniden kullanılabilir iş akışları, ekip paylaşımı, versiyonlanmış yapılandırmalar | Dosya olarak kaydedilir, git ile commit edilebilir, araç kısıtlamaları, izin modları, delege edilebilir |
| —append-system-prompt | Tek seferlik oturumlar, hızlı deneyler, CI/CD geçersiz kılmaları | Oturuma özel, dosya gerekmez, varsayılan prompt’a eklenir, araç kapsamlandırması yok |
Frontmatter Alanları Referansı
| Alan | Zorunlu | Açıklama |
|---|---|---|
name | Evet | Benzersiz tanımlayıcı (küçük harf, tire) |
description | Evet | Claude’un bu agent’a ne zaman delege etmesi gerektiği — belirsiz açıklamalar tutarsız delegasyona neden olur |
tools | Hayır | İzin verilen araçlar (belirtilmezse tümünü miras alır) |
disallowedTools | Hayır | Açıkça reddedilecek araçlar |
model | Hayır | sonnet, opus, haiku, inherit veya tam model kimliği |
permissionMode | Hayır | default, acceptEdits, dontAsk, bypassPermissions, plan, auto |
maxTurns | Hayır | Agent durmadan önceki maksimum agentic tur sayısı |
memory | Hayır | Kalıcı bellek kapsamı: user, project veya local |
mcpServers | Hayır | Bu agent’a kapsamlanmış MCP sunucuları (çoklu kiracı yapılandırmaları için Bölüm 15’e bakın) |
hooks | Hayır | Bu agent’a kapsamlanmış yaşam döngüsü hook’ları |
background | Hayır | Arka plan görevi olarak her zaman çalıştırmak için true |
isolation | Hayır | git worktree izolasyonu için worktree |
Şimdi minimal bir özel agent oluşturun. .claude/agents/summarizer.md dosyasını şu içerikle oluşturun:
---
name: summarizer
description: Summarize files in 3 bullet points
tools: [“Read”, “Glob”]
---
You are a code summarizer. Read the requested file and return exactly 3 bullet points summarizing what it does.
Bunu claude /agents summarizer çalıştırarak test edin ve projenizdeki bir dosyayı özetlemesini isteyin.
Yerleşik Agent’lar
Claude Code beş yerleşik agent ile birlikte gelir. Bunları düzenleyemezsiniz, ancak aynı isimde bir agent dosyası oluşturarak geçersiz kılabilirsiniz.
Yerleşik Agent'lar
| Agent | Model | Araçlar | Amaç |
|---|---|---|---|
Explore | haiku | Salt okunur | Basit Glob veya Grep yeterli olmadığında hızlı kod tabanı keşfi ve arama |
Plan | inherit | Salt okunur | Plan modu için araştırma agent’ı — dosyaları okur ve değişiklik yapmadan bulguları raporlar |
general-purpose | inherit | Tüm araçlar | Okuma, yazma ve komut çalıştırma gerektiren karmaşık çok adımlı görevleri yönetir |
claude-code-guide | haiku | Salt okunur | Claude Code özellikleri ve kullanımı hakkındaki soruları yanıtlar |
statusline-setup | sonnet | Read, Edit | Durum satırı görüntü ayarlarını yapılandırır |
Özel Agent Oluşturma
İhtiyacınız olan kapsama bağlı olarak iki dizinden birinde bir Markdown dosyası oluşturun:
- Proje düzeyi:
.claude/agents/code-reviewer.md— ekibinizin agent’ı paylaşması için git’e commit edin - Kullanıcı düzeyi:
~/.claude/agents/code-reviewer.md— makinenizdeki her projede kullanılabilir
Dosya adı (.md uzantısı hariç) agent adı olur, dolayısıyla code-reviewer.md dosyası code-reviewer adında bir agent oluşturur. Frontmatter’daki name alanı eşleşmelidir.
İsimler çakıştığında, çözüm sırası şöyledir:
Agent İsim Önceliği
| Öncelik | Kaynak | Örnek |
|---|---|---|
| 1 (en yüksek) | —agents CLI bayrağı | —agents ’{“reviewer”: {…}}‘ |
| 2 | .claude/agents/ (proje) | .claude/agents/reviewer.md |
| 3 | ~/.claude/agents/ (kullanıcı) | ~/.claude/agents/reviewer.md |
| 4 (en düşük) | Plugin agent’ları | Plugin’ler aracılığıyla yüklenir |
Satır İçi Agent’lar
Hızlı test veya CI/CD ardışık düzenleri için, dosya oluşturmak yerine --agents bayrağıyla agent’ları satır içi tanımlayın. Bayrak, her anahtarın bir agent adı ve her değerin agent’ın yapılandırmasını tanımladığı bir JSON nesnesi kabul eder:
claude --agents '{ "code-reviewer": { "description": "Expert code reviewer. Use proactively after code changes.", "prompt": "You are a senior code reviewer. Focus on quality, security, and best practices.", "tools": ["Read", "Grep", "Glob", "Bash"], "model": "sonnet" }, "debugger": { "description": "Debugging specialist for errors and test failures.", "prompt": "You are an expert debugger. Analyze errors, identify root causes, and provide fixes." }}'JSON alanları YAML frontmatter alanlarını yansıtır, tek bir farkla: sistem prompt’u için Markdown gövdesi yerine prompt kullanın. Satır içi agent’lar oturum kapsamlıdır ve diske kaydedilmez.
Tüm oturumu belirli bir agent olarak çalıştırmak için --agent (tekil) kullanın:
claude -p "Review this code" \ --agents '{"reviewer": {"description": "Code reviewer", "prompt": "You are a strict code reviewer. Always start with REVIEWER:"}}' \ --agent reviewer \ --output-format jsonAgent’ın sistem prompt’u varsayılan Claude Code sistem prompt’unu tamamen değiştirir. CLAUDE.md dosyaları normal şekilde yüklenmeye devam eder.
Agent(type) Aracı
Çalışan bir oturum içinde Claude, Agent aracını kullanarak subagent’lar oluşturabilir. Bu aracı doğrudan çağırmazsınız — Claude’dan işi ismiyle bir agent’a devretmesini istersiniz:
Use the code-reviewer subagent to review the auth moduleVeya @-bahsetme ile:
@"code-reviewer (agent)" look at the auth changesBir koordinatörün hangi agent’ları oluşturabileceğini tools frontmatter alanındaki Agent(type) sözdizimi ile kısıtlayabilirsiniz:
---name: coordinatordescription: Coordinates work across specialized agentstools: Agent(worker, researcher), Read, Bash---Bu koordinatörden yalnızca worker ve researcher agent’ları oluşturulabilir. Parantez olmadan Agent kullanmak, mevcut herhangi bir agent’ın oluşturulmasına izin verir.
Subagent’lar için temel kısıtlamalar:
- Subagent’lar başka subagent’lar oluşturamazlar — iç içe geçirme yasaktır
- Subagent’lar kendi sistem prompt’larını alır, tam Claude Code prompt’unu değil
- Ön plan subagent’ları tamamlanana kadar ana konuşmayı engeller; izin istekleri aktarılır
- Arka plan subagent’ları izinler önceden onaylanmış şekilde eşzamanlı çalışır; çalışan bir görevi arka plana almak için Ctrl+B’ye basın
claude agents Komutu
Yapılandırılmış tüm agent’ları (hem yerleşik hem de özel) görmek için claude agents çalıştırın:
Etkileşimli modda, oturumunuzdan ayrılmadan agent oluşturmak, düzenlemek ve silmek için /agents eğik çizgi komutunu kullanın. Bu şekilde oluşturulan yeni agent’lar yeniden başlatma gerektirmeden hemen kullanılabilir.
Agent dosyaları Markdown’dır — dokümantasyon gibi görünür ama yapılandırma gibi davranır. YAML frontmatter agent’ın kimliğini, araçlarını ve modelini tanımlarken, Markdown gövdesi aynen sistem prompt’u olur. Metni düzenlerseniz, yalnızca açıklamasını değil, agent’ın nasıl davrandığını değiştiriyorsunuz demektir.
Yerleşik Explore ve claude-code-guide agent’ları hız ve maliyet için varsayılan olarak haiku modelini kullanır. Haiku, Opus’tan yaklaşık 20 kat daha ucuzdur, bu da onu hızlı keşif görevleri için ideal kılar. Ancak, yerleşik bir agent’ı özel bir dosyayla geçersiz kılarsanız ve model alanını atlarsanız, oturumun modelini miras alır — potansiyel olarak çok daha yüksek maliyetle Opus üzerinde çalışır.
--brief Bayrağı
--brief bayrağı Claude’un sistem prompt’unu daha kısa yanıtlar üretecek şekilde değiştirir. Belgelerin SendUserMessage aracını etkinleştirdiğini öne sürmesine rağmen, testler bunun oturuma herhangi yeni bir araç eklemediğini doğrulamaktadır.
--brief’in gerçekte yaptığı:
- Sistem prompt’unu değiştirir — farklı cache oluşturma token’larıyla doğrulanmıştır (standart prompt için 0’a karşı 9.245 yeni token)
SendUserMessage’ı etkinleştirMEZ — stream-json init olayı--briefolsun veya olmasın aynı araç listesini gösterir- Çıktı formatını değiştirMEZ — JSON ve stream-json çıktı yapısı aynıdır
- Agent’larla uyumludur —
--agentve--agentsile çakışma olmadan çalışır
# --brief ile (farklı sistem prompt'u önbelleğe alınır)claude -p "Summarize this file" --brief --output-format json# Çıktı: aynı yapı, aynı alanlar, potansiyel olarak daha kısa sonuç metni
# --brief olmadan (standart sistem prompt'u)claude -p "Summarize this file" --output-format json# Çıktı: aynı yapı, sonuç daha ayrıntılı olabilir—brief bayrağının etkisi öncelikle etkileşimli modda, daha kısa durum mesajları ve daha özlü yanıtlar ürettiğinde görünür. Basit prompt’larla etkileşimli olmayan -p modunda, çıktı brief olmayan versiyondan ayırt edilemez. Bayrak kullanımı güvenlidir ve hiçbir işlevselliği bozmaz.
--agent ile Agent Seçimi
--agent bayrağı (tekil), tüm oturum için isimli bir agent seçer. Agent’ları öncelik sırasına göre üç kaynaktan keşfeder:
- CLI satır içi —
--agents '{"name": {...}}'(en yüksek öncelik) - Proje agent’ları —
.claude/agents/name.md - Kullanıcı agent’ları —
~/.claude/agents/name.md
# Dosya tabanlı bir agent seçinclaude -p "Review this code" --agent code-reviewer --output-format json
# Satır içi bir agent seçinclaude -p "Review this code" \ --agents '{"reviewer": {"description": "...", "prompt": "..."}}' \ --agent reviewer --output-format json
# Keşfedilebilir tüm agent'ları listeleyinclaude agentsclaude agents komutu tüm mevcut agent’ları kaynağa göre gruplandırılmış olarak gösterir:
6 active agents
Project agents: code-reviewer · sonnet
Built-in agents: claude-code-guide · haiku Explore · haiku general-purpose · inherit Plan · inherit statusline-setup · sonnetGeçersiz agent isimleri sessizce görmezden gelinir. —agent nonexistent geçerseniz, Claude hiçbir hata veya uyarı olmadan varsayılan sistem prompt’una geri döner. CI/CD’de, agent yüklenmesini çıktıdaki beklenen işaretleyicileri kontrol ederek doğrulayın (ör. agent’ınızın prompt’unun her zaman ürettiği REVIEWER: gibi bir önek).
Kod incelemesi için bir sistem prompt’u ve tools: [“Read”, “Glob”, “Grep”] ile .claude/agents/reviewer.md oluşturun. Salt okunur erişim verin. Son commit’inizde test edin — artık projenize kapsamlanmış yeniden kullanılabilir bir inceleme agent’ınız var.