Agent skill, MCP server ve rules dosyası farkları
Coding agent'a bağlam vermenin üç yolunu karşılaştırın. Skill, MCP server ve rules dosyasının token maliyetini ve bakım yükünü inceleyip doğru seçimi yapın.
Agent skill'leri, MCP server'ları ve rules dosyaları: kısa yanıt
Agent skill'leri, MCP server'ları ve rules dosyaları, bilgiyi coding agent'ın önüne getirir. Seçim, bilginin ne işe yaradığına göre yapılmalıdır. MCP (model context protocol), bir sonraki sorguda farklı olabilecek veriler içindir. Skill, bugün yazılı hale getirilebilecek ve 6 hafta sonra da geçerliliğini koruyacak prosedürler içindir. Rules dosyası ise her oturumda geçerli olması gereken az sayıdaki bilgi içindir.
Bu seçimin bir maliyeti vardır ve bu maliyet context'tir. Agent'ın ihtiyaç duymadığı bir talimat için harcanan her token, okuduğu kod için kullanılamayan bir token'dır. Ayrıca her istekte tüm context window yeniden gönderildiği için bu token'ın maliyeti her turda tekrar ödenir. Bu nedenle doğru soru, hangi mekanizmanın işi yapabildiği değildir. Çoğu gün üçünün de yapabildiği işler vardır. Sorulması gereken, kullanılmadan beklerken en az maliyete neden olan mekanizmanın hangisi olduğudur.
Kullanmadan önce her birinin maliyeti
Üçü farklı anlarda yüklenir. Aralarındaki temel fark budur.
Bir rules dosyası başlatma sırasında, her oturumda ve ilgili olup olmadığına bakılmaksızın tamamen yüklenir. Claude Code, her konuşmanın başlangıcında CLAUDE.md dosyasını okur ve uzunluğundan bağımsız olarak tamamını yükler. Belgelenen hedef, dosya başına 200 satırın altında kalmaktır. Daha uzun bir dosya hem daha fazla context tüketir hem de daha az güvenilir biçimde uygulanır. Bu iki etki aynı yönde çalışır. Bu nedenle 900 satırlık bir rules dosyası yarardan çok zarar verir.
Bir skill iki aşamada yüklenir. Başlangıçta her SKILL.md frontmatter içindeki yalnızca description satırı context'e alınır. Böylece model skill'in mevcut olduğunu ve yaklaşık olarak ne zaman uygulanacağını bilir. Gövde, skill çağrıldığında yüklenir. Bu nedenle 400 satırlık bir referans belgesi, gerek duyulana kadar neredeyse hiç maliyet oluşturmaz.
Bir MCP server daha önce pahalı olan seçenekti. Güncel karşılaştırmaların çoğu artık bu nedenle geçerliliğini yitirmiştir. Güncel Claude Code sürümlerinde tool search varsayılan olarak açıktır. Oturum başlangıcında yalnızca tool adları ve server'ın instructions alanı yüklenir. Tam JSON (JavaScript object notation) şemaları, Claude bunları arayana kadar ertelenir. Bir server eklemek artık başlangıçta binlerce token maliyeti oluşturmaz. Yine de bir maliyeti vardır. Tool search kapalı olan yapılandırmalarda ise tüm maliyet başlangıçta oluşur.
The data behind this chart
[
{
"label": "Rules file, 200 lines",
"at_startup": "2,500",
"after_use": "2,500"
},
{
"label": "Skill, 12 KB body",
"at_startup": 40,
"after_use": "3,000"
},
{
"label": "MCP server, tool search on",
"at_startup": 500,
"after_use": "3,200"
},
{
"label": "MCP server, tool search off",
"at_startup": "4,500",
"after_use": "4,500"
}
]Bunlar tahmindir. Makinenizden alınmış ölçümler değildir. Tahminler, her mekanizmanın yüklediği metin boyutuna ve yaklaşık olarak token başına dört karakter varsayımına dayanır: 200 satırlık bir rules dosyası yaklaşık 10 KB markdown içerir, bir skill açıklaması yaklaşık 160 karakterdir ve on iki tool sunan bir server yaklaşık 18 KB şema ile 2 KB instructions bloğu içerir. Claude Code, her tool açıklamasını ve her server instructions alanını 2 KB ile sınırlar. Bu nedenle bu bölümün bir üst sınırı vardır. Sonraki bölümde kendi gerçek değerlerinizi nasıl okuyacağınız gösterilir.
İlk iki satır birlikte değerlendirilmelidir. Rules dosyası, ihtiyaç duyulmadığı bir oturumda 2,500 token maliyeti oluşturur. Skill, aynı oturumda 40 token maliyeti oluşturur. Skill'in devreye girdiği on oturumdan birinde ise maliyet 3,000 olur. Son iki satır aynı server'ı iki kez gösterir: tool search açıkken ve kapalıyken. Maliyetler sırasıyla 500 ve 4,500 token'dır. MCP context şişmesi hakkındaki eski önerilerin hâlâ dolaşımda olmasının nedeni bu farktır.
Tool search, tool_reference bloklarını destekleyen bir model gerektirir. August 2026 itibarıyla bu modeller Claude Sonnet 4.5, Haiku 4.5, Opus 4.5 ve sonraki sürümlerdir. Claude Code, ANTHROPIC_BASE_URL birinci taraf olmayan bir host'u gösterdiğinde tool search özelliğini kapatır. Bunun nedeni proxy'lerin çoğunun bu blokları iletmemesidir. Tool search davranışını denetlemek için ENABLE_TOOL_SEARCH ayarlanmalıdır: false tüm şemaları başlangıçta yükler, true tüm şemaları erteler ve auto yalnızca şemaların context window'un %10'u içine sığdığı durumlarda bunları başlangıçta yükler.
# Load schemas up front only if they fit in 5% of the window
ENABLE_TOOL_SEARCH=auto:5 claudeKarar için temel soru: Çağrılar arasında veri değişiyor mu?
Önce bunu sorun; çünkü seçeneklerden birini doğrudan eler. Agent, bir sonraki erişiminde farklı olabilecek bir şeyi okuması veya yazması gerekiyorsa server gerekir. Issue tracker, database, monitoring dashboard veya kurum içi API (application programming interface) buna örnektir. Bunu yazılı hale getirmek yardımcı olmaz; çünkü başka biri kaydı düzenlediği anda yazdığınız bilgi güncelliğini yitirir.
Kimse bakım yapmasa bile yanıt altı hafta sonra hâlâ doğru olacaksa skill kullanmanız gerekir. Release checklist. Migration procedure. Hata yanıtlarınızın biçimi. Bu repository içinde testlerin nasıl yazılması gerektiği. Skill, git içindeki bir dosyadır. Portu veya process'i yoktur. Yanlış olmanın dışında failure mode'u bulunmaz; bu hata da code review sırasında yakalanabilir.
Henüz düşünmediğiniz işlerde geçerli olması gereken tek bir gerçek varsa bunu rules file'a ekleyin. Run make lint before committing. Never push to main. Handlers live in src/api/handlers/. Her biri tek satır olmalıdır. Bir kayıt adımlara dönüşecek kadar büyüdüğü anda artık bir gerçek değil, procedure haline gelmiştir ve skill içine taşınmalıdır.
Kurallar dosyası ne zaman yeterlidir
Kurallar dosyaları, en geniş kapsamdan en özel kapsama doğru çeşitli konumlardan yüklenir: yönetilen bir ilke dosyası, kişisel ~/.claude/CLAUDE.md dosyanız, projenin ./CLAUDE.md veya ./.claude/CLAUDE.md dosyası ve git tarafından yoksayılan ./CLAUDE.local.md dosyası. Bulunan tüm dosyalar birbirinin üzerine yazılmadan birleştirilir. Çalışma dizininize daha yakın olan dosyalar en son okunur.
Claude Code, CLAUDE.md dosyasını okur; AGENTS.md dosyasını okumaz. Deponuzda başka araçlar için zaten bir AGENTS.md dosyası varsa, zamanla farklılaşacak iki kopyayı birlikte yönetmeyin.
ln -s AGENTS.md CLAUDE.mdSymlink işlemi başarılı olduğunda çıktı üretmez. Bir oturum başlatın, /context komutunu çalıştırın ve Memory files altında CLAUDE.md öğesinin göründüğünü doğrulayın. Listede yer almıyorsa agent bu dosyayı hiç görmemiştir ve yeniden ifade etmek sorunu çözmez. Claude'a özgü satırları da eklemek istiyorsanız bunun yerine import biçimini kullanın ve bu satırları import ifadesinin altına yerleştirin.
@AGENTS.md
## Claude Code
Use plan mode for changes under `src/billing/`.Burada dikkat edilmesi gereken bir nokta vardır. @path import işlemleri bağlamı kaydetmez. Import edilen dosya, bu dosyaya başvuran dosyayla birlikte başlatma sırasında genişletilir ve yüklenir; bu işlem en fazla dört seviye derinliğe kadar sürer. 600 satırlık bir kurallar dosyasını altı import dosyasına bölmek insanlar için düzen sağlar, ancak token maliyetini tam olarak sıfır değiştirir. Bir yerleşim düzenine karar vermeden önce AGENTS.md dosyasının ve insanlara yönelik eşdeğerinin ardındaki kuralları okumanız yararlı olur.
Maliyeti azaltan yöntem, paths alanı içeren .claude/rules/ kullanmaktır. paths frontmatter taşıyan bir kurallar dosyası yalnızca agent, belirtilen desenlerden biriyle eşleşen bir dosyaya eriştiğinde yüklenir.
---
paths:
- "src/api/**/*.ts"
---
# API rules
- Every endpoint validates its input.
- Use the standard error response shape.paths alanı bulunmayan bir kural, .claude/CLAUDE.md ile aynı öncelikte başlatma sırasında yüklenir. Bu nedenle uygulanacak yöntem, kısa ve koşulsuz kurallar kullanmak ve yalnızca belirli bir dizin içinde geçerli olan kurallar için paths listesi eklemektir.
Bir beceri gerektiğinde
Bir beceri, içinde SKILL.md bulunan bir dizindir. Kişisel beceriler ~/.claude/skills/<name>/SKILL.md konumunda bulunur ve makinenizdeki her projeye uygulanır. Proje becerileri .claude/skills/<name>/SKILL.md konumunda bulunur, repository ile birlikte taşınır ve diğer dosyalar gibi bir pull request içinde incelenebilir.
mkdir -p ~/.claude/skills/summarize-changes---
name: summarize-changes
description: Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed, wants a commit message, or asks to review their diff.
---
Run `git status` and `git diff` against the merge base.
Group the changes by intent, not by file.
Call out anything touching auth, migrations or deletions.description, beceri çalışmadan önce bu dosyanın context içinde bulunan tek bölümüdür. Bu nedenle iki işlevi vardır. Beceriye ne yaptığını ve ne zaman kullanılacağını bildirir. "Deploy işlemlerine yardımcı olur" açıklaması, modele bir isteği eşleştireceği bilgi vermez. Bu nedenle beceri sessizce hiç çalışmaz ve becerilerin çalışmadığı sonucuna varılır.
Dizin adı komuta dönüşür. Bu nedenle yukarıdaki örnek size /summarize-changes değerini verir. Kişisel veya proje becerisinde frontmatter içindeki name yalnızca listelemelerdeki görüntüleme etiketini belirler.
Bir beceri çağrıldığında, işlenmiş içeriği konuşmaya tek bir mesaj olarak eklenir ve oturumun geri kalanında burada kalır. Claude Code sonraki turlarda dosyayı yeniden okumaz. Tek seferlik adımlar yerine sürekli uygulanacak talimatlar yazılmalı ve gövde kısa tutulmalıdır. Çünkü bu noktadan sonra her satır, her istekte tekrarlanan bir maliyettir. Otomatik sıkıştırmadan sonra Claude Code, her becerinin en son çağrılışını yeniden ekler. Her birinin ilk 5,000 token'ı, toplam 25,000 token bütçesine dahil edilir. Tek bir oturumda birkaç büyük beceri çağrılırsa en eskiler tamamen kaldırılır. Bu nedenle uzun bir konuşmadan sonra bir becerinin etkisini yitirdiği düşünülebilir. Beceri yeniden çağrıldığında geri gelir. Aynı prosedür birden fazla codebase için geçerliyse dosyayı kopyalamak yerine bir beceriyi birden fazla repository arasında paylaşın.
MCP sunucusuna ihtiyaç duyulduğunda
Bir sunucu eklemek tek bir komutla yapılır ve aktarım yöntemi sunucunun çalışma biçimini belirler.
# Remote HTTP server
claude mcp add --transport http notion https://mcp.notion.com/mcp
# Remote HTTP server behind a bearer token
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token"
# Local stdio server: everything after -- is passed through untouched
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
-- npx -y airtable-mcp-server-- önemlidir. stdio sunucusunda bu seçenek, Claude Code seçeneklerini sunucunuzu başlatan komut satırından ayırır. Bu seçeneği atlarsanız sunucuya gönderilmesi amaçlanan bir --port 8080, claude mcp add için seçenek olarak ayrıştırılır ve claude mcp add bunu reddeder.
claude mcp list
claude mcp get notionclaude mcp add, Added ... satırıyla onay verir. Bu yalnızca yapılandırmanın diske yazıldığını gösterir. Gerçek durumu gösteren komut claude mcp list komutudur; bu komut her sunucunun yanında bir sağlık durumu yazdırır: ✔ Connected, ! Needs authentication veya ✘ Failed to connect. Failed durumu, Claude Code'un ilgili sunucuya ulaşamadığı anlamına gelir; list komutunun başarısız olduğu anlamına gelmez. Bir oturum içinde /mcp, her sunucu için aynı görünümü ve araç sayısını gösterir.
MCP sunucusuna yapılan her çağrı bağımsızdır ve ihtiyaç duyduğu her şeyi kendi içinde taşır. Bu nedenle bir MCP sunucusu önceki isteğinizi hatırlamaz. Bunun bir sonucu vardır: korunması gereken tüm durum sunucunun arkasında, bir veritabanında veya dosyada tutulmalıdır. Bu bileşen artık işletmeniz gereken bir parçadır.
Çalıştırmanız gereken bir süreç MCP server'dır
Üretici karşılaştırmalarının hesaba katmadığı maliyet budur. Skill bir dosyadır. MCP server bir yerde çalışan yazılımdır ve bu yer VPS'niz (virtual private server) ise, çalışma süresinin sorumluluğu size aittir.
stdio server en düşük maliyetli seçenektir. Claude Code, oturum başladığında bunu child process olarak başlatır ve oturum sona erdiğinde süreç sonlanır. İzlenecek veya kendi güncelleme zamanlamasına göre yamalanacak bir şey yoktur. Remote HTTP server ise uzun süre çalışan bir servistir ve uzun süre çalışan her servis gibi gereksinimleri vardır.
[Unit]
Description=Notes MCP server
After=network-online.target
Wants=network-online.target
[Service]
User=mcp
WorkingDirectory=/srv/notes-mcp
ExecStart=/usr/bin/node /srv/notes-mcp/dist/server.js
Environment=PORT=8931
Restart=on-failure
RestartSec=5
NoNewPrivileges=true
PrivateTmp=true
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now notes-mcp
systemctl is-active notes-mcp
journalctl -u notes-mcp -n 50 --no-pagersystemctl is-active komutu active çıktısını vermelidir. failed çıktısını verirse, neden journal içinde bulunur. İlk çalıştırmada sorun neredeyse her zaman eksik bir environment variable veya başka bir işlem tarafından zaten kullanılan bir port olur. MCP server çöktüğünü kendiliğinden bildirmediği için Restart=on-failure burada isteğe bağlı değildir. Sorunu, agent issue tracker'ınızı okuyamadığını söylediğinde öğrenirsiniz.
Süreci 127.0.0.1 adresine bind edin ve önüne TLS (transport layer security) kullanan bir reverse proxy yerleştirin. Veritabanınıza erişen ve kimlik doğrulama olmadan public bir port üzerinden yanıt veren bir MCP server, yayınladığınız bir veritabanıdır. VPS üzerinde MCP server çalıştırma, proxy, sertifika ve firewall tarafını uygun biçimde ele alır.
Ardından tekrarlanan çalışmaları gerçekçi biçimde hesaplayın. Servis, kendisiyle iletişim kuran agent'tan bağımsız olarak güvenlik güncellemelerini kendi zamanlamasına göre alır. OAuth token süresi dolar ve claude mcp list uygunsuz bir anda ! Needs authentication yazdırmaya başlar. Kimlik bilgileri bir config dosyasında veya bir Authorization header içinde tutulur. Bu nedenle diğer tüm secret'lar gibi aynı özenle korunmaları gerekir. Bu konu başlı başına kapsamlıdır: secret'ları bir AI agent'ın erişemeyeceği yerde tutma. Bir skill için bu çalışmaların hiçbiri gerekmez.
Kuruluma başlamadan önce bunu alternatifle karşılaştırın. Önerilen server'ın arkasındaki veriler yaklaşık üç ayda bir değişiyorsa, agent'a nereye bakacağını ve alanların ne anlama geldiğini açıklayan bir skill, çalışır durumda tutmanız gereken bir servisten daha ucuzdur.
Kendi bağlam maliyetinizi ölçme
Tahmin etmeyi bırakın ve bir oturum içinde /context komutunu çalıştırın. Bu komut başlangıç dökümünü yazdırır: system prompt, memory files, tools ve MCP servers ile her birinin token ağırlığını gösterir.
İki noktayı kontrol edin. Memory files altında beklediğiniz her rules file'ın listelendiğini doğrulayın. Eksik bir file agent tarafından görülemez. Bu nedenle talimatlar yok sayılıyorsa ilk olarak bunun dışlanması gerekir. Ardından server'larınızın maliyetine bakın. Ayda iki kez kullandığınız bir server listedeki en büyük kalemlerden biriyse /mcp içinde bunu devre dışı bırakın ve ihtiyaç duyan oturumlarda yeniden etkinleştirin. Yapılandırma her iki durumda da korunur.
Bir remote server ayrıca cached 2h ago · connects on first use · 5 tools gibi bir status bildirebilir. Bu durum, Claude Code'un startup sırasında bağlanmak yerine tool list'ini önceki bir oturumdan okuduğu ve ilk tool çağrıldığında bağlanacağı anlamına gelir. Tool'lar ilk mesajınızdan itibaren kullanılabilir durumdadır. Bu nedenle düzeltilmesi gereken bir sorun yoktur. Her server'ın startup sırasında bağlanmasını istiyorsanız MCP_DISCOVERY_CACHE=0 ayarını yapın. Daha geniş kapsam için Claude Code context window yönetimi, compaction sonrasında hangi bilgilerin korunduğunu açıklar; bu token'ların size gerçekte ne kadara mal olduğu ise sayıları maliyete dönüştürür.
Skill’im neden hiç tetiklenmiyor?
Bunun yaygın nedeni description değeridir. Skill çalışmadan önce bağlamda bulunan tek metin budur. Bu nedenle durum tanımlanmıyorsa eşleşme gerçekleşmez. Tetikleyiciyi cümlenin içine yazın: "Kullanıcı neyin değiştiğini sorduğunda, bir commit mesajı istediğinde veya diff çıktısının incelenmesini istediğinde kullanın." Belirsiz açıklamalar sessizce başarısız olur. Bu nedenle sorunu fark etmek zorlaşır.
İkinci neden frontmatter yazım hatasıdır. Bu hata açıkça bildirilir. Bilinmeyen bir anahtar doğrudan reddedilir:
Unexpected key(s) in SKILL.md frontmatter: argument-hint. Allowed properties are: allowed-tools, compatibility, description, license, metadata, nameÜçüncü neden konumdur. Project skill’leri çalışma dizininizdeki .claude/skills/ konumundan ve repository root konumuna kadar tüm üst dizinlerden yüklenir. Başlangıç konumunuzun altındaki iç içe dizinlerde bulunan skill’ler başlatma sırasında yüklenmez. Agent bu alt dizindeki bir dosyayı ilk kez okuduğunda veya düzenlediğinde görünür hale gelirler. O zamana kadar otomatik tamamlamada görünmez ve adlarıyla çağrılamazlar.
MCP tarafındaki bu sessiz başarısızlığın karşılığı, url içeren ancak type içermeyen bir .mcp.json girdisidir. Claude Code, type içermeyen her girdiyi stdio server olarak okur. Bu nedenle girdiyi atlar ve şu iletiyi bildirir:
MCP server "notes" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entryÜçünün birlikte kullanılması
Bu mekanizmalar aynı alan için birbiriyle rekabet etmez. İşe yarayan bir kurulumda her biri, maliyetinin düşük olduğu yerde kullanılır. Rules dosyasında her yerde geçerli olan birkaç satır bulunur. Skills, prosedürleri içerir ve yalnızca gerektiğinde yüklenir. Bir MCP server, bazen de iki MCP server, içeriğini önceden tahmin edemeyeceğiniz sistemlere bağlanır. İlkinin çalışma modelini hâlâ oluşturuyorsanız bir agent skill'in gerçekte ne olduğu, biçimi ayrıntılı olarak açıklar.
Bir içeriğin nereye ait olduğu konusundaki tartışmaların çoğunu tek bir test sonuçlandırır. İçeriği silin, yeni bir session başlatın ve agent'a görevi verin. Agent yalnızca daha yavaş çalışıyorsa içerik bir skill'e ait olmalıdır. Agent kendinden emin biçimde yanlış yanıt veriyorsa içerik rules dosyasına ait olmalıdır. Agent bilgiyi hiç alamıyorsa server gereklidir; bu durumda server'ın çalışmaya devam etmesini sağlayacak bir plan da gerekir.
FAQ
Bir skill mi yazmalı, yoksa bir MCP server mı kurmalıyım?
Kararı, bilginin bir invocation ile sonraki invocation arasında değişip değişmediğine göre verin. Agent, başka birinin düzenleyebileceği issue tracker, database veya dashboard gibi canlı durumu okumak zorundaysa MCP server gerekir; çünkü kayda yazılan bilgiler, kayıt değiştiği anda güncelliğini yitirir. Yanıtı bir kez yazdıktan sonra altı hafta boyunca doğru kalacaksa skill yazın. Skill, git içindeki bir dosyadır; çalıştırılacak bir process, açılacak bir port veya uygulanacak bir patch schedule gerektirmez. Bu nedenle mümkün olduğu her durumda daha düşük maliyetli seçenektir.
MCP server'lar context window'umu hâlâ dolduruyor mu?
Eskisine göre çok daha az dolduruyor. Güncel Claude Code sürümlerinde tool search varsayılan olarak etkindir. Bu nedenle session başlangıcında yalnızca tool adları ile server'ın instructions alanı yüklenir. Tam schema'lar, Claude bunları aradığında alınır. Tool search kapalıysa upfront loading devam eder: ENABLE_TOOL_SEARCH=false kullanıldığında, ANTHROPIC_BASE_URL first-party olmayan bir proxy'yi gösterecek şekilde ayarlandığında veya Claude 4.5 generation'dan daha eski bir model kullanıldığında. Hangi durumda olduğunuzu görmek için /context çalıştırın; eski comparison post'larındaki sayılar upfront loading varsayımına dayanır.
Claude Code AGENTS.md dosyasını okur mu?
Hayır. Claude Code CLAUDE.md dosyasını okur. Repository'nizde başka agent'lar için zaten bir AGENTS.md varsa iki kopya tutmak yerine birini diğerine yönlendirin. Düz bir symlink oluşturmak için ln -s AGENTS.md CLAUDE.md çalıştırın. Alternatif olarak @AGENTS.md ifadesini bir CLAUDE.md dosyasının ilk satırına ekleyin ve altına Claude'a özgü talimatları yazın. Ardından bir session başlatın ve /context çalıştırarak CLAUDE.md ifadesinin Memory files altında göründüğünü doğrulayın.
Skill'im bir session'ın ortasında neden etkisini kaybetti?
Genellikle bunun nedeni auto-compaction'dır. Conversation özetlendiğinde Claude Code, her skill'in en son invocation'ını yeniden ekler ve her biri için ilk 5,000 token'ı korur. Tüm skill'ler için toplam bütçe 25,000 token'dır. Bu bütçe, en son invocation yapılan skill'den başlanarak doldurulur. Birkaç büyük skill invoke ettiyseniz eski skill'ler tamamen çıkarılır. Tam içeriğini geri yüklemek için skill'i yeniden invoke edin.
Uzun bir rules dosyasının her session'da yüklenmesini nasıl engellerim?
Yalnızca bazı durumlarda gerekli olan bölümleri, frontmatter'ında paths alanı bulunan .claude/rules/ dosyalarına taşıyın. Böylece her dosya yalnızca agent eşleşen bir dosyaya dokunduğunda yüklenir. Dosyayı @path import'larına bölmek yardımcı olmaz; çünkü import edilen dosyalar genişletilir ve bunlara referans veren dosyayla birlikte launch sırasında yüklenir. Standing fact yerine multi-step procedure olan her şey skill haline getirilmelidir. Çünkü skill body, invoke edilene kadar hiçbir maliyet oluşturmaz.