Vault sync
Persistent Obsidian wiki pattern for LLM agents: starter template + init script + Claude Code skills for continuous, cumulative knowledge archives.
npx -y skills add hootbu/llm-wiki-mind --skill vault-syncAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Projede yapılan değişikliği llm-wiki-mind vault'una sindir. Git log, commit mesajları ve diff'leri okur; etkilenen wiki sayfalarını (entities, concepts, decisions) günceller; raw/pr-discussions/ altına commit özet dosyası düşer. Proje-vault bağlantısı projenin CLAUDE.md'sinden okunur. Her commit, PR veya haftalık toplu senkron için kullanılır.
SKILL.md
4.5 KB, as published. Nobody here has run it
vault-sync — kod değişikliklerini vault'a sindir
Tetiklendiğinde yapılacaklar:
1. Proje ve vault yolunu belirle
- Çalışma dizininin (
pwd) köküne bak —CLAUDE.mdvar mı? - Varsa
Vault (llm-wiki-mind)bölümündeki vault yolunu oku. - Yoksa kullanıcıdan iki yolu sor (PROJECT_PATH, VAULT_PATH).
- Vault yolunu doğrula:
<vault>/CLAUDE.mdve<vault>/index.mdmevcut olmalı.
2. Değişiklik aralığını belirle
Varsayılan: otomatik tespit. Soru sorma. Vault'un log.md dosyasından en son ingest edilen commit'i bul ve oradan HEAD'e kadar atılmamış olan tüm commit'leri sync'le.
LAST_HASH=$(grep -oE 'commit `[a-f0-9]+\.\.[a-f0-9]+`' "$VAULT_PATH/log.md" \
| tail -1 \
| sed -E 's/commit `[a-f0-9]+\.\.([a-f0-9]+)`/\1/')
cd "$PROJECT_PATH"
NEW_COUNT=$(git rev-list --count "$LAST_HASH..HEAD" 2>/dev/null || echo "?")
Sonra duruma göre:
- Yeni commit var (
NEW_COUNT > 0) — Aralık otomatik olarak$LAST_HASH..HEADbelirlendi. Kullanıcıya kısa bir teyit yaz (örn. "Vault<hash>'e kadar güncel, oradan HEAD'e kadar N commit ingest edeceğim.") ve direkt §3'e geç. Soru sorma. - Yeni commit yok (
NEW_COUNT == 0) — "Vault zaten en son commit'e kadar güncel (<hash>). Sync'lenecek bir şey yok." mesajıyla durdur. log.mdparse edilemezse (ilk ingest, format değişikliği vb.) — geri çekil ve AskUserQuestion ile sor:- Son commit (HEAD~1..HEAD): tek değişiklik.
- Belirli commit / aralık (kullanıcı hash verir).
- Aktif branch'in divergence'ı (main..HEAD): PR bütünü.
- Belirli tarih aralığı (örn. "son 7 gün").
Override: Kullanıcı komutu çağırırken explicit bir aralık (örn. /vault-sync HEAD~3..HEAD) veya doğal dilde belirtirse ("son commit", "PR bütünü"), otomatik tespit yerine kullanıcının seçimi kullanılır.
3. Değişikliği topla
cd "$PROJECT_PATH"
git log --format="commit %H%n%an <%ae>%n%ad%n%n%B%n---" "$RANGE" > /tmp/vault-sync-log.txt
git diff --stat "$RANGE"
# Kritik dosyalar için tam diff:
git diff "$RANGE" -- <önemli-dosyalar>
Kısa özet dosyası hazırla: etkilenen klasörler, dokunulan dosya sayıları, commit mesajları, ne değişti kısa özet.
4. Raw'a düşür
<vault>/raw/pr-discussions/YYYY-MM-DD-<short-hash>.md oluştur. İçerikte:
# <commit mesajının ilk satırı>
**Commit**: <full hash>
**Yazar**: <author>
**Tarih**: <date>
**Aralık**: <range>
## Özet
<commit body + kullanıcıyla konuşarak çıkarılan "neden" özeti>
## Etkilenen dosyalar
<git diff --stat çıktısı, markdown tablo>
## Önemli diff'ler
<seçilmiş hunks, code block içinde>
5. Ingest et
Vault'un CLAUDE.md §6 (INGEST workflow) adımlarını uygula:
- Yeni raw dosyasını oku.
- Anahtar çıkarımları kullanıcıyla konuş.
sources/YYYY-MM-DD-<slug>.mdyaz.- Etkilenen entity/concept/decision sayfalarını güncelle. Dokunulan dosya yolu bir mevcut sayfayla eşleşiyorsa (örn.
lib/features/paywall/→entities/features/paywall.md) o sayfaya yeni bilgi ekle,updated:tarihini güncelle,sources:listesine yeni source'u ekle. - Yeni feature / service eklendiyse yeni entity sayfası oluştur.
- Önemli karar içeriyorsa
decisions/NNNN-<slug>.mdyaz. - Çelişki varsa
⚠ Çelişkinotu bırak — silme. index.mdgüncelle.log.md'ye append:## [YYYY-MM-DD] ingest | commit <short-hash> → <N source + M entity/concept>
6. Özet dön
Kullanıcıya kısaca:
- Hangi sayfalar oluştu/güncellendi?
- Hangi açık sorular çıktı?
- Herhangi bir çelişki var mı?
Hatırlatıcılar
- Proje dizini ve
raw/immutable — sadece oku, yazma (raw'a script-üretimi dosya dışında). - Vault şemasını izle — projenin kendi
CLAUDE.md'si yerine vault'unCLAUDE.md'si authoritative. - Commit büyük ve dağınıksa ingest'i parçala: önemli feature'ları ayrı source sayfalarına böl.
Kullanım örnekleri
- "Az önce portföy split feature'ını ekledim, vault'u sync'le."
- "Bu hafta yaptığım 12 commit'i topluca ingest et."
- "PR #342'de ne değişti özet çıkar, ilgili entity'leri güncelle."