kayıttan
10.05.2026 · 9 dk okuma
— Ali Buğatekin
Birkaç ay önce zihnimde bir sahne canlandırıyordum: sabah uyanıyorum, telefondan kısa bir mesaj atıyorum, ve uyandığımda kodun yazılmış, PR'ın açılmış olduğunu görüyorum. Bilgisayarımı açmıyorum, IDE'ye girmiyorum, hatta evden çıkmıyorum — yine de yazılım gelişmeye devam ediyor.
Hayalden kalkıp "bunu nasıl gerçek yaparım?" sorusunu sorduğumda fark ettim ki sistemin önce bir altyapısı olması gerekiyor. Tek bir agent'a sürekli uzun uzadıya proje bağlamı vermek mümkün değil — önce agent'a şirketi ezberleten bir şey lazım.
Bu yazıda o sahneyi gerçeğe dönüştürdüğüm sistemi anlatacağım. Şu an çalışıyor, gerçekten kullanıyorum, geçtiği aşamaların hepsini sırayla göstereceğim. Yer yer teknik olacağım ama tekniği boğmayacağım — çünkü asıl güzellik parçaların birbirine nasıl bağlandığında.
Bir konuda anlaşalım: yazıda bir kurgu şirketten bahsedeceğim. Adı **Bugasoft** olsun. Şu andan itibaren "Bugasoft" derken bu uydurma şirketi kastediyorum, gerçek bir kurumla bağlantısı yok. Sistem kurum-bağımsız: aynı zincir ister 50 kişilik bir startup'ta, ister kendi solo projenizde kurulabilir.
Yapay zeka agent'larıyla çalışmaya başladığımda fark ettim ki her yeni sohbet bir sıfır noktası. Projenin mimarisini, kodlama standartlarımı, commit alışkanlıklarımı, naming convention'ı — her seferinde yeniden anlatmam gerekiyordu. 5 dakikalık iş, 15 dakika bağlam vermekle başlıyordu.
İlk çözüm her projeye `.claude/` veya `.cursor/` gibi konfigürasyon klasörleri koymak oldu. İşe yaradı — ama Bugasoft gibi onlarca repo'lu bir yerde bunu güncel tutmak başlı başına ikinci bir iş haline gelir. Bir repoda güncellersiniz, diğerleri eski kalır. Yeni gelen geliştiriciye "şu klasörü kopyala" demek zorunda kalırsınız. Sürdürülebilir değil.
İşte agent-skills-mcp tam burada doğdu. Bu projeyi başlangıçta GitHub agent sistemi için kurmadım — daha önce, baştaki sahneyi hayal ederken kurdum. Çünkü o sahnenin gerçek olabilmesi için önce şu probleme cevap bulmak gerekiyordu:
Bütün agent'lar nasıl aynı şirketi tanır?
Cevap: skill'leri her projeye ayrı dosya olarak değil, tek bir merkezden servis edersem her yerde aynı kaynaktan okurlar.
Bunu yapmak için Anthropic'in açık kaynak SKILL.md formatına dayalı, Model Context Protocol (MCP) üzerinden konuşan bir sunucu kurdum: **agent-skills-mcp**. Skill'lerimi (kodlama standartları, commit kuralları, UI/UX rehberleri, repo bazlı talimatlar) bu sunucuya yerleştirdim.
Bunu kendime saklamak yerine açık kaynak yaptım. Forklayıp kendi MCP sunucunuzu kısa sürede ayağa kaldırabilirsiniz — şirketinizin standartlarını yazıp servis etmeniz için bir template hazır. Buradan inceleyebilirsiniz:
Yani sıralama aslında şöyleydi: önce sahneyi hayal ettim → ona altyapı olarak agent-skills-mcp'yi kurdum → sonra hayalin diğer parçalarını üzerine inşa ettim. Şimdi o parçaları anlatacağım.
Skill kütüphanesi hazır olunca sıradaki soru şu oldu: bu altyapıyı sadece kendi makinemde değil, GitHub'ın içinde de çalıştıramaz mıyım? Yani bir görev açtığımda agent kendiliğinden devreye girip işi yapamaz mı?
Anthropic'in resmi GitHub Action'ı + Claude GitHub App + agent-skills-mcp kombinasyonuyla şu sistem doğdu:
Bu kısım benim için çok önemli, çünkü tek bir giriş noktasıyla sınırlı kalmak istemedim. Şu an üç farklı yoldan agent'a iş atayabiliyorum:
**1. GitHub Projects** — GitHub'ın içinde Jira benzeri bir görev yönetim alanı var. Board view, sütunlar (Backlog, In Progress, Review, Done), drag & drop. Bugasoft'ta görevleri buradan takip ediyorum, agent'a verirken aynı kart üzerinden @claude diyorum.
**2. Repo Issues** — Klasik yöntem. Bir repository'de issue açıyorum, açıklamasında @claude mention'ı geçiyor, workflow tetikleniyor.
**3. Slack üzerinden Claude app** — Bu en sevdiğim. Slack'te Claude app ile sohbet ederken "ui-app repo'sunda şu görevi aç ve agent'a ata" diyorum, o görevi GitHub'da açıp atıyor. Yani benim hiç GitHub'a bile girmem gerekmiyor.
Görev açıldıktan sonra geri dönüp "ne oldu?" diye bakmam da Slack üzerinden. 10 dakika sonra Slack'teki Claude app'e gidip "X görevinin durumu nedir?" diye soruyorum, gerekiyorsa GitHub'da PR'ı açıp özet veriyor.
Workflow'u, agent iş bittiğinde Slack üzerinden bana mention atacak şekilde de tasarlayabiliyorum. Yani sahne şöyle: Slack'te "şunu yap" diyorum → birkaç dakika sonra Slack'ten bildirim geliyor → "PR şu, şu değişiklikler oldu, bekleyen bir şey yok". Hepsi bugün mümkün, hayalin teknik tarafı kalmadı.
Burada kritik bir karar verdim: agent'a vereceğim talimatları her repository'de tekrar tanımlamak yerine, Bugasoft'un merkezi `.github` repository'sinde tek bir CLAUDE.md dosyasında topladım.
Workflow her çalıştığında bu merkezi dosyayı çekiyor ve agent'ın system prompt'una basıyor. Caller repository'nin dosya sistemine hiçbir şey yazılmıyor. Tek bir merkezden, override edilemez bir şekilde, herkese aynı kurallar.
Bu dosyada tarif edilenlerden bazıları:
Bu kuralları override edilemez kıldım. Bir repo kendi CLAUDE.md'sinde merkezi kurallarla çelişen bir şey yazsa bile, merkez kazanır. Repo seviyesinde sadece proje-spesifik rehberlik eklenebilir.
Bu sistemden beklediğim ilk kazanım hızdı. Hız geldi, evet — ama gerçek kazanım başka bir yerde çıktı: standartlaşma.
Burada bahsetmem gereken bir detay var: agent-skills-mcp'yi sadece GitHub'daki agent'a bağlamadım. Kendi Claude Code terminalimde de aynı MCP'ye bağlıyım. Yani:
Sonuç: kod kim yazarsa yazsın aynı kalitede çıkıyor. Junior'un yazdığı modülle senior'un yazdığı modül arasında stil farkı kalmıyor. Bugasoft'un **kurumsal kod kültürü** ve **kurumsal UI/UX kültürü** her iki tarafta da korunuyor.
Developer değişse bile sistem davranışı değişmiyor.
Yeni biri ekibe katıldığında ona "şu kurallara uy" demek zorunda kalmıyorum. Onun agent'ı zaten o kurallara göre kod yazacak. Onboarding süresi kısalıyor, code review yükü azalıyor.
Sistem şu an "kodu yazıp PR açma" aşamasında, sorunsuz çalışıyor. Bir sonraki halka şu:
Bu zincir tamamlandığında akış şöyle oluyor: Slack'ten görev veriyorum → agent kodu yazıyor → runner'da çalıştırıp doğruluyor → test ortamına deploy ediyor → bana "hazır" diyor → ben sadece bakıp "tamam, prod'a gönder" diyorum.
Yani benim rolüm "kod yazan" olmaktan "karar veren ve gözeten" olmaya kayıyor. Kararı, kişiliği, ürünün ne olacağını ben veriyorum; mekaniği agent yapıyor.
Bunu kurarken Bugasoft'un büyüklüğü ya da bütçesiyle ilgili bir şey yapmadım — kullandığım her parça açık kaynak ve dokümante: Anthropic'in resmi tooling'i, MCP standardı, GitHub Actions. agent-skills-mcp'yi de bilerek açık kaynak yaptım. Aynı zincir, ister 200 kişilik bir teknoloji şirketinde olun, ister kendi solo projenizde — kurulabiliyor.
Asıl yatırım, agent'a ne öğreteceğinizi düşünmek. Hangi kararları otomatize etmek, hangilerini elinizde tutmak istediğinizi seçmek. Sistem, sizi ne kadar tanırsa o kadar değerli oluyor.
Doğru kurgulanmış bir agent altyapısı, küçük bir ekibi büyük ekip gibi çalıştırabilir.
Ve bu kurduğum yapı henüz başlangıç. Zincirin kalan halkaları yerleştikçe "yazılım yazmak" giderek "yazılımı yönetmek"e dönüşecek. Asıl önemli olan kararlara daha fazla zaman, tekrara daha az saat. Hayalin önümüze koyduğu sahne yavaş yavaş gerçek oluyor.
yararlı bulduysan paylaş