Claude'un oturumda ne katkıda bulunduğunu ve siz ne yaptığınızı anlamak istediğinizde kullanın. Şu komutlarla tetiklenir: /collab-proof, session retrospective, ai contribution analysis, collaboration evidence, what did claude do.
cd ~/.claude/skills
git clone https://github.com/alirezarezvani/claude-skills.git claude-skills mkdir -p ~/.claude/skills/collab-proof
curl -fsSL https://raw.githubusercontent.com/alirezarezvani/claude-skills/HEAD/.gemini/skills/collab-proof/SKILL.md \
-o ~/.claude/skills/collab-proof/SKILL.md Geliştiricinin bilinçli olarak kaydetmediği AI işbirliği kanıtlarını ortaya çıkar. Vela 3 katmanlı pipeline × ADHD 4 çerçeve akıl yürütme — prompt-native, sıfır bağımlılık.
Önce git log --oneline -10 ve git diff --stat HEAD~3..HEAD komutlarını çalıştırın.
Bu rubriği kullanarak sinyal seviyesini sınıflandırın (en yüksek eşleşeni seçin):
HIGH → tam artifact'lar (DECISIONS.md + session-history + WORKLOG + HTML)
BUG_FIXING özel kuralı — dosya sayısını geçersiz kıl: Sadece 1 dosya değişse bile, konuşma şunları içeriyorsa HIGH olarak sınıflandırın:
MEDIUM → yalnızca WORKLOG
LOW → sessizlik, kullanıcıya "Rutin oturum — hiçbir şey kaydedilmedi." deyin
Kullanıcıya gösterin: Signal: HIGH / MEDIUM / LOW — [tek satırlık sebep]
Konuşma bağlamı + git diff'e karşı dört çerçevenin hepsini aynı anda çalıştırın. Aşağıdaki rubriği kullanarak her çerçeveyi 0.0–1.0 arasında puanlayın. Sonra budama ve sınıflandırma kurallarını uygulayın.
Çerçeve A — Teknik (kod değişikliği karmaşıklığı)
1.0 Yeni modül/dosya oluşturuldu, karmaşık mantık eklendi (state machine, Lua script, yeni algoritma)0.5 Mevcut fonksiyon mantığı değiştirildi, basit API endpoint'i eklendi0.1 Yazım hatası düzeltmesi, yorum değişikliği, düz metin düzenlemeÇerçeve B — Belirsizlik (geliştirici şüphe sinyalleri)
1.0 Kod yazılıp tamamen geri alındı, açık şüphe ifadesi ("bu doğru mu?", "çalışmıyor"), git revert0.5 Uygulama sırasında Claude'dan tavsiye istendi, aynı alan üzerinde 2+ revizyonlar0.0 Kesintisiz direktif yürütme — geliştirici tam olarak ne yapacağını biliyorduÇerçeve C — Fork (karar dalı varlığı)
1.0 Konuşmada iki veya daha fazla alternatif açıkça karşılaştırıldı (A vs B)0.5 Açık karşılaştırma yok ama tradeoff'dan bahsedildi (performans vs okunabilirlik)0.0 Tek standart yaklaşım uygulandı, alternatif düşünülmediÇerçeve D — AI katkısı (Claude'un gerçek etkisi)
1.0 Claude geliştirici tarafından fark edilmeyen bir hatayı/kenar durumu belirledi ve düzeltme önerdi0.6 Claude yürütmeyi önemli ölçüde hızlandıran yapısal boilerplate/iskelet oluşturdu0.2 Claude geliştirici tarafından yönlendirilen kodu bağımsız katkı olmadan yeniden biçimlendirdi veya transkripsiyonunu yaptı0.4'ten düşük puan alan herhangi bir çerçeveyi budayın.
İstisna — Yüksek Hızlı Yürütme Koruma:
Eğer Frame A >= 0.8 VE Frame D >= 0.6 ise, Frame B = 0.0 ve Frame C = 0.0 olsa bile
budama yapmayın ve oturumu sessiz bırakmayın.
Bu bir boilerplate-ağır FEATURE_BUILDING oturumudur. Hemen FEATURE_BUILDING olarak HIGH sinyaliyle sınıflandırın.
Neden: hızlı hareket eden bir oturumda sıfır belirsizlik onu atılması için bir neden değil, bir özelliktir.
| Kalan çerçeveler | Baskın niyet | Anlamı |
|---|---|---|
| A yüksek + D orta-yüksek (B, C düşük) | FEATURE_BUILDING |
Yüksek hız özellik oluşturma, Claude iskelet yapısı |
| B yüksek + A/D yüksek | BUG_FIXING veya STUCK |
Aktif hata ayıklama veya çözülmemiş döngü |
| C yüksek + A yüksek | REFACTORING veya EXPLORING |
Mimari keşif, alternatifleri tartma |
| Tüm çerçeveler < 0.4 | FLOW_STATE veya LOW |
Rutin yazım, Layer 01 HIGH değilse sessiz |
Birden fazla niyet bağlı kalsa, en yüksek birleşik çerçeve puanı olanını seçin. Runner-up'ı kaydedin — oturum anlatısına ait.
Layer 03'e geçmeden önce bu yapıya çözünleyin (kullanıcıya gösterin):
{
"frames": {
"technical": 0.0,
"uncertainty": 0.0,
"fork": 0.0,
"ai_contribution": 0.0
},
"pruned": ["budanan çerçeve adlarının listesi"],
"intent": "FEATURE_BUILDING",
"signal": "HIGH",
"calibration_note": "uygulanan herhangi bir istisna kuralını açıklayan bir cümle"
}
DECISIONS.md'ye ekleyin — gerçek fork başına bir giriş (Frame C alternatiflerin var olduğunu onaylamalı):
## [YYYY-MM-DD] <başlık>
**Bağlam**: [Frame A — bu seçimi zorlayan şey]
**Karar**: ne seçildi
**Düşünülen alternatifler**: [Frame C — gidilmeyen yol]
**Sebep**: neden — bağlamdan yeniden yapılandırılmışsa "inferred:" ile başlayın
**AI katkısı**:
- Belirledi: [Frame D — geliştirici tarafından kaçırılan bir şey]
- Önerdi: [Frame D — yaklaşım veya alternatif]
- Geliştirici tarafından yönlendirildi: [geliştirici tarafından bağımsız olarak karar verilen]
**Niyet sınıfı**: [Layer 02'den]
**Sinyal puanı**: HIGH
**Sonuç**: uygulandı | beklemede | tersine çevrildi
Gerçek fork yoksa → hiçbir şey yazma. Kararları asla uydurma.
BUG_FIXING niyeti: bunun yerine bu formatı kullanın:
## [YYYY-MM-DD] <hata başlığı>
**Kök neden**: hatanın gerçekten ne yaptığı — sadece ne değil, NEDEN
**Semptom**: geliştirici tarafından gözlemlenen ne
**Düzeltme**: ne değiştirildi
**Bu düzeltme neden**: mantığı — açıkça belirtilmemişse inferred
**Düşünülen alternatif düzeltmeler**: tartışılan diğer yaklaşımlar (varsa)
**AI katkısı**:
- Belirledi: [Frame D — Claude kök nedeni buldu mu?]
- Önerdi: [Frame D — düzeltme yaklaşımı veya teşhis adımı]
- Geliştirici tarafından yönlendirildi: [geliştirici tarafından tanısı konmuş/karar verilen]
**Niyet sınıfı**: BUG_FIXING
**Sinyal puanı**: HIGH
**Sonuç**: düzeltildi | geçici çözüm | ertelendi
Oluşturun session-history/YYYY-MM-DD-HHMM.md:
# Oturum [YYYY-MM-DD HH:MM]
**Niyet**: [sınıf] (runner-up: [sınıf varsa])
**Sinyal**: HIGH
**Etkin çerçeveler**: A ([puan]) / B ([puan]) / C ([puan]) / D ([puan])
## Gönderilen ne
[git log'a dayalı]
## Anlaşılan ne
[Frame B + C — akıl yürütme, tradeoff'lar, hata ayıklama — geliştiricilerin unuttukları]
## Bu oturumda alınan kararlar
[DECISIONS.md girdilerine refs]
## Zorlu olduğu yerler
[Frame B bulguları — belirsizlik, revert'ler, EXPLORING/STUCK sinyalleri]
## AI katkısı özeti
[Frame D sentezi — bir dürüst paragraf, kalibre edilmiş]
## Anlaşılan sonraki adımlar
[açıkça eksik olan ne]
WORKLOG.md'ye ekleyin:
YYYY-MM-DD HH:MM | [niyet] | HIGH | D:[puan] | cache:[hit%]% | tok:[toplam] | <fiil cümlesi> — <neden önemli olduğu>
Alanlar:
D:[puan] — Frame D AI katkısı puanı (0.0–1.0)cache:[hit%]% — token analizinden cache hit oranı (veri yoksa cache:n/a)tok:[toplam] — bu oturum için toplam tokenlar (input + cache_read + cache_create + output, K cinsinden, örn. 45K)Token kullanımını topla (bash — bunu çalıştırın ve çıktıyı yakala):
python3 -c "
import json, sys
from pathlib import Path
projects = Path.home() / '.claude/projects'
files = sorted(projects.rglob('*.jsonl'), key=lambda f: f.stat().st_mtime, reverse=True)
if not files:
print('no_data'); sys.exit()
with open(files[0]) as fp:
lines = [json.loads(l) for l in fp if l.strip()]
ti = to = cr = cc = 0
turns = []
for i, line in enumerate(lines):
if line.get('type') == 'assistant':
u = line.get('message', {}).get('usage', {})
if not u: continue
inp = u.get('input_tokens', 0)
ti += inp; to += u.get('output_tokens', 0)
cr += u.get('cache_read_input_tokens', 0)
cc += u.get('cache_creation_input_tokens', 0)
prompt = ''
for j in range(i-1, -1, -1):
if lines[j].get('type') == 'user':
c = lines[j].get('message', {}).get('content', '')
prompt = (c if isinstance(c, str) else next((x.get('text','') for x in c if isinstance(x,dict) and x.get('type')=='text'), ''))[:80]
break
turns.append((inp, prompt))
total = ti + cr + cc
hit = cr / total * 100 if total else 0
print(f'input={ti} output={to} cache_read={cr} cache_create={cc} hit={hit:.0f} turns={len(turns)}')
turns.sort(reverse=True)
for idx, (tok, p) in enumerate(turns[:3]):
print(f'top{idx+1}={tok}|{p}')
"
Çıktıyı ayrıştırın ve token istatistiklerini oturum anlatısına dahil edin. Sonra:
Oluşturun session-history/YYYY-MM-DD-HHMM-proof.html — kendi başına yeterli bir HTML dosyası yazın. Yapı ve sınıf adları sabittir — yeniden adlandırmayın veya yeniden sıralamayın.
Sabit CSS tokenları (tam olarak kullanın):
#0d1117, Kart: #161b22, Sınır: #30363dfont-family: 'Courier New', monospacehigh → #3fb950, low → #f85149, budanmış → #8b949eai-identified → #a371f7, ai-suggested → #d29922, ai-developer → #3fb950Sabit HTML yapısı (sınıf adları tam olarak eşleşmelidir):
<div class="header">
<div class="header-top">
<div class="project-name">
<span class="badge"> <!-- niyet sınıfı -->
<div class="meta-row"> <!-- tarih, dal, sinyal seviyesi metni -->
<div class="signal-container">
<div class="signal-label">
<div class="signal-track">
<div class="signal-fill"> <!-- width % sinyal puanı tarafından yönlendirilir -->
<div class="section"> <!-- çerçeveler -->
<div class="section-title"> ... <span class="count">Layer 02 · ADHD tree-of-thought</span>
<div class="frames-grid">
<div class="frame-card"> <!-- budanmış: class="frame-card pruned" -->
<div class="frame-label"> <!-- Frame A / B / C / D -->
<div class="frame-name">
<div class="frame-score high|low"> <!-- puan değeri -->
<div class="section"> <!-- kararlar — hiç yoksa bölümü atla -->
<div class="section-title"> ... <span class="count">N kayıtlı</span>
<div class="decision-card"> <!-- DECISIONS.md girdisi başına bir -->
<div class="decision-header">
<div class="decision-title">
<div class="decision-date">
<div class="decision-fields">
<div class="field-row">
<div class="field-label"> <!-- Context / Decision / Alternatives / Reasoning -->
<div class="field-value">
<div class="field-row"> <!-- AI katkısı satırı -->
<div class="field-label">AI katkısı</div>
<div class="field-value">
<div class="ai-block">
<div class="ai-line ai-identified|ai-suggested|ai-developer">
<span class="tag">IDENTIFIED|SUGGESTED|DEV-DRIVEN</span>
<div class="field-row"> <!-- Outcome satırı -->
<div class="field-label">Sonuç</div>
<div class="field-value">
<span class="outcome-badge outcome-implemented|outcome-pending|outcome-reversed">
<div class="section"> <!-- oturum anlatısı -->
<div class="section-title">Oturum anlatısı</div>
<div class="narrative-grid">
<div class="narrative-card"> <!-- Gönderilen ne -->
<div class="narrative-card"> <!-- Anlaşılan ne -->
<div class="narrative-card"> <!-- Zorlu olduğu yerler -->
<div class="narrative-card"> <!-- Anlaşılan sonraki adımlar -->
<div class="section"> <!-- AI katkısı özeti -->
<div class="section-title">AI katkısı özeti</div>
<div class="narrative-card"> <!-- Frame D sentezi paragrafı -->
<div class="section"> <!-- token kullanımı -->
<div class="section-title">Token kullanımı</div>
<div class="narrative-card"> <!-- cache hit oranı çubuğu + en üst dönüşümler + optimizasyon notu -->
<div class="section"> <!-- worklog kuyruğu -->
<div class="section-title"> ... <span class="count">son N girdi</span>
<div class="worklog-entry"> <!-- son WORKLOG satırı başına bir -->
<div class="footer"> <!-- son commit hash · "Generated by collab-proof · timestamp" -->
HTML'i bash kullanarak yazın:
cat > session-history/YYYY-MM-DD-HHMM-proof.html << 'HTMLEOF'
<!DOCTYPE html>
... (satır içi CSS ile tam HTML, harici kaynak yok)
HTMLEOF
Yazdıktan sonra gösterin: open session-history/YYYY-MM-DD-HHMM-proof.html
WORKLOG.md'ye sadece bir satır ekleyin:
YYYY-MM-DD HH:MM | [niyet] | MEDIUM | D:[puan] | cache:[hit%]% | tok:[toplam] | <fiil cümlesi>
Kullanıcıya deyin: "Signal: LOW — Rutin oturum, hiçbir şey kaydedilmedi."
Bağlam sıkıştırması olmak üzereyken (PreCompact hook'u tarafından tetiklenen), bağlam kaybedilmeden önce hafif bir mid-oturum kontrol noktası çalıştırın:
session-history/.tmp-TIMESTAMP.json'a yaz:{
"timestamp": "YYYY-MM-DD HH:MM:SS",
"trigger": "pre-compact",
"signal": "HIGH / MEDIUM / LOW",
"frames": { "technical": 0.0, "uncertainty": 0.0, "fork": 0.0, "ai_contribution": 0.0 },
"intent": "FEATURE_BUILDING",
"key_moments": [
"şimdiye kadar yapılan en önemli karar veya bulguların tek satırlık açıklaması"
]
}
/collab-proof oturum sonunda çalıştırıldığında:
session-history/.tmp-*.json dosyalarını okukey_moments dizilerini birleştir — bunlar sıkıştırılan tradeoff tartışmalarını korur.tmp-*.json dosyalarını silŞirketinizin tercih ettiği formatları kullanarak her türlü iç iletişimi yazmanıza yardımcı olacak kaynak koleksiyonu. Claude, durumu raporları, yönetim güncellemeleri, üçüncü taraf güncellemeleri, şirket bültenleri, SSS, olay raporları, proje güncellemeleri gibi iç iletişim yazıları istendiğinde bu yeteneği kullanacaktır.
Benchmark Email görevlerini Rube MCP (Composio) aracılığıyla otomatikleştirin. Her zaman güncel şemaları bulmak için önce tools aramasını yapın.
Bu plugin'de paket halinde sunulan 4 işletme ve büyüme becerisi için router/index: customer-success-manager (sağlık skorlaması, churn riski, genişleme), sales-engineer (RFP analizi, rekabet matrisleri, PoC planlama), revenue-operations (pipeline, tahmin doğruluğu, GTM verimliği) ve contract-and-proposal-writer. Bir büyüme/revenue isteği belirli bir beceriyle net şekilde eşleşmediğinde ve doğru seçimi yapmanız gerektiğinde kullanın.
Çok dokunuşlu attribution, funnel dönüşüm analizi ve ROI hesaplaması ile kampanya performansını analiz eder ve pazarlama optimizasyonu sağlar. Pazarlama kampanyaları, reklam performansı, attribution modelleri, dönüşüm oranları analiz etmek veya kanallar arası pazarlama ROI, ROAS, CPA ve kampanya metriklerini hesaplamak için kullanılır.
Planın 12 ay sonra başarısız olduğunu hayal edip geriye doğru çalışarak zayıflıkları bulma analizi. Kaynakları tahsis etmeden önce varsayımları, bağımlılıkları ve uygulama risklerini ortaya çıkarır. Büyük kaynak yatırımı öncesinde, yönetim kurulu veya yatırımcılara sunmadan önce, geri bildirimlerin tek taraflı pozitif olduğu durumlarda veya hızlı hareket etme baskısı olduğunda kullanın.
/cs:ciso-review <plan> — Veri, uyum veya production erişimine dokunan herhangi bir planın risk açısından derinlemesine incelenmesi. Müşteri verisi işleyen özellikler başlatırken, SOC 2 / ISO denetiminden önce veya herhangi bir olay ya da yakın kaza sonrasında kullanılır.