Agentic OS'i %99'dan iyi kur — silver platter prensibiyle hands-on workshop
Mark Kashef'in 22 dakikalık videosundan zihinsel modeli al, kendi makinende çalışan minimal bir Agentic OS kur: CLAUDE.md + 1 skill + 1 hook + 1 deterministik özet üreteci. Sonunda her pazartesi sabahı agent'ının okuyup yorumlayacağı bir 'silver platter' brief'in olacak.
Ön koşullar
- Claude Code yüklü ve giriş yapılmış (`claude --version` çalışıyor)
- Node.js 20+ ve `npx tsx` çalışıyor
- Bir terminal (PowerShell, bash veya zsh)
Kaynak: YouTube videosu ↗
Mark Kashef’in 22 dakikalık “Build Your Agentic OS Better Than The 99%” videosu, agent’ın iş değeri üretmesi için verinin önceden hazırlanması gerektiğini anlatıyor. Bu sayfa videoyu izledikten sonra kendi makinende minimal bir Agentic OS kurmana yetecek hands-on workshop. Sonunda elinde:
- Bir kişisel
CLAUDE.md(kimlik + kurallar) - Deterministik bir özet üreteci (
scripts/build-summary.ts) - Bir
weekly-briefskill’i - Bir
SessionStarthook’u - 30 günlük somut bir plan
…olacak. Yaklaşık 45 dakikalık uygulamalı bir akış. Komut blokları doğrudan kopyalanıp yapıştırılabilir.
Önce zihinsel model — sonra kurulum
Atlamadan oku: workshop’taki her adım aşağıdaki iki diyagramın üstüne kuruluyor. Önce videonun ne anlattığını bir kez içselleştir, sonra terminale dokun.
| dk | Video bölümü | Bu sayfada |
|---|---|---|
| 1:18 | 4 katmanın büyük resmi | A2 |
| 3:18 | Silver platter ilkesi | A3 |
| 5:12 | silver-platter skill HTML çıktısı | B3 referans |
| 7:38 | Hooks: 18+ event | B4 |
| 9:17 | Slash komutla canlı kurulum | B5 referans |
| 15:15 | Üç persona | C1 |
Adım 01 Konuşmacı + videonun argümanı 0:00
Konuşmacı: Mark Kashef — Prompt Advisers kurucusu, Claude Code üstüne danışmanlık yapıyor. Argümanı şu:
“Milyonlarca insan açık-claw kurdu, ama bir avucu gerçek ekonomik ROI çıkarıyor. Çünkü güzel bir agent katmanını yanan molozun üstüne kuruyorlar.”
Moloz: dağınık dosyalar, tarihi geçmiş veriler, AI öncesi bile belirsiz iş süreçleri. Üstüne ne kadar parlak agent koyarsan koy, sonuç sıkıştırılmış slop. Çözüm üç parçalı: (1) önce zihinsel modeli oturt, (2) silver-platter ilkesini uygula, (3) 4 katmanı (CLAUDE.md → hooks → skills → agents) sırayla kur.
Adım 02 4 katman: AGENTS, SKILLS, HOOKS, CLAUDE.md 1:18
Bir Agentic OS aslında dört üst üste levha:
- CLAUDE.md (en altta) — “günlük” değil, hava trafik kontrol dokümanı. Kim, ne, hangi kurallar.
- Hooks — Claude Code’un 18+ event’inde otomatik ateşlenen küçük script’ler. Deterministik bağlam enjeksiyonu.
- Skills — yeniden kullanılabilir prosedürler. Project-level (bu klasörde) veya global (her klasörde).
- Agents (en üstte) — orchestrator + uzman bot’lar. Tepedeki parlak katman.
Sağdan tüm bu yapıya kablolarla giren entegrasyonlar var (Notion, Slack, GitHub, Google).
Adım 03 Silver platter ilkesi: context'i şişirme, hazırla 3:18
Bir e-ticaret işi için 6 ayın sipariş örüntüsünü çıkarmak istediğinde ne olur? Agent session bütçesinin %80’ini ham veri çekmekle harcıyor — JSON metadata, sayfalar dolusu satır. Geriye kalan %20’lik analiz penceresinde halüsinasyonlar başlıyor. Çünkü context window dolu ama boş kalori ile dolu.
Çözüm: özet dosyaları. Aylık KPI’ları deterministik bir script önceden hesaplayıp tek dosyada toplar. Agent veri çekmekle değil, sentez ile uğraşır. İşte aşağıda kuracağımız şey: aynı prensibin minimal bir versiyonu — data/inputs/ klasörünüzü tarayan ve haftalık bir markdown brief üreten bir script + onu okuyan bir skill.
Workshop — kendi makinende kur
Buradan itibaren her şey hands-on. Komut bloklarını sırayla kopyala-yapıştır. Her adımın sonundaki Checkpoint kutusu doğru ilerlediğini doğrular.
Adım 04 Önkoşullar + ne kuracağız 14:00
İçinde olmaması gereken: mevcut bir proje. Yeni bir klasörde başla. İçinde sadece bizim kuracağımız Agentic OS olsun.
Kuracağımız dosya yapısı:
my-os/
├── CLAUDE.md ← Adım 1
├── data/
│ ├── inputs/ ← Adım 2 (ham veri buraya)
│ └── briefs/ ← Adım 2 (özet markdown'lar)
├── scripts/
│ ├── build-summary.ts ← Adım 2
│ └── inject-latest-brief.mjs ← Adım 4
└── .claude/
├── settings.json ← Adım 4
└── skills/
└── weekly-brief/
└── SKILL.md ← Adım 3
Domain seçimi: workshop boyunca kişisel/küçük iş haftalık brief’i kuruyoruz — pazartesi sabahı için “ne oldu, ne yapılmalı” özeti. Solo founder’sın, danışmansın, içerik üreticisisin fark etmez; aynı iskelet adapte edilir.
# Yeni klasörde başla
mkdir my-os
cd my-os
mkdir -p data/inputs data/briefs scripts .claude/skills/weekly-brief
# Önkoşulları doğrula
claude --version # 1.x veya üstü
node --version # v20.x veya üstü
npx tsx --version # tsx 4.x veya üstü Adım 05 Adım 1 — CLAUDE.md iskeletini yaz 2:12
Niye: Mark CLAUDE.md’yi “günlük” değil hava trafik kontrol dokümanı olarak tanımlıyor. Agent her oturumda bunu okuyacak; kim olduğunu, hangi klasörde ne bulacağını ve hangi kuralları unutmaması gerektiğini buradan öğrenecek.
Ne yapacağız: kök klasördeki CLAUDE.md’yi yazacağız. İçinde 3 başlık olacak: kim, klasör haritası, kurallar.
Komut: aşağıdaki içeriği CLAUDE.md olarak kaydet. Köşeli parantezleri kendi bilginle doldur.
# CLAUDE.md — kişisel Agentic OS
## Kim
- İsim: [SENİN ADIN]
- Rol: [1-2 cümle: ne iş yapıyorsun, kimi için]
- Çalışma stili: pazartesi sabahı brief okurum, hafta içi reaktif iş, cuma sentez.
## Klasör haritası
- `data/inputs/` → ham veri (e-mail export, csv, not markdown'ları)
- `data/briefs/` → silver platter (haftalık özet markdown'lar — agent buradan okur)
- `scripts/` → deterministik üreteçler (Node/Python)
- `.claude/skills/` → yeniden kullanılabilir skill'ler
## Kurallar
- Özet tabloları AI üretmez. `scripts/build-summary.ts` deterministik üretir, AI sadece okur ve sentezler.
- Brief'lere "kendinin son hâlinde" güven; ham veriye bakma zorunluluğu yoksa bakma.
- Sayısal iddia uydurma: kaynak göster (`data/inputs/<dosya>` formatında).
- Tarih biçimi: YYYY-MM-DD. Para birimi varsayılan: TRY. Beklenen çıktı: my-os/CLAUDE.md — yaklaşık 20 satır.
Adım 06 Adım 2 — Özet tabloyu deterministik üret 4:26
Niye: Silver platter prensibinin somutlanışı. Agent ham data/inputs/’ı taramayacak — onun yerine data/briefs/weekly_<date>.md’yi okuyacak. Bu dosyayı AI değil, kod üretir.
Ne yapacağız: TypeScript ile küçük bir özet üreteci yazacağız. Şimdilik sadece dosya sayısı + dosya adlarıyla ilerliyor; ileride satır sayısı, anahtar kelime, regex sayımı gibi gerçek metrikler eklenir.
Komut 1: scripts/build-summary.ts dosyasını yaz.
// scripts/build-summary.ts
import { readdirSync, readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs';
import { join } from 'node:path';
const SRC = 'data/inputs';
const DST = 'data/briefs';
if (!existsSync(SRC)) mkdirSync(SRC, { recursive: true });
if (!existsSync(DST)) mkdirSync(DST, { recursive: true });
const today = new Date().toISOString().slice(0, 10);
const files = readdirSync(SRC).filter((f) => /\.(md|txt|csv)$/i.test(f));
const out: string[] = [];
out.push(`# Weekly brief — ${today}`);
out.push('');
out.push(`## Bu hafta düşürülen dosyalar (${files.length})`);
out.push('');
for (const f of files) {
const content = readFileSync(join(SRC, f), 'utf8');
const lines = content.split('\n').length;
const chars = content.length;
out.push(`- **${f}** — ${lines} satır, ${chars} karakter`);
}
out.push('');
out.push('## TODO (AI bunu doldurur)');
out.push('- **Trend**: ...');
out.push('- **Anomali**: ...');
out.push('- **Hafta planı**: ...');
out.push('');
const target = join(DST, `weekly_${today}.md`);
writeFileSync(target, out.join('\n'));
console.log(`✓ Yazıldı: ${target}`); Komut 2: test verisi koy.
# Birkaç örnek not düşür
echo "Müşteri X aradı, fiyat sordu. Cuma teklif gönderildi." > data/inputs/2026-05-06-musteri-x.md
echo "Sprint review yapıldı, login bug'ı kapandı." > data/inputs/2026-05-08-sprint.md
echo "Yeni içerik fikri: agentic OS workshop." > data/inputs/2026-05-09-fikir.md Komut 3: üreteci çalıştır.
npx tsx scripts/build-summary.ts Beklenen çıktı:
✓ Yazıldı: data/briefs/weekly_2026-05-10.md
İçeriğin başı:
# Weekly brief — 2026-05-10
## Bu hafta düşürülen dosyalar (3)
- **2026-05-06-musteri-x.md** — 1 satır, 49 karakter
- **2026-05-08-sprint.md** — 1 satır, 41 karakter
- **2026-05-09-fikir.md** — 1 satır, 35 karakter
## TODO (AI bunu doldurur)
- **Trend**: ...
- **Anomali**: ...
- **Hafta planı**: ...
Adım 07 Adım 3 — weekly-brief skill'ini yaz 5:12
Niye: Mark’ın videoda gösterdiği skill bir HTML data map üretiyordu. Bizim minimal versiyonumuz çok daha basit: silver platter brief’imizdeki TODO maddelerini AI’ya doldurtturan tek-amaçlı bir skill.
Ne yapacağız: .claude/skills/weekly-brief/SKILL.md yazacağız. Skill kendi tetiklenme kurallarını ve adım listesini içerir; Claude Code bunu otomatik bulur.
Komut: aşağıdaki içeriği .claude/skills/weekly-brief/SKILL.md olarak kaydet.
---
name: weekly-brief
description: Haftalık silver platter brief'ini oku ve TODO bölümünü trend/anomali/plan ile doldur. Kullanıcı 'haftalık brief', 'pazartesi özeti', 'weekly digest' veya 'brief'i tamamla' dediğinde tetikle.
---
# weekly-brief
`data/briefs/` altındaki en yeni `weekly_*.md` brief'inin TODO maddelerini doldurur.
## Adımlar
1. `data/briefs/` klasöründeki en yeni `weekly_*.md` dosyasını bul (dosya adı en büyük olan).
2. Dosyada "**Bu hafta düşürülen dosyalar**" başlığı altındaki listeyi oku.
3. Her dosyayı tek tek aç (`data/inputs/<dosya>`) ve 1-2 cümleyle özetle.
4. Brief'in "**TODO (AI bunu doldurur)**" bölümünü şu üç maddeyle güncelle:
- **Trend**: bu haftanın baskın teması (1 cümle).
- **Anomali**: dikkat çeken tek olay (1 cümle).
- **Hafta planı**: önümüzdeki hafta için 2-3 somut aksiyon.
5. Dosyayı yaz, ekrana `Brief güncellendi: <yol>` yaz.
## Kısıtlar
- Sayısal iddia uydurma. Sadece `data/inputs/` dosyalarındaki rakamlardan türeyen ifadeler.
- "Bence" / "muhtemelen" yerine "X dosyasına göre …" kalıbı.
- Brief'in "Bu hafta düşürülen dosyalar" listesini değiştirme — onu `scripts/build-summary.ts` üretiyor. Çalıştır:
claude
# Açılan interactive prompt'a:
> haftalık brief'i tamamla Beklenen çıktı: Claude Code skill’i tanır, data/briefs/weekly_<bugün>.md’yi açar, TODO maddelerini doldurur. Örnek bir tamamlama:
## TODO (AI bunu doldurur)
- **Trend**: bu hafta müşteri ilişkileri (X teklif takibi) ve ürün gelişimi (sprint review) ağırlıkta.
- **Anomali**: agentic OS workshop fikri tek başına yeni bir içerik akışı sinyali.
- **Hafta planı**:
1. Müşteri X teklifine cuma cevabı gelirse hafta başı follow-up.
2. Sprint review notlarını changelog'a aktar.
3. Workshop fikrini outline'a çevir, salı akşamı taslak.
Adım 08 Adım 4 — SessionStart hook'u kur 7:38
Niye: Mark’a göre hooks “kullanıcıların beynini kıran” özellik, ama aslında basit. SessionStart hook’u her yeni claude oturumunda otomatik ateşlenir. Biz buna en yeni brief’i bağlama enjekte ettireceğiz — agent oturuma “geçen haftaya hâkim” olarak başlasın.
Ne yapacağız: İki dosya yazacağız: hook’un çalıştıracağı küçük bir Node helper + Claude Code’un settings.json’una hook tanımı.
Komut 1: scripts/inject-latest-brief.mjs
// scripts/inject-latest-brief.mjs
import { readdirSync, readFileSync, existsSync } from 'node:fs';
import { join } from 'node:path';
const dir = 'data/briefs';
if (!existsSync(dir)) process.exit(0);
const files = readdirSync(dir).filter((f) => /^weekly_.*\.md$/.test(f)).sort();
if (files.length === 0) process.exit(0);
const latest = files.at(-1);
process.stdout.write(`# 📋 Bu haftanın brief'i (${latest})\n\n`);
process.stdout.write(readFileSync(join(dir, latest), 'utf8')); Komut 2: .claude/settings.json (yoksa oluştur, varsa hooks anahtarını ekle).
{
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "node scripts/inject-latest-brief.mjs"
}
]
}
]
}
} Komut 3: test et.
# Yeni terminal aç (mevcut session'ı kapat ki SessionStart yeniden tetiklensin)
claude
# İlk yanıt brief'i bağlamında bilmeli:
> Bu haftanın trend ve anomalisini söyle Beklenen davranış: Agent ham data/inputs/’ı taramaz. Doğrudan brief’teki “Trend” ve “Anomali” satırlarını okur ve özetler. Bu, silver platter prensibinin canlı kanıtı.
Adım 09 Adım 5 — Uçtan uca test + 30 günlük plan 9:17
Niye: Kurulum bitti; şimdi tüm zincirin gerçekten çalıştığını doğrulayalım. Sonra Mark’ın videodaki “30-day plan” mantığını kendi setup’ına çevirelim.
Uçtan uca test (3 komut):
# 1) Yeni bir not düşür
echo "Pazartesi review: 3 yeni müşteri lead'i var." > data/inputs/2026-05-10-leads.md
# 2) Brief'i regenerate et (deterministik)
npx tsx scripts/build-summary.ts
# 3) Yeni claude session aç → hook brief'i enjekte etmeli → skill TODO'yu doldursun
claude
> haftalık brief'i tamamla data/briefs/weekly_<bugün>.md artık 4 dosya + güncel trend/anomali/plan ile dolu.
30 günlük plan template’i — bunu 30-day-plan.md olarak kaydet ve hafta hafta tikle:
# 30-day Agentic OS plan
## 1. hafta — temeller (bu workshop)
- [x] CLAUDE.md
- [x] scripts/build-summary.ts
- [x] weekly-brief skill
- [x] SessionStart hook
## 2. hafta — domain skill
- [ ] Kendi rutininden 1 SOP'u yeni bir skill'e çevir
(örn. `monthly-finance`, `client-intake`, `content-ideation`)
- [ ] build-summary.ts'i kendi domain'ine zenginleştir
(regex sayımı, anahtar kelime kümeleri, basit istatistik)
## 3. hafta — otomasyon
- [ ] Cron job: her pazartesi 06:00 `build-summary.ts` koşsun
- [ ] PreCompact hook: uzun oturumlarda brief'i tekrar enjekte et
- [ ] UserPromptSubmit hook: uzun mesajlardan otomatik fact extract
## 4. hafta — ölç ve sadeleştir
- [ ] Hangi skill aslında kullanılmıyor? Sil.
- [ ] Brief gerçekten okunuyor mu? Format'ı sadeleştir.
- [ ] Sub-agent ekleyecek noktada mıyız?
(Tek bir agent'ın yükü çok arttıysa: evet) Üç persona — kendine en yakını seç
Mark videonun son üçte birinde aynı yöntemi üç farklı kullanıcıya uyguluyor. Buradan kendi sektörüne hangi varyasyonu götüreceğini görebilirsin.
| Persona | Domain | Senin için kritik silver platter | Senin için kritik hook |
|---|---|---|---|
| Marco — solo founder, mystery box live stream | E-ticaret · Shopify + TikTok + Twitch | QuickBooks API → finance_weekly.md (revenue / COGS / kâr pre-aggregated) | Cron sabah 6 → pre-stream prep brief |
| Sally — küçük hukuk firması associate | Hukuk · M&A davaları | Yeni dava intake → matter_brief.md (precedent + standart pleadings) | SessionStart convert_dropzone.sh (PDF → temiz md) |
| Dr. Sana — dermatoloji kliniği | Sağlık · Athena Health EHR | EHR + biopsy → izole patient_brief.md (HIPAA filtreli alan listesi) | PreToolUse hook: PII pattern bulunca AI’ya gitmesin |
Daha derine
- Mark Kashef’in silver-platter skill’inin orijinali + Claude Claw operating system kursu video açıklamasındaki linklerden indirilebilir.
- Bu sayfa zihinsel modelin uygulamalı haritasıdır; skill’in birebir kopyası değildir.
- Resmi Claude Code dokümantasyonu — Hooks, Skills, Sub-agents — sayfanın altındaki İleri linkler bölümünde.
- Bir sonraki adım: kendi domain’ine en yakın persona’ya benzer ek bir skill yaz, 30-day plan’ın 2. haftasına geç.