Walkthrough — Tooling
Memory Sync
How Claude remembers you
Claude writes memory files locally during sessions. A Stop hook auto-commits them to GitHub so a fresh session — on any machine or account — starts with full context.
The Problem
Session 1 WLC v0.11 shipped Sessions 2–N More features ship… New session Memory says v0.11 😬 Memory was never updated → stale context
The Solution: Auto-Sync on Stop
Claude Session Memory updated during work Stop Hook fires sync-memory- to-repo.sh GitHub gilesparnell/Claude memory/ updated ✓ Next session: full context ✓
What Gets Synced
LOCAL (~/.claude/) ~/.claude/CLAUDE.md Global rules (timezone, TDD, routing…) ~/.claude/projects/-Users-…-VSStudio/memory/ Global workspace memory (18 files) ~/.claude/projects/*/memory/ Per-project memory (WLC, SprintTracker…) REPO (github.com/gilesparnell/Claude) global/CLAUDE.md Always current memory/*.md feedback, user profile, references memory/projects/*/ project state, version, what's next ~/.claude/skills/*/ All 17 skills (tdd-first, ship, security-review…) skills/*/ + learned/ full content, always current NOT synced (intentional) history.jsonl too large / private sessions/ runtime state settings.json manual sync only
The Stop Hook Chain
1. Kill vitest pkill -f vitest instant 2. Beep osascript beep instant 3. Session log session-end.js 15s timeout 4. Memory sync ← NEW sync-memory-to-repo.sh 30s timeout · git push
The Script (abridged)
# sync-memory-to-repo.sh — memory + skills + CLAUDE.md
REPO="~/Documents/VSStudio/parnell-systems/claude-artefacts"

# 1. Sync CLAUDE.md
cp ~/.claude/CLAUDE.md $REPO/global/CLAUDE.md

# 2. Sync global workspace memory
cp ~/.claude/projects/…VSStudio/memory/*.md $REPO/memory/

# 3. Sync all project memories
for mem_dir in ~/.claude/projects/*/memory; do
  cp "$mem_dir"/*.md $REPO/memory/projects/$(basename …)/
done

# 4. Only commit if something changed
git add memory/ global/CLAUDE.md
if git diff --staged --quiet; then exit 0; fi
git commit -m "chore(auto-sync): session end $(date)"
git push origin main
Starting Fresh on a New Machine / Account
git clone gilesparnell/Claude bash install.sh wires everything Full context restored CLAUDE.md · Skills · Identity · Memory · Hooks + re-auth plugins (Telegram, Compound Engineering)