Enhance Your Workflow With Obsidian
In a previous post, I discussed using documentation to aid in developing better agentic workflows. It's alarmingly simple and costs nothing extra—you don't need to buy a full-on SaaS product!
That said, I do really enjoy using Obsidian these days, especially with Claude Code. Obsidian is powerful when used as a graph, and because I'm used to fuzzy finding everything, Obsidian has excellent support for it. It has desktop and mobile apps to access your documents from anywhere.
I've known of Obsidian for a while, and it was always the note-taking app that I settled on. I think Notion became too generic, and as a business that was actively expanding, the service felt degraded overall. I've tried Dynalist and a few others, but they never really stuck. Yet somehow I always came back to Obsidian.
Prerequisites
Before diving in, here's what you'll need:
- Obsidian - Free note-taking app with graph-based linking
- Claude Code - Anthropic's CLI tool for agentic coding
- Neovim (optional) - If you want the terminal-based workflow
- obsidian.nvim (optional) - Neovim plugin for Obsidian integration
- tmux (optional) - Terminal multiplexer for session management
The Neovim + Obsidian Workflow
One of the things that makes this setup really shine is obsidian.nvim. It's actually how I write all of my blog posts. This plugin brings the full power of Obsidian into your terminal workflow:
- Hotkeys for quick linking: Instantly create
[[wiki-style links]]between notes without leaving your editor - Template support: Create new notes from predefined templates with a single keystroke
- Tag management: Add and navigate tags directly from Neovim
- Article navigation: Jump between linked articles using fuzzy finding
- Quick note creation: Spin up a new Obsidian note from anywhere in Neovim without context switching
If you're already comfortable in Neovim, obsidian.nvim removes all the friction of switching between your editor and the Obsidian app.
Enter Claude Code
Before I integrated Claude Code into my workflow, I had friction with the tedious parts of note-taking: setting up links, tags, dates, and metadata. It's the kind of boring stuff that adds a lot of value to an article but requires extra work.
This is exactly what Claude Code excels at. After I've written a document, Claude Code can:
- Read the content and suggest relevant tags based on the topics covered
- Add appropriate metadata like dates, categories, and related articles
- Create links between articles by finding connections I might have missed
- Generate frontmatter with consistent formatting
It's honestly absurd how much this has enabled my new documentation-centric workflow. And I don't need to build or buy anything beyond my Claude Code subscription.
Using Claude Code as a Second Brain
The setup I'm really enjoying is using Claude Code + Obsidian as my second brain. I use a system prompt to give it all the instructions that suit me, and it has access to my documentation, brain dumps, and even todo lists. It now operates as an assistant that knows me well.
I'm a bit on the ADHD side, so I put emphasis on what I want to achieve this year and some of my shortcomings (often having way too many ideas). Now, when I'm brain dumping, it records the thoughts, but instead of prompting me to start building a new SaaS product, it tells me that I'm procrastinating and have other things I really should be doing. It even helps me manage my time blocking. If there's something I would build next, it would be calendar integration.
Making It Work for You
Once I set up the system prompt (you don't have to do it from scratch—use an LLM to help), I added some high-level directions for myself. For example, I want to work on my freelance career and stop taking permanent engineering positions. I've also added directives on tech stacks and styles that I enjoy using.
Once all that is configured, I tell it to initialize a new project in my ~/code folder on my computer and generate a claude.md file to seed it with relevant context.
Tmux Sessionizer
I use tmux with ThePrimeagen's tmux-sessionizer. It's a small function I invoke with Ctrl+G that opens fzf, allowing me to type in a project name. It either opens a new tmux instance for that project or switches to an existing one. Instead of managing tmux sessions with numbers, I use project names—it's a game changer for context switching.
With this workflow, I then move into the new project and get started. Because I've seeded the project with a claude.md and a PRD to build an MVP, all I really have to do is initialize the project and kick off my agentic workflow. I start Claude Code in the project folder, so it only has access to files in the new project and doesn't get confused with my second-brain vault.
Good Engineering Still Matters
I'm finding that a key aspect of using agents effectively is simply using proper engineering principles.
Another key thing I've done is set up my personal component library. This houses all the frontend components that I like to use across my projects. This means I'm not constantly building from scratch, and when I review code, I'm not reviewing the same patterns over and over. This is actually just how proper software engineering is supposed to work, so it really shouldn't be surprising.
Time and time again, good engineering practices remain relevant. Bad vibe coders will make all the same mistakes that bad coders have always made. The tools have changed, but the fundamentals haven't.
Conclusion
The combination of Obsidian, Claude Code, and a terminal-centric workflow has transformed how I manage knowledge and build projects. The key insights:
- Let AI handle the boring parts: Metadata, tags, and linking are perfect tasks for Claude Code
- Build your second brain: Give Claude Code access to your goals and context so it can actually help you stay focused
- Use proper engineering practices: Component libraries, good documentation, and project structure matter more than ever with AI assistance
- Reduce context switching: Tools like obsidian.nvim and tmux-sessionizer keep you in flow state
If you're already using Obsidian, adding Claude Code to your workflow is a natural next step. And if you're a Neovim user, obsidian.nvim makes the experience seamless.