My Claude Code Setup
Claude Code starts every session with no memory. My setup gives it one — an Obsidian vault for everything I know, plus an extension layer that loads who it is and how I work.
This is the system behind how I design and build. The workflow is the story; this is the wiring.
Obsidian as the vault
I use Obsidian as a second brain. Plain text files in a directory, synced across every device, accessed by talking to Claude Code.
Download Obsidian and point Claude Code at the directory. If you want it across devices — phone, MacBook, PC — Obsidian Sync is cheap and just works.
I have ADHD, so it’s easier to brain dump than to organise. I throw information in and Claude organises it. It tracks my pipeline, surfaces follow-ups I’ve forgotten, holds principles extracted from books I’ve read, and keeps context on active projects and clients. When I open a session I don’t navigate anywhere. I just talk, and it finds what’s relevant.
The system gets better the more you put in. A contact file for everyone you work with. Notes after every call. Book extracts. Daily logs. Over time it builds a picture of how you work and what matters — and retrieves it when it’s relevant, not when you remember to look.
The extension system
Four things give Claude Code a personality.
Config files load automatically each session. CLAUDE.md goes in your project root: project context, constraints, how the AI should behave. It’s the briefing document that runs before every conversation.
Agents are specialist personas. A design engineer, a writing critic, a QA tester, each one a markdown file in .claude/agents/ with a name and a body that defines its behaviour. You call them when you need that expertise.
Skills are knowledge bases that load when relevant. Instead of guessing from training data, the AI has actual documentation: GSAP, Webflow, Astro, whatever your stack uses.
Slash commands are reusable workflows you trigger with /name. Audit performance, run a code review, process files. One command, consistent output.
Together they extend default Claude Code into something that knows your project. The vault is the memory; these are the behaviours.
Installing skills
Libraries are starting to publish official Claude Code skills. GSAP has a set you can install in one command:
npx skills add greensock/gsap-skills
When you ask Claude Code to build a scroll animation, it has the real docs loaded. It knows scrub: 1 gives physical weight and scrub: true doesn’t. It knows SplitText syntax. It knows to use expo.out for reveals.
Before skills, AI-generated library code was a coin flip.
Check if your stack has published skills.
Agents worth building
You don’t need many. A few are worth mentioning because they solved problems I didn’t realise I had.
Writing critic. Checks every piece of writing against specific voice rules and rates it. If it’s off, it says exactly where and why. Writing the rules forced me to articulate what my voice actually is — the agent was the byproduct, the clarity was the product.
Morning planner. Claude Code supports MCP servers, so you can connect it to Google Calendar, email, databases. My planner reads calendar and active projects, proposes priorities based on my energy level, and builds a timeboxed plan. The value isn’t the plan — it’s the forcing function to transition from scrolling to working.
Start with one agent that solves a real friction point. Add more when the pattern clicks.
Swarm research
Claude Code can spawn sub-agents. A swarm is what happens when you orchestrate many of them in parallel with a hierarchy.
The idea came from Starcraft. Three tiers of agent, each with a different job and a different cost:
- Scouts (Haiku model) are cheap and fast. You deploy five or six in parallel, each assigned a territory: one reads core API docs, another hunts performance gotchas, another checks framework-specific patterns, another looks for deprecated methods. They run simultaneously and report back in under 500 words each.
- Coordinators (Sonnet model) aggregate the scout reports. They cross-reference claims, verify the highest-risk findings by reading the files, and organise everything into a structured summary: confirmed facts, patterns, knowledge gaps, proposed actions.
- Decision-makers (Opus model) review the coordinator’s summary, poke holes in the reasoning, prioritise what matters, and approve or execute changes.
I use this for two things. First, building new skills: instead of reading documentation linearly, I swarm it. Six scouts cover six dimensions of a library in parallel, the coordinator merges their reports into a structured skill file, and what would take an afternoon takes minutes.
Second, codebase audits. Deploy scouts across directories, run automated checks for secrets, broken imports, stale TODOs, and type errors alongside them, then have a coordinator synthesise a health report.
Spawning sub-agents in parallel is built into Claude Code. I wrapped the orchestration logic into a slash command so /swarm audit the codebase or /swarm research [library] fires the whole pipeline.
Keeping it clean
Nobody tells you this: the system gets bloated fast. Every file loads as tokens, and oversized docs burn context window for no reason.
Keep skill files under 500 lines. Audit agents and slash commands regularly — if you haven’t used one in a month, archive it. Strip filler from config files. Tools like caveman compress docs ~75% while keeping technical substance.
Think of it like any other codebase. Refactor, delete dead code. Leaner system, better AI performance within the context window.
Where to start
- Set up an Obsidian vault and point Claude Code at it.
- Install a skill set that matches your stack:
npx skills add greensock/gsap-skills - Write a soul.md. The thinking behind that is in how I design and build.
- Build one agent for your biggest friction point.
See what happens.
Treat the whole system as a thinking tool, not a thinking replacement. More on why that distinction matters.
I’m packaging my full setup as something installable. Follow along if you want it when it ships.
FAQ
4Claude Code needs four things to behave as a collaborator: a CLAUDE.md config in your project root, agents in .claude/agents/, skills in .claude/skills/, and slash commands in .claude/commands/. Combine these with an Obsidian vault for persistent memory across sessions.
An Obsidian + Claude Code second brain stores plain-text notes (contacts, projects, principles, daily logs) in a directory Claude Code reads. The AI retrieves and synthesises what is relevant during conversation. Plain text means the system is portable, searchable, and durable — you own the files.
A Claude Code swarm orchestrates sub-agents in parallel across three tiers. Scouts on the Haiku model cover ground cheaply, coordinators on Sonnet merge reports, decision-makers on Opus verify and approve. The pattern is useful for documentation research and codebase audits that need breadth fast.
Claude Code loads every config file as tokens, so oversized docs burn context for nothing. Keep skill files under 500 lines, archive unused agents and commands monthly, and compress verbose docs with tools like caveman. Treat the config like any other codebase.