KennisBank sessie-automatisering: Stop-hook en gecombineerde sessielog/wiki

Definitie

Systeem waarbij CC-sessies automatisch als markdown worden geëxporteerd naar ~/KennisBank/01-raw/import-cc/, en waarbij het schrijven van een sessie-log en het verwerken van wiki-kandidaten in één commando plaatsvindt.

Context

Vóór april 2026 werden 01-raw/import-cc/ en import-cowork/ handmatig gevuld. De 01-raw/sessies/ map werd gevuld door handmatig /sessielog te draaien, gevolgd door handmatig /wiki. Dit leidde tot gaten (sessies die niet gelogd werden) en dubbel werk (twee commando’s draaien voor één taak).

Opgelost in sessie raw-sessie-2026-04-16-repos-websites-brainstorm-en-tools-setup.

Kernpunten

Stop-hook: automatisch transcript exporteren

Bij elke CC-sessieafsluiting draait de Stop-hook in ~/.claude/settings.json:

python3 /Users/jvdbreemen/Claude/scripts/vault-export-session.py \
  "$TRANSCRIPT" "$(date +%Y-%m-%d)-$(basename $TRANSCRIPT .jsonl | cut -c1-8)"

Dit schrijft een leesbare markdown naar ~/KennisBank/01-raw/import-cc/raw-cc-YYYY-MM-DD-{session-id}.md met YAML-frontmatter, eerste gebruikersbericht, en het volledige gesprek (berichten boven 2000 tekens ingekort).

Het script staat op: ~/Claude/scripts/vault-export-session.py

Gecombineerde sessielog

/sessielog doet nu twee stappen zonder handmatige tussenkomst:

  1. Schrijft sessie-log naar ~/KennisBank/01-raw/sessies/raw-sessie-YYYY-MM-DD-{slug}.md
  2. Verwerkt direct de wiki-kandidaten uit die log: bestaande artikelen updaten of nieuwe schrijven

De zelfstandige /wiki blijft beschikbaar voor handmatige compilatie over meerdere sessies.

Beperking: cowork-sessies

Sessies van claude.ai web (cowork) zijn niet automatisch toegankelijk vanuit CC. Transcripts staan server-side. Handmatige export nodig via de claude.ai-interface of handmatig naschrijven.

Backfill van historische sessies

CC-transcripts zijn bewaard als JSONL in:

~/.claude/projects/-Users-jvdbreemen/{session-id}.jsonl

Sessielog-IDs zijn terug te vinden via ~/.claude/history.jsonl (sessionId + timestamp + eerste bericht). Backfill-aanpak: agent leest JSONL, schrijft sessie-log via template, controleert eerst op bestaande logs.

SessionStart-hook: context-injectie bij sessie-opening

Toegevoegd mei 2026. Naast de Stop-hook (transcript exporteren) is er nu ook een SessionStart-hook die bij elke sessie automatisch context injecteert.

Locatie: ~/KennisBank/.claude/hooks/session-start.sh, geconfigureerd in ~/KennisBank/.claude/settings.json.

De hook is vault-scoped: vuurt alleen als CC wordt geopend vanuit ~/KennisBank/. Dit voorkomt ruis in andere projectsessies.

Wat er geïnjecteerd wordt (als systemMessage JSON, ~1700 tokens na uitbreiding):

  • Volledige 06-claude/afspraken.md (skip YAML frontmatter)
  • Top 3 projectbriefs gesorteerd op mtime (meest recent aangeraakt eerst), gefilterd op status: actief
  • Laatste 2 sessielogs: alleen de ## Samenvatting sectie, max 400 tekens per log
  • Kennisgraaf-sectie: god nodes (top-8 meest verbonden concepten) en top-10 community-labels uit graphify-out/GRAPH_REPORT.md (alleen als dat bestand bestaat)
  • Toolreferentie: vault_search, vault_get, vault_context, link naar graph.html

Technische keuzes:

  • Python3 voor mtime-sort (os.path.getmtime + glob) — stat -f "%m %N" via find -exec {} \; is niet betrouwbaar op macOS
  • Python3 voor JSON-encoding van de output (handles quotes en newlines)
  • Token-budget: ~1700 tokens, max 3000

Activeren: open CC vanuit ~/KennisBank/. In lopende sessie: /hooks typen om config te herladen.

OpenWolf-integratie: sessie-tracking en do-not-repeat

Toegevoegd mei 2026. OpenWolf draait globaal via ~/.claude/settings.json. Twee hooks:

SessionStart (session-start.js): bijhoudt sessiebestand, schrijft header naar memory.md, stelt freshness hints in. Injecteert cerebrum NIET als context — alleen state-tracking.

PreToolUse Write|Edit|MultiEdit (pre-write.js): scant cerebrum.md’s ## Do-Not-Repeat-sectie op backtick-patronen. Als een bestandsnaam of commando matcht met wat er in het do-not-repeat-blok staat, geeft het een waarschuwing voor het schrijven plaatsvindt.

cerebrum.md staat op ~/Claude/.wolf/cerebrum.md. Wordt gevuld via /sessielog stap 5. Bevat: Key Learnings, Do-Not-Repeat patronen, Decision Log.

Overlap-check: OpenWolf SessionStart doet state-tracking; KennisBank SessionStart doet context-injectie. Geen functionele overlap. Cozempic (andere hooks) raakt andere events.

Verbanden

Sessie-herkomst