Hippocampus Knowledge Base
Core Rule
ALL markdown → hippocampus. No exceptions.
- Never create .md files in project directories
- Never create .md files in /tmp or elsewhere
- Everything goes to
~/.claude/hippocampus/ (global or project tier)
Authority Model
- AI autonomy: Search and present options (no approval needed)
- User authority: Tier selection, phantom node choice, edit vs create
- Pattern: AI finds, user classifies
Determine Intent
- Finding resource? → Discovery path
- Creating/editing markdown? → Create/Edit path
- Adding binary files? (auto-detect: .png, .jpg, .pdf, .opus, .mp3, .mp4, etc.) → Binary Asset path
Discovery Path
Step 1: Search Hippocampus
- Use Task tool with
subagent_type=Explore to search hippocampus
- Path:
~/.claude/hippocampus/
- Search query based on user's request
Step 2: Present Paths for Selection
- Show found file paths via AskUserQuestion with
multiSelect: true
- User selects which files to read
- Only read selected files (saves context window)
Step 3: Return Content
- Read only the user-selected files
- Return relevant content to user
Create/Edit Path
Step 1: Search First
- Use Task tool with
subagent_type=Explore to search hippocampus
- Path:
~/.claude/hippocampus/
- Check if similar content already exists
- If found: Present paths via AskUserQuestion → user picks to edit or create new
- If not found: Continue to Step 2
Step 2: Tier Selection
AskUserQuestion with options:
- Global (
~/.claude/hippocampus/global/): Cross-project content (ADRs, patterns, business ops)
- Phantom nodes: Topic-based (e.g.,
[[docker-deployment]], [[prompt-engineering]])
- Project (
~/.claude/hippocampus/project/{name}/): Client-specific content
- Phantom nodes: Client-based (e.g.,
[[client-archibus]], [[client-iitr]])
Step 3: Phantom Node Selection
- Use Explore agent to search for existing phantom nodes in hippocampus
- Present found options to user via AskUserQuestion
- User picks existing or creates new
[[phantom-node]]
- Convention: Use tier-appropriate phantom node type (topic-based for global, client-based for project)
Step 4: Publishing Decision
AskUserQuestion:
- Publish to GitHub Pages?
- Options: Yes / No
- If Yes: Add
publish: true to frontmatter
- Result: File will be mirrored to public-wilsch-ai-pages repo on push
- Return link:
https://mariuswilsch.github.io/public-wilsch-ai-pages/{tier}/{filename} (without .md extension)
Step 5: Create File
- Path:
~/.claude/hippocampus/{tier}/filename.md
- Include selected phantom node wikilink on Line 2-3, after
# Title
- Use descriptive filename (no prefixes needed)
Step 6: Git Commit
- Commit changes with descriptive message
- Git tracks all document evolution
Binary Asset Path
For non-markdown files (images, PDFs, audio, video, etc.)
Step 1: Tier + Folder Selection
- Same as Create/Edit path: Global or Project tier
- Files go to:
~/.claude/hippocampus/{tier}/{folder}/
Step 2: Move Binary Files
- Move files to selected hippocampus folder
- Keep original filenames (or rename if requested)
Step 3: Create Minimal Index
Create index.md with: title, phantom node, then one line per file:
# {Descriptive Title}
[[phantom-node]]

[Document description](document.pdf)
[Audio description](audio.opus)
Format by file type:
- Images:

- Documents:
[Description](file.pdf)
- Audio/Video:
[Description](file.opus)
One index per folder. Add lines as files are added.
Step 4: Git Commit
- Commit binary files + index.md together
- Message: "feat: add {description} to hippocampus"
1---2name: hippocampus3description: Hippocampus Knowledge Base4---56# Hippocampus Knowledge Base78## Core Rule910**ALL markdown → hippocampus. No exceptions.**1112- Never create .md files in project directories13- Never create .md files in /tmp or elsewhere14- Everything goes to `~/.claude/hippocampus/` (global or project tier)1516## Authority Model1718- **AI autonomy:** Search and present options (no approval needed)19- **User authority:** Tier selection, phantom node choice, edit vs create20- **Pattern:** AI finds, user classifies2122## Determine Intent2324- **Finding resource?** → Discovery path25- **Creating/editing markdown?** → Create/Edit path26- **Adding binary files?** (auto-detect: .png, .jpg, .pdf, .opus, .mp3, .mp4, etc.) → Binary Asset path2728---2930## Discovery Path3132### Step 1: Search Hippocampus33- Use Task tool with `subagent_type=Explore` to search hippocampus34- Path: `~/.claude/hippocampus/`35- Search query based on user's request3637### Step 2: Present Paths for Selection38- Show found file paths via AskUserQuestion with `multiSelect: true`39- User selects which files to read40- Only read selected files (saves context window)4142### Step 3: Return Content43- Read only the user-selected files44- Return relevant content to user4546---4748## Create/Edit Path4950### Step 1: Search First51- Use Task tool with `subagent_type=Explore` to search hippocampus52- Path: `~/.claude/hippocampus/`53- Check if similar content already exists54- **If found:** Present paths via AskUserQuestion → user picks to edit or create new55- **If not found:** Continue to Step 25657### Step 2: Tier Selection58AskUserQuestion with options:59- **Global** (`~/.claude/hippocampus/global/`): Cross-project content (ADRs, patterns, business ops)60 - Phantom nodes: Topic-based (e.g., `[[docker-deployment]]`, `[[prompt-engineering]]`)61- **Project** (`~/.claude/hippocampus/project/{name}/`): Client-specific content62 - Phantom nodes: Client-based (e.g., `[[client-archibus]]`, `[[client-iitr]]`)6364### Step 3: Phantom Node Selection65- Use Explore agent to search for existing phantom nodes in hippocampus66- Present found options to user via AskUserQuestion67- User picks existing or creates new `[[phantom-node]]`68- Convention: Use tier-appropriate phantom node type (topic-based for global, client-based for project)6970### Step 4: Publishing Decision71AskUserQuestion:72- **Publish to GitHub Pages?**73- Options: Yes / No74- If Yes: Add `publish: true` to frontmatter75- Result: File will be mirrored to public-wilsch-ai-pages repo on push76- **Return link:** `https://mariuswilsch.github.io/public-wilsch-ai-pages/{tier}/{filename}` (without .md extension)7778### Step 5: Create File79- Path: `~/.claude/hippocampus/{tier}/filename.md`80- Include selected phantom node wikilink on Line 2-3, after `# Title`81- Use descriptive filename (no prefixes needed)8283### Step 6: Git Commit84- Commit changes with descriptive message85- Git tracks all document evolution8687---8889## Binary Asset Path9091For non-markdown files (images, PDFs, audio, video, etc.)9293### Step 1: Tier + Folder Selection94- Same as Create/Edit path: Global or Project tier95- Files go to: `~/.claude/hippocampus/{tier}/{folder}/`9697### Step 2: Move Binary Files98- Move files to selected hippocampus folder99- Keep original filenames (or rename if requested)100101### Step 3: Create Minimal Index102Create `index.md` with: title, phantom node, then one line per file:103104```markdown105# {Descriptive Title}106[[phantom-node]]107108[Document description](document.pdf)109[Audio description](audio.opus)110```111112**Format by file type:**113- Images: ``114- Documents: `[Description](file.pdf)`115- Audio/Video: `[Description](file.opus)`116117One index per folder. Add lines as files are added.118119### Step 4: Git Commit120- Commit binary files + index.md together121- Message: "feat: add {description} to hippocampus"