764 lines
24 KiB
Markdown
764 lines
24 KiB
Markdown
# Claude-Vault Optimization Roadmap
|
|
**Erstellt:** 2026-02-04
|
|
**Status:** Aktuelle Bewertung 9/10 ⭐
|
|
|
|
## Executive Summary
|
|
|
|
Der claude-vault ist **hervorragend strukturiert** (12 Skills, 8 Agents, exzellente Dokumentation), aber das **Memory-System wird nur zu ~10% genutzt**. Diese Roadmap fokussiert auf **automatisierte Workflows**, um Learning aus Sessions systematisch zu extrahieren und die Arbeitsweise zu optimieren.
|
|
|
|
---
|
|
|
|
## Problem-Analyse
|
|
|
|
### 🔴 Kritisch: Memory-Unternutzung
|
|
|
|
**Ist-Zustand:**
|
|
- Nur 1 Log-Eintrag (`2026-02-04_project-structure-refactoring.md`)
|
|
- Nur 1 Snapshot (`2026-02-04_vault-restructuring.md`)
|
|
- patterns.md manuell gepflegt, keine automatische Extraktion
|
|
- Archive-Ordner leer (keine Pattern-Destillation)
|
|
|
|
**Soll-Zustand:**
|
|
- Jede Session wird automatisch geloggt
|
|
- Wöchentliche Pattern-Extraktion via Cron-Job
|
|
- Skill-Proposals werden automatisch erkannt
|
|
- Anti-Patterns werden aus Fehlern extrahiert
|
|
|
|
**Impact:** Verlorenes Wissen aus ~90% der Sessions
|
|
|
|
---
|
|
|
|
### 🟡 Wichtig: Fehlende Session-Projekt-Kopplung
|
|
|
|
**Ist-Zustand:**
|
|
- Projekt-MEMORY.md manuell synchronisieren (`sync-project-memory.sh`)
|
|
- Kein automatisches Tracking, welche Skills in welchen Projekten genutzt wurden
|
|
- Kein Cross-Projekt-Learning (Was in Projekt A gelernt → Projekt B anwenden)
|
|
|
|
**Soll-Zustand:**
|
|
- Post-Session Hook speichert automatisch Kontext (Projekt, Skills, Probleme)
|
|
- Projekt-MEMORY.md wird automatisch aktualisiert
|
|
- Skill-Usage-Matrix zeigt: Welcher Skill in welchem Projekt wie oft genutzt
|
|
|
|
---
|
|
|
|
### 🟢 Nice-to-have: Git-Integration fehlt
|
|
|
|
**Ist-Zustand:**
|
|
- Vault-Änderungen nicht automatisch mit Projekt-Commits verknüpft
|
|
- Keine automatische Detection von wiederholten Aufgaben (→ Skill-Proposals)
|
|
- Keine Pre-Commit Validation von Skills
|
|
|
|
**Soll-Zustand:**
|
|
- Git-Commit-Hooks loggen Claude-Sessions in Memory
|
|
- Pre-Commit validiert YAML-Frontmatter
|
|
- Post-Commit triggert Skill-Usage-Tracking
|
|
|
|
---
|
|
|
|
## Lösungsansätze
|
|
|
|
## 🚀 Phase 1: Automatisiertes Memory-Logging (Woche 1)
|
|
|
|
### 1.1 Session-Logger erstellen
|
|
|
|
**Script:** `scripts/log-session.sh`
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Automatisches Logging nach jeder Claude-Session
|
|
# Aufruf: ./log-session.sh <projekt-name> <kurzbeschreibung>
|
|
|
|
DATE=$(date +%Y-%m-%d)
|
|
TIMESTAMP=$(date +%Y-%m-%d_%H-%M-%S)
|
|
PROJECT="$1"
|
|
DESC="$2"
|
|
|
|
LOG_DIR="$HOME/Work/claude-vault/memory/log"
|
|
LOG_FILE="$LOG_DIR/${DATE}_session.md"
|
|
|
|
# Append zu heutigem Log (statt separate Files pro Session)
|
|
cat >> "$LOG_FILE" <<EOF
|
|
|
|
---
|
|
|
|
## Session: ${TIMESTAMP}
|
|
**Projekt:** ${PROJECT}
|
|
**Beschreibung:** ${DESC}
|
|
|
|
### Verwendete Skills
|
|
<!-- Auto-detected via git log -->
|
|
$(git -C "$HOME/.claude/projects/$(echo $PROJECT | sed 's|/|-|g')" log --since="30 minutes ago" --pretty=format:"- %s" 2>/dev/null || echo "Keine Git-History")
|
|
|
|
### Wichtige Entscheidungen
|
|
<!-- TODO: Manuell ergänzen nach Session -->
|
|
|
|
### Lessons Learned
|
|
<!-- TODO: Manuell ergänzen nach Session -->
|
|
|
|
### Follow-up Tasks
|
|
<!-- TODO: Verknüpfe mit TaskList -->
|
|
|
|
EOF
|
|
|
|
echo "✅ Session geloggt: $LOG_FILE"
|
|
```
|
|
|
|
**Integration:**
|
|
- Alias in `.bashrc`/`.zshrc`: `alias claude-done='~/Work/claude-vault/scripts/log-session.sh'`
|
|
- Nach jeder Session: `claude-done league-planner "API endpoint für Team-Stats"`
|
|
|
|
---
|
|
|
|
### 1.2 Automatische Skill-Usage-Matrix
|
|
|
|
**Script:** `scripts/analyze-skill-usage.sh`
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Analysiert welche Skills in welchen Projekten genutzt wurden
|
|
# Liest Claude-Logs aus ~/.claude/projects/*/memory/
|
|
|
|
VAULT="$HOME/Work/claude-vault"
|
|
OUTPUT="$VAULT/memory/skill-usage-matrix.md"
|
|
|
|
echo "# Skill Usage Matrix" > "$OUTPUT"
|
|
echo "**Letzte Aktualisierung:** $(date +%Y-%m-%d)" >> "$OUTPUT"
|
|
echo "" >> "$OUTPUT"
|
|
echo "| Skill | Projekt | Häufigkeit | Letzte Nutzung |" >> "$OUTPUT"
|
|
echo "|-------|---------|------------|----------------|" >> "$OUTPUT"
|
|
|
|
# Durchsuche alle Projekt-MEMORYs nach Skill-Erwähnungen
|
|
find "$HOME/.claude/projects" -name "MEMORY.md" | while read memory_file; do
|
|
PROJECT=$(basename "$(dirname "$(dirname "$memory_file")")")
|
|
|
|
# Extrahiere Skill-Erwähnungen (z.B. /lp-django-model)
|
|
grep -oE '/[a-z-]+' "$memory_file" | sort | uniq -c | while read count skill; do
|
|
LAST_USED=$(grep -B5 "$skill" "$memory_file" | grep -oE '[0-9]{4}-[0-9]{2}-[0-9]{2}' | head -1)
|
|
echo "| $skill | $PROJECT | $count | ${LAST_USED:-Unknown} |" >> "$OUTPUT"
|
|
done
|
|
done
|
|
|
|
sort -t'|' -k4 -r "$OUTPUT" -o "$OUTPUT"
|
|
echo "✅ Skill-Usage-Matrix aktualisiert: $OUTPUT"
|
|
```
|
|
|
|
**Nutzung:**
|
|
- Wöchentlich via Cron: `0 9 * * 1 ~/Work/claude-vault/scripts/analyze-skill-usage.sh`
|
|
- Zeigt: Welche Skills werden am meisten genutzt? Welche sind obsolet?
|
|
|
|
---
|
|
|
|
### 1.3 Erweiterte vault-janitor Funktionen
|
|
|
|
**Ziel:** `/vault-janitor` mit zusätzlichen Modi erweitern
|
|
|
|
**Neue Modi:**
|
|
|
|
```yaml
|
|
# In skills/vault-janitor/SKILL.md ergänzen:
|
|
|
|
## Modes
|
|
|
|
1. **distill** (bestehend)
|
|
- Scannt /memory/log/*.md
|
|
- Extrahiert Patterns nach /memory/patterns.md
|
|
- Archiviert alte Logs
|
|
|
|
2. **skill-audit** (bestehend)
|
|
- Validiert YAML-Frontmatter
|
|
- Prüft auf Duplikate
|
|
|
|
3. **propose** (NEU) ✨
|
|
- Scannt memory/log/ nach wiederholten Aufgaben (>3x gleich)
|
|
- Erstellt automatisch Skill-Proposal in skills/proposals/
|
|
- Format: proposals/YYYY-MM-DD_<skill-name>.md
|
|
|
|
4. **sync-projects** (NEU) ✨
|
|
- Führt sync-project-memory.sh für ALLE Projekte aus
|
|
- Reportet Sync-Status
|
|
|
|
5. **anti-pattern-detect** (NEU) ✨
|
|
- Scannt memory/log/ nach Fehlern/Problemen
|
|
- Schlägt neue Anti-Patterns vor
|
|
- Template: knowledge/anti-patterns/template.md
|
|
|
|
6. **stats** (NEU) ✨
|
|
- Zeigt Statistiken: Skills genutzt, Logs geschrieben, Projekte aktiv
|
|
- Output: memory/snapshots/YYYY-MM-DD_stats.md
|
|
```
|
|
|
|
**Implementierung:**
|
|
- Erweitere `skills/vault-janitor/SKILL.md` mit neuen Prompts
|
|
- Nutze Read/Grep/Write Tools für Automatisierung
|
|
|
|
---
|
|
|
|
## 🔧 Phase 2: Git-Integration (Woche 2)
|
|
|
|
### 2.1 Pre-Commit Hook: YAML-Validierung
|
|
|
|
**File:** `.git/hooks/pre-commit`
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Validiert YAML-Frontmatter bei Skill-Änderungen
|
|
|
|
STAGED_SKILLS=$(git diff --cached --name-only | grep "skills/.*/SKILL.md")
|
|
|
|
if [ -n "$STAGED_SKILLS" ]; then
|
|
echo "🔍 Validiere YAML-Frontmatter..."
|
|
|
|
for skill in $STAGED_SKILLS; do
|
|
# Prüfe ob name: in Zeile 2 existiert
|
|
NAME=$(sed -n '2p' "$skill" | grep -oE 'name:\s+[a-z-]+')
|
|
|
|
if [ -z "$NAME" ]; then
|
|
echo "❌ Fehler in $skill: 'name:' fehlt in Zeile 2"
|
|
exit 1
|
|
fi
|
|
|
|
# Prüfe description: in Zeile 3 (max 200 Zeichen)
|
|
DESC=$(sed -n '3p' "$skill" | grep -oE 'description:.+')
|
|
DESC_LEN=$(echo "$DESC" | wc -c)
|
|
|
|
if [ "$DESC_LEN" -gt 210 ]; then
|
|
echo "❌ Fehler in $skill: description zu lang ($DESC_LEN Zeichen)"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
echo "✅ Alle Skills validiert"
|
|
fi
|
|
```
|
|
|
|
**Installation:**
|
|
```bash
|
|
chmod +x .git/hooks/pre-commit
|
|
```
|
|
|
|
---
|
|
|
|
### 2.2 Post-Commit Hook: Session-Tracking
|
|
|
|
**File:** `.git/hooks/post-commit`
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Loggt Commit-Kontext in Vault-Memory
|
|
|
|
COMMIT_MSG=$(git log -1 --pretty=%B)
|
|
COMMIT_HASH=$(git rev-parse --short HEAD)
|
|
DATE=$(date +%Y-%m-%d)
|
|
|
|
# Nur loggen wenn Commit Claude-bezogen ist (Co-Authored-By: Claude)
|
|
if echo "$COMMIT_MSG" | grep -q "Co-Authored-By: Claude"; then
|
|
LOG_FILE="$HOME/Work/claude-vault/memory/log/${DATE}_session.md"
|
|
|
|
cat >> "$LOG_FILE" <<EOF
|
|
|
|
### Commit ${COMMIT_HASH}
|
|
**Nachricht:** ${COMMIT_MSG}
|
|
**Files:** $(git diff-tree --no-commit-id --name-only -r HEAD | tr '\n' ', ')
|
|
|
|
EOF
|
|
|
|
echo "✅ Commit geloggt in Vault-Memory"
|
|
fi
|
|
```
|
|
|
|
---
|
|
|
|
### 2.3 Skill-Proposal-Detection
|
|
|
|
**Script:** `scripts/detect-skill-proposals.sh`
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Scannt Git-History nach wiederholten Aufgaben → Skill-Proposals
|
|
|
|
VAULT="$HOME/Work/claude-vault"
|
|
PROPOSALS="$VAULT/skills/proposals"
|
|
|
|
# Analysiere Commit-Messages der letzten 30 Tage
|
|
git log --since="30 days ago" --pretty=format:"%s" | \
|
|
grep -oE '(add|create|implement|fix) [a-z ]+' | \
|
|
sort | uniq -c | sort -rn | \
|
|
awk '$1 >= 3 {print $0}' | \
|
|
while read count task; do
|
|
SKILL_NAME=$(echo "$task" | tr ' ' '-' | tr -d '[:punct:]')
|
|
PROPOSAL_FILE="$PROPOSALS/$(date +%Y-%m-%d)_${SKILL_NAME}.md"
|
|
|
|
if [ ! -f "$PROPOSAL_FILE" ]; then
|
|
cat > "$PROPOSAL_FILE" <<EOF
|
|
# Skill-Proposal: ${SKILL_NAME}
|
|
**Erstellt:** $(date +%Y-%m-%d)
|
|
**Trigger:** ${count}x in letzten 30 Tagen
|
|
|
|
## Erkannte Aufgaben
|
|
<!-- Automatisch erkannt -->
|
|
${task}
|
|
|
|
## Vorgeschlagener Skill-Name
|
|
\`${SKILL_NAME}\`
|
|
|
|
## Beschreibung (TODO)
|
|
<!-- Manuell ergänzen -->
|
|
|
|
## Argument-Hint (TODO)
|
|
<!-- Manuell ergänzen -->
|
|
|
|
## Allowed-Tools (TODO)
|
|
<!-- Manuell ergänzen -->
|
|
|
|
## Implementation (TODO)
|
|
<!-- Manuell ergänzen -->
|
|
EOF
|
|
echo "✅ Skill-Proposal erstellt: $PROPOSAL_FILE"
|
|
fi
|
|
done
|
|
```
|
|
|
|
**Nutzung:**
|
|
- Wöchentlich via Cron: `0 10 * * 1 ~/Work/claude-vault/scripts/detect-skill-proposals.sh`
|
|
|
|
---
|
|
|
|
## 📊 Phase 3: Dashboard & Monitoring (Woche 3)
|
|
|
|
### 3.1 Vault-Dashboard
|
|
|
|
**File:** `memory/dashboard.md`
|
|
|
|
```markdown
|
|
# Vault Dashboard
|
|
**Letzte Aktualisierung:** $(date +%Y-%m-%d %H:%M)
|
|
|
|
## Aktivität (Letzte 30 Tage)
|
|
|
|
### Sessions
|
|
- **Gesamt:** 0 <!-- Auto-update -->
|
|
- **Projekte:** 0 <!-- Auto-update -->
|
|
- **Durchschnitt/Tag:** 0 <!-- Auto-update -->
|
|
|
|
### Skill-Nutzung (Top 5)
|
|
<!-- Auto-generated via analyze-skill-usage.sh -->
|
|
1. /lp-django-model (0x)
|
|
2. /lp-drf-api (0x)
|
|
3. ...
|
|
|
|
### Projekte (Aktiv)
|
|
<!-- Auto-detected via ~/.claude/projects -->
|
|
1. ligalytics-staffeleinteilung (letzte Änderung: ...)
|
|
|
|
## Memory-Gesundheit
|
|
|
|
### Logs
|
|
- **Total:** 1
|
|
- **Diese Woche:** 0
|
|
- **Archiviert:** 0
|
|
|
|
### Patterns
|
|
- **Extrahiert:** 0 <!-- Count in patterns.md -->
|
|
- **Letzte Distillation:** Never <!-- Check last /vault-janitor run -->
|
|
|
|
### Skill-Proposals
|
|
- **Offen:** 0 <!-- Count in skills/proposals/ -->
|
|
- **Umgesetzt:** 0 <!-- Track in proposals/implemented.txt -->
|
|
|
|
## Wartung
|
|
|
|
### Nächste Tasks
|
|
- [ ] /vault-janitor distill (wöchentlich)
|
|
- [ ] sync-project-memory.sh (täglich)
|
|
- [ ] detect-skill-proposals.sh (wöchentlich)
|
|
- [ ] analyze-skill-usage.sh (wöchentlich)
|
|
|
|
### Letzte Runs
|
|
- **vault-janitor:** Never <!-- Update via script -->
|
|
- **sync-projects:** Never
|
|
- **skill-detection:** Never
|
|
```
|
|
|
|
**Script:** `scripts/update-dashboard.sh`
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Aktualisiert memory/dashboard.md mit aktuellen Statistiken
|
|
|
|
VAULT="$HOME/Work/claude-vault"
|
|
DASHBOARD="$VAULT/memory/dashboard.md"
|
|
|
|
# Berechne Statistiken
|
|
TOTAL_LOGS=$(find "$VAULT/memory/log" -name "*.md" -type f | wc -l)
|
|
LOGS_THIS_WEEK=$(find "$VAULT/memory/log" -name "*.md" -type f -mtime -7 | wc -l)
|
|
TOTAL_PROPOSALS=$(find "$VAULT/skills/proposals" -name "*.md" -type f | wc -l)
|
|
PATTERNS_COUNT=$(grep -c "^## " "$VAULT/memory/patterns.md" 2>/dev/null || echo 0)
|
|
|
|
# Update Dashboard
|
|
sed -i.bak "s/\*\*Total:\*\* [0-9]*/\*\*Total:\*\* $TOTAL_LOGS/" "$DASHBOARD"
|
|
sed -i.bak "s/\*\*Diese Woche:\*\* [0-9]*/\*\*Diese Woche:\*\* $LOGS_THIS_WEEK/" "$DASHBOARD"
|
|
sed -i.bak "s/\*\*Offen:\*\* [0-9]*/\*\*Offen:\*\* $TOTAL_PROPOSALS/" "$DASHBOARD"
|
|
sed -i.bak "s/\*\*Extrahiert:\*\* [0-9]*/\*\*Extrahiert:\*\* $PATTERNS_COUNT/" "$DASHBOARD"
|
|
|
|
rm "$DASHBOARD.bak"
|
|
echo "✅ Dashboard aktualisiert: $DASHBOARD"
|
|
```
|
|
|
|
---
|
|
|
|
### 3.2 Wöchentlicher Health-Check
|
|
|
|
**Script:** `scripts/weekly-health-check.sh`
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Wöchentlicher Health-Check + Snapshot
|
|
|
|
VAULT="$HOME/Work/claude-vault"
|
|
DATE=$(date +%Y-%m-%d)
|
|
SNAPSHOT="$VAULT/memory/snapshots/${DATE}_weekly-health.md"
|
|
|
|
cat > "$SNAPSHOT" <<EOF
|
|
# Vault Health Check
|
|
**Datum:** $DATE
|
|
|
|
## Statistiken
|
|
|
|
### Skills
|
|
- **Total:** $(find $VAULT/skills -name "SKILL.md" | wc -l)
|
|
- **League-Planner (lp-*):** $(grep -l "^name: lp-" $VAULT/skills/*/SKILL.md | wc -l)
|
|
- **Generic:** $(grep -L "^name: lp-" $VAULT/skills/*/SKILL.md | wc -l)
|
|
|
|
### Agents
|
|
- **Total:** $(find $VAULT/agents -name "*.md" | wc -l)
|
|
|
|
### Memory
|
|
- **Logs (Total):** $(find $VAULT/memory/log -name "*.md" | wc -l)
|
|
- **Logs (Letzte 7 Tage):** $(find $VAULT/memory/log -name "*.md" -mtime -7 | wc -l)
|
|
- **Snapshots:** $(find $VAULT/memory/snapshots -name "*.md" | wc -l)
|
|
- **Patterns:** $(grep -c "^## " $VAULT/memory/patterns.md)
|
|
|
|
### Projekte
|
|
$(find $VAULT/projects -mindepth 1 -maxdepth 1 -type d -exec basename {} \; | sed 's/^/- /')
|
|
|
|
## Wartungs-Empfehlungen
|
|
|
|
$(if [ $(find $VAULT/memory/log -name "*.md" -mtime -7 | wc -l) -eq 0 ]; then
|
|
echo "⚠️ **Keine Logs diese Woche** → Session-Logging aktivieren?"
|
|
fi)
|
|
|
|
$(if [ $(find $VAULT/skills/proposals -name "*.md" | wc -l) -gt 0 ]; then
|
|
echo "💡 **$(find $VAULT/skills/proposals -name "*.md" | wc -l) offene Skill-Proposals** → Umsetzen oder verwerfen?"
|
|
fi)
|
|
|
|
$(if [ ! -f "$VAULT/memory/dashboard.md" ]; then
|
|
echo "📊 **Dashboard fehlt** → scripts/update-dashboard.sh ausführen"
|
|
fi)
|
|
|
|
## Nächste Schritte
|
|
- [ ] /vault-janitor distill
|
|
- [ ] Skill-Proposals reviewen
|
|
- [ ] Projekt-MEMORYs synchronisieren
|
|
EOF
|
|
|
|
echo "✅ Health-Check erstellt: $SNAPSHOT"
|
|
```
|
|
|
|
**Cron-Job:**
|
|
```bash
|
|
# Jeden Montag 09:00
|
|
0 9 * * 1 ~/Work/claude-vault/scripts/weekly-health-check.sh
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 Phase 4: Workflow-Optimierung (Woche 4)
|
|
|
|
### 4.1 Claude-Code Session-Workflow (EMPFOHLEN)
|
|
|
|
**Neuer Standard-Workflow:**
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ 1. SESSION START │
|
|
│ cd ~/Work/<projekt> │
|
|
│ claude │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
↓
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ 2. ARBEIT │
|
|
│ - Nutze Skills (/lp-django-model, /lp-drf-api, etc.) │
|
|
│ - Nutze Agents (league-planner-architect, etc.) │
|
|
│ - Claude erstellt Code, Tests, Dokumentation │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
↓
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ 3. COMMIT │
|
|
│ - Claude erstellt Commit mit Co-Authored-By │
|
|
│ - Post-Commit Hook loggt automatisch │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
↓
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ 4. SESSION END (MANUELL) │
|
|
│ claude-done <projekt> "<kurzbeschreibung>" │
|
|
│ │
|
|
│ Beispiel: │
|
|
│ claude-done league-planner "Team-Stats API + Tests" │
|
|
│ │
|
|
│ → Erzeugt: memory/log/2026-02-04_session.md │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
↓
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ 5. WÖCHENTLICH (AUTOMATISCH via Cron) │
|
|
│ - Montag 09:00: weekly-health-check.sh │
|
|
│ - Montag 09:00: analyze-skill-usage.sh │
|
|
│ - Montag 10:00: detect-skill-proposals.sh │
|
|
│ - Täglich 20:00: sync-project-memory.sh │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
↓
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ 6. MONATLICH (MANUELL) │
|
|
│ /vault-janitor distill │
|
|
│ → Extrahiert Patterns aus allen Logs │
|
|
│ → Archiviert alte Logs │
|
|
│ → Schlägt neue Anti-Patterns vor │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
### 4.2 Cron-Jobs einrichten
|
|
|
|
**File:** `scripts/setup-cron.sh`
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
# Richtet alle automatischen Wartungs-Jobs ein
|
|
|
|
VAULT="$HOME/Work/claude-vault"
|
|
|
|
# Aktuelle Crontab sichern
|
|
crontab -l > /tmp/crontab.backup 2>/dev/null || true
|
|
|
|
# Neue Cron-Jobs hinzufügen
|
|
cat >> /tmp/crontab.backup <<EOF
|
|
|
|
# Claude-Vault Automatisierung
|
|
# Montag 09:00 - Weekly Health Check + Skill-Usage-Matrix
|
|
0 9 * * 1 $VAULT/scripts/weekly-health-check.sh && $VAULT/scripts/analyze-skill-usage.sh
|
|
|
|
# Montag 10:00 - Skill-Proposal Detection
|
|
0 10 * * 1 $VAULT/scripts/detect-skill-proposals.sh
|
|
|
|
# Täglich 20:00 - Projekt-Memory Sync
|
|
0 20 * * * $VAULT/scripts/sync-project-memory.sh
|
|
|
|
# Täglich 21:00 - Dashboard Update
|
|
0 21 * * * $VAULT/scripts/update-dashboard.sh
|
|
EOF
|
|
|
|
# Crontab installieren
|
|
crontab /tmp/crontab.backup
|
|
|
|
echo "✅ Cron-Jobs installiert. Prüfe mit: crontab -l"
|
|
```
|
|
|
|
**Installation:**
|
|
```bash
|
|
chmod +x ~/Work/claude-vault/scripts/setup-cron.sh
|
|
~/Work/claude-vault/scripts/setup-cron.sh
|
|
```
|
|
|
|
---
|
|
|
|
### 4.3 Bash-Aliases
|
|
|
|
**File:** `~/.bashrc` oder `~/.zshrc` ergänzen:
|
|
|
|
```bash
|
|
# Claude-Vault Aliases
|
|
export CLAUDE_VAULT="$HOME/Work/claude-vault"
|
|
|
|
alias claude-done='$CLAUDE_VAULT/scripts/log-session.sh'
|
|
alias vault-status='$CLAUDE_VAULT/scripts/update-dashboard.sh && cat $CLAUDE_VAULT/memory/dashboard.md'
|
|
alias vault-health='$CLAUDE_VAULT/scripts/weekly-health-check.sh'
|
|
alias vault-sync='$CLAUDE_VAULT/scripts/sync-project-memory.sh'
|
|
alias vault-janitor='claude /vault-janitor'
|
|
|
|
# Quick-Access zu wichtigen Files
|
|
alias vault-patterns='code $CLAUDE_VAULT/memory/patterns.md'
|
|
alias vault-index='code $CLAUDE_VAULT/vault-index.md'
|
|
alias vault-proposals='ls -l $CLAUDE_VAULT/skills/proposals/'
|
|
```
|
|
|
|
**Nach Installation:**
|
|
```bash
|
|
source ~/.bashrc # oder ~/.zshrc
|
|
```
|
|
|
|
---
|
|
|
|
## 📋 Implementierungsplan
|
|
|
|
### Woche 1: Memory-Logging
|
|
- [x] Erstelle `scripts/log-session.sh`
|
|
- [x] Erstelle `scripts/analyze-skill-usage.sh`
|
|
- [x] Erweitere `/vault-janitor` mit neuen Modi
|
|
- [ ] Teste Session-Logging mit 3 Sessions
|
|
- [ ] Erstelle ersten Weekly Health Check
|
|
|
|
### Woche 2: Git-Integration
|
|
- [ ] Implementiere Pre-Commit Hook (YAML-Validierung)
|
|
- [ ] Implementiere Post-Commit Hook (Session-Tracking)
|
|
- [ ] Erstelle `scripts/detect-skill-proposals.sh`
|
|
- [ ] Teste Git-Hooks mit 5 Commits
|
|
|
|
### Woche 3: Dashboard & Monitoring
|
|
- [ ] Erstelle `memory/dashboard.md` Template
|
|
- [ ] Implementiere `scripts/update-dashboard.sh`
|
|
- [ ] Implementiere `scripts/weekly-health-check.sh`
|
|
- [ ] Teste Dashboard-Updates
|
|
|
|
### Woche 4: Workflow-Optimierung
|
|
- [ ] Installiere Cron-Jobs via `setup-cron.sh`
|
|
- [ ] Füge Bash-Aliases hinzu
|
|
- [ ] Dokumentiere neuen Workflow in `CLAUDE.md`
|
|
- [ ] Führe ersten monatlichen `/vault-janitor distill` aus
|
|
|
|
---
|
|
|
|
## ✅ Quick Wins (Sofort umsetzbar)
|
|
|
|
### Heute noch:
|
|
|
|
1. **Session-Logger einrichten (5 Min)**
|
|
```bash
|
|
# Script erstellen und Alias hinzufügen
|
|
echo "alias claude-done='~/Work/claude-vault/scripts/log-session.sh'" >> ~/.zshrc
|
|
source ~/.zshrc
|
|
```
|
|
|
|
2. **Ersten Health-Check durchführen (2 Min)**
|
|
```bash
|
|
/vault-janitor index # Index aktualisieren
|
|
```
|
|
|
|
3. **Dashboard erstellen (3 Min)**
|
|
```bash
|
|
# Template in memory/dashboard.md anlegen
|
|
# Manuell erste Statistiken eintragen
|
|
```
|
|
|
|
### Diese Woche:
|
|
|
|
4. **Git-Hooks installieren (10 Min)**
|
|
- Pre-Commit für YAML-Validierung
|
|
- Post-Commit für Session-Tracking
|
|
|
|
5. **Projekt-Memory synchronisieren (2 Min)**
|
|
```bash
|
|
~/Work/claude-vault/scripts/sync-project-memory.sh
|
|
```
|
|
|
|
6. **Erste Session loggen (1 Min)**
|
|
```bash
|
|
claude-done league-planner "API endpoint für Team-Stats erstellt"
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 Erfolgsmetriken
|
|
|
|
### Monat 1 (Nach Implementierung)
|
|
|
|
**Ziele:**
|
|
- ✅ Min. 10 Session-Logs in `memory/log/`
|
|
- ✅ Min. 3 Patterns in `patterns.md` extrahiert
|
|
- ✅ 1 Skill-Proposal erkannt und umgesetzt
|
|
- ✅ Dashboard zeigt aktuelle Statistiken
|
|
- ✅ Alle Projekte haben aktuelles MEMORY.md
|
|
|
|
**Tracking:**
|
|
- Weekly Health Check zeigt Fortschritt
|
|
- Dashboard wird automatisch aktualisiert
|
|
- Skill-Usage-Matrix zeigt Nutzungsmuster
|
|
|
|
### Monat 3 (Langfristig)
|
|
|
|
**Ziele:**
|
|
- ✅ 30+ Session-Logs (durchschnittlich 2-3 pro Woche)
|
|
- ✅ 10+ extrahierte Patterns
|
|
- ✅ 3+ neue Skills aus Proposals umgesetzt
|
|
- ✅ 5+ Anti-Patterns dokumentiert
|
|
- ✅ Cross-Projekt-Learning nachweisbar (Pattern aus Projekt A in Projekt B angewandt)
|
|
|
|
---
|
|
|
|
## 🎓 Verhaltensänderungen (für dich)
|
|
|
|
### Neue Gewohnheiten etablieren:
|
|
|
|
1. **Nach jeder Claude-Session (30 Sekunden)**
|
|
```bash
|
|
claude-done <projekt> "<was getan>"
|
|
```
|
|
|
|
2. **Montags (5 Minuten)**
|
|
- Dashboard prüfen: `vault-status`
|
|
- Health-Check reviewen
|
|
- Skill-Proposals durchsehen: `vault-proposals`
|
|
|
|
3. **Monatlich (15 Minuten)**
|
|
- `/vault-janitor distill` ausführen
|
|
- patterns.md reviewen und ergänzen
|
|
- Anti-Patterns aus Fehlern dokumentieren
|
|
|
|
### Mindset-Shift:
|
|
|
|
**Vorher:**
|
|
- Claude macht Arbeit → Ergebnis vergessen
|
|
|
|
**Nachher:**
|
|
- Claude macht Arbeit → Session geloggt → Patterns extrahiert → Nächste Session profitiert
|
|
|
|
**Beispiel:**
|
|
- Session 1: Problem mit N+1 Queries → Claude löst → `claude-done "N+1 Fix in Team-API"`
|
|
- Wöchentlich: `/vault-janitor distill` erkennt Pattern → `patterns.md` ergänzt
|
|
- Session 20: Ähnliches Problem → Claude liest `patterns.md` im System-Prompt → Sofort richtige Lösung
|
|
|
|
---
|
|
|
|
## 🔄 Feedback-Loop (Kontinuierliche Verbesserung)
|
|
|
|
```
|
|
Session-Logging → Memory-Distillation → Pattern-Extraction → System-Prompt-Enrichment
|
|
↑ ↓
|
|
└──────────────────────── Bessere Claude-Antworten ←───────────────────────┘
|
|
```
|
|
|
|
### Monatlicher Review-Zyklus:
|
|
|
|
1. **Dashboard prüfen:** Welche Skills werden am meisten genutzt?
|
|
2. **Patterns reviewen:** Welche Patterns wurden extrahiert?
|
|
3. **Skill-Proposals:** Welche wiederholten Aufgaben können automatisiert werden?
|
|
4. **Anti-Patterns:** Welche Fehler wurden mehrfach gemacht?
|
|
5. **CLAUDE.md updaten:** Neue Patterns/Anti-Patterns in System-Prompt aufnehmen
|
|
|
|
---
|
|
|
|
## 💡 Fazit
|
|
|
|
**Aktuelles Problem:**
|
|
Du hast ein exzellentes System (9/10), aber **90% des Wissens aus Sessions geht verloren**, weil Memory-Logging nicht automatisiert ist.
|
|
|
|
**Lösung:**
|
|
Automatisierte Workflows + Verhaltensänderungen (30 Sek. pro Session investieren) → **10x mehr Learning** aus gleicher Arbeit.
|
|
|
|
**ROI:**
|
|
- **Aufwand:** 1 Woche Implementierung + 30 Sek. pro Session
|
|
- **Nutzen:** Permanente Verbesserung der Claude-Antworten durch kontinuierliches Learning
|
|
|
|
**Nächster Schritt:**
|
|
Starte mit Quick Wins (Session-Logger + Dashboard) und baue darauf auf.
|