Tutorial · 45 dk · claude-code · node · tsx

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-brief skill’i
  • Bir SessionStart hook’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.

dkVideo bölümüBu sayfada
1:184 katmanın büyük resmiA2
3:18Silver platter ilkesiA3
5:12silver-platter skill HTML çıktısıB3 referans
7:38Hooks: 18+ eventB4
9:17Slash komutla canlı kurulumB5 referans
15:15Üç personaC1

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:

  1. CLAUDE.md (en altta) — “günlük” değil, hava trafik kontrol dokümanı. Kim, ne, hangi kurallar.
  2. Hooks — Claude Code’un 18+ event’inde otomatik ateşlenen küçük script’ler. Deterministik bağlam enjeksiyonu.
  3. Skills — yeniden kullanılabilir prosedürler. Project-level (bu klasörde) veya global (her klasörde).
  4. 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).

Agentic OS'in 4 katmanı: AGENTS, SKILLS (project + global), HOOKS, CLAUDE.md — sağda Notion/Slack/Google/Meta entegrasyon kabloları
Tabandan tepeye kuracağız: önce CLAUDE.md, sonra hooks, sonra skill, en son agent çağrıları. videoda gör · 1:40

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.

Sol: 6 ay sipariş + 60.000 satır ham veri + ezilmiş bir figür. Sağ: aynı bilgi 'finance_weekly.md' olarak gümüş tepside sunulmuş.
Silver platter: agent'a ham yığını değil, hazırlanmış özet tablosunu sun. videoda gör · 3:20

Çö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.

bash
# 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.

Excalidraw diyagramından hooks + CLAUDE.md katmanlarına zoom. Sağda kablolar Notion/Meta/GitHub/Google entegrasyonlarına gidiyor.
CLAUDE.md tabandaki en kalın levha — diğer her şey bunun üstüne kurulur. videoda gör · 2:12

Komut: aşağıdaki içeriği CLAUDE.md olarak kaydet. Köşeli parantezleri kendi bilginle doldur.

bash
# 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.

bash
// 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.

bash
# 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.

bash
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.

silver-platter skill'in HTML çıktısı: 30-day build plan sekmesi, Pre-step ile Claude Code kurulumu ve 1. adım olarak HIPAA-uyumlu Bedrock konfigürasyonu
Mark'ın skill çıktısı — 4 sekmeli HTML. Bizim minimal versiyon sadece markdown brief'i günceller. videoda gör · 7:11

Komut: aşağıdaki içeriği .claude/skills/weekly-brief/SKILL.md olarak kaydet.

bash
---
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:

bash
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

bash
// 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).

bash
{
"hooks": {
  "SessionStart": [
    {
      "hooks": [
        {
          "type": "command",
          "command": "node scripts/inject-latest-brief.mjs"
        }
      ]
    }
  ]
}
}

Komut 3: test et.

bash
# 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.

Sol: terminalde silver-platter skill çalışıyor, kullanıcı 'fast track' seçti ve isimleri anonimleştir dedi. Sağda işin tipi soruluyor: consultancy + topluluk + YouTube + workshop'lar.
Mark'ın skill demosu: kendi setup'ında benzer akış — sadece adımlar daha basit. videoda gör · 12:41

Uçtan uca test (3 komut):

bash
# 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.

Skill chain: cron → CMO bot signal clustering → EA Orchestrator → vault'tan unused draft cross-reference → Cuma akşamı tek brief
Mark'ın hedef noktası: skill + hook + sub-agent + cron zinciri. Sen henüz cron + sub-agent kurmadın — 30-day plan'da geliyor. videoda gör · 13:35

30 günlük plan template’i — bunu 30-day-plan.md olarak kaydet ve hafta hafta tikle:

bash
# 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.

PersonaDomainSenin için kritik silver platterSenin için kritik hook
Marco — solo founder, mystery box live streamE-ticaret · Shopify + TikTok + TwitchQuickBooks API → finance_weekly.md (revenue / COGS / kâr pre-aggregated)Cron sabah 6 → pre-stream prep brief
Sally — küçük hukuk firması associateHukuk · M&A davalarıYeni dava intake → matter_brief.md (precedent + standart pleadings)SessionStart convert_dropzone.sh (PDF → temiz md)
Dr. Sana — dermatoloji kliniğiSağlık · Athena Health EHREHR + biopsy → izole patient_brief.md (HIPAA filtreli alan listesi)PreToolUse hook: PII pattern bulunca AI’ya gitmesin
Dr. Sana için 'What we'll build' tablosu: Sana iPad'de gün başı brief / aynı gün biopsi triage / Dupixent denial appeal / haftalık billing summary. Her satırda 'Before' ve 'After' karşılaştırması.
En kompleks örnek: regülasyona tabi sektörde hooks bir compliance kalkanı. Diğer iki persona detayı için video referansı. videoda gör · 20:58

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ç.