The Claude Code Knowledge System I Actually Use Every Day
Most people set up Claude Code and leave it at its defaults. A .claude/ folder, maybe a CLAUDE.md with some notes. It works fine - until you realize every new conversation starts from zero.
I spent the last few months building something different. Not a plugin or a framework - just a simple architecture that makes Claude Code remember who I am, what I'm building, and how I like to work. Every single conversation.
The triangle
Three tools. One system.
Obsidian is where I think. A local vault at ~/Documents/knowledge-base/ with folders for projects, skills, tone guides, career context, books I've distilled into reference chapters. It's my second brain - except this one actually gets read.
GitHub syncs that vault. Version history, backup, collaboration-ready if I ever need it. The vault is just a git repo.
Claude Code reads from the vault directly. My CLAUDE.md points to the knowledge base as the single source of truth. When I start a conversation, Claude knows my projects, my tone of voice, my credentials, my PM workflow, my preference for "ship" over "launch." It's not magic - it's file paths.
Memory as an index, not a store
Here's the architectural decision that changed everything: Claude Code's memory system (~/.claude/projects/.../memory/) doesn't store content. It stores pointers.
My MEMORY.md is under 50 lines. It says things like "Revgineer overview - see projects/revgineer/overview.md" and "Tone guide - see me/tone-of-voice.md." The actual knowledge lives in the Obsidian vault, where I can browse it, edit it, and keep it current.
Why does this matter? Because content duplicated in two places goes stale in one of them. Always. The vault is the source. Memory is the routing layer.
What this actually looks like in practice
When I open Claude Code on any project, it already knows:
- I'm a Head of Product who builds side projects at night
- I have 8 active projects across Next.js, Supabase, and Cloudflare Workers
- I write in a specific voice - warm but direct, self-deprecating but confident, "builder" not "creator"
- My PM board is on Trello, QA runs on Sonnet, implementation on Opus
- I don't want custom fonts. I don't want trailing summaries. I don't want "excited to share" energy in anything it writes for me
This isn't a prompt. It's accumulated context from months of real work, organized so Claude can access exactly what it needs.
Skills as reusable workflows
The vault also holds skills - structured prompts that Claude Code can invoke with a slash command. /resume tailors my CV. /moonshot-spec generates Jira-ready task breakdowns for my team. /aso optimizes app store listings.
Each skill has a SKILL.md that defines triggers, modes, and instructions. They're version-controlled in the vault, so they evolve as I learn what works.
Trestle - shipping this to others
I built Trestle to help other people set up something similar. It's an open-source onboarding tool for Claude Code - you run one command, type /onboard, and Claude interviews you to scaffold your own knowledge base, memory system, and workspace.
But Trestle gives you the foundation. This post is about what happens after - when you actually live in the system for months, refine it, and let it compound.
The compounding effect
Every conversation makes the system better. A correction becomes a feedback rule. A new project gets an overview file. A skill that worked gets its learnings updated. The vault grows - but it grows with structure, not noise.
Six months in, the difference between "Claude Code with defaults" and "Claude Code with a knowledge system" is the difference between a fresh hire and a teammate who's been in the trenches with you.
Try it yourself
If you're using Claude Code seriously, here's the minimum viable version:
- Create an Obsidian vault (or any markdown folder) for your knowledge base
- Sync it to GitHub
- Point your CLAUDE.md to it
- Keep memory files as indexes, not content stores
- Start small - a profile, a project overview, a tone guide. It compounds from there
Or just run Trestle and let Claude help you set it up.
I'm still iterating on this. If you've built something similar - or something completely different - I'd genuinely like to hear about it.
