Skip to content
Ende Sun
Back to blog

Developer workflow

How I organize my technical knowledge: an Obsidian second brain operated with Claude Code

5 min read

How I organize my technical knowledge: an Obsidian second brain operated with Claude Code

Between work, a master's degree and side projects, I take a lot of notes: tickets I have solved, class notes, commands I will need again, prompts that worked. For a long time those notes were scattered and, in practice, write-only. What changed that was not a new app but a small set of rules, and an AI agent that applies them for me.

This is how the system works today.

The one principle: capture first, process later

The whole vault rests on separating capturing from processing. When I am in the middle of something, I do not decide where a note belongs. Deciding at capture time is exactly what kills the habit. Everything new lands in an inbox folder, unfiltered, and gets sorted later in a dedicated session.

The folder structure

The vault mixes two well-known ideas: PARA (projects, areas, resources, archive) for the big buckets, and Zettelkasten-style atomic notes for knowledge. Numbered folders keep the order stable:

Folder What goes in Entry rule
000 Inbox Everything new Raw capture, no filtering
100 Atomic External concepts One idea per note, short title
200 Insights My own conclusions Title is a statement, prefixed with =
300 MOCs Topic indexes Created once a topic has 5+ notes
400 Procedures SOPs and prompts Reproducible steps
500 Projects Work with an end date Client and personal projects
600 Areas Ongoing areas Studies, work, personal
700 Resources Reference material Books, flashcard decks, diagrams
900 Archive Finished things Closed projects and courses

The distinction between 100 and 200 matters most to me. An atomic note records what someone else said. An insight records what I concluded, and its title has to be an actual claim. If I cannot phrase it as a claim, it is not an insight yet.

Daily: ten minutes

  • A daily note from a template, with the one key task of the day.
  • During the day, every loose idea, link or snippet goes straight to the inbox, without thinking.
  • In class or at work, raw notes go directly into the project or area folder. I do not try to write atomic notes live.

Weekly: the ritual that makes it work

Once a week, about thirty minutes, I work through a maintenance dashboard until its lists are empty:

  1. Empty the inbox. For each note: external concept → 100; my own conclusion → 200; procedure → 400; project material → 500; reference → 700. Anything worthless gets deleted.
  2. The two-link rule. No note leaves the inbox without at least two links: one to its topic index (MOC) and one to a related note. A note that links to nothing is worth nothing.
  3. Frontmatter. Every note carries type, area, created and status. Status moves from seed (just created) to growing (reviewed and linked) to evergreen (consolidated).
  4. Old seeds. A seed older than thirty days is either worked on or deleted.

Once a month I archive finished projects and create an index for any topic that has accumulated five or more notes without one.

Where Claude Code comes in

The vault has a CLAUDE.md file at its root describing the structure, the folder rules and the frontmatter conventions. Any Claude Code session opened in that folder already knows how the vault works, so I never have to explain it again.

On top of that, I defined a few custom commands for the recurring work:

Command What it does When
/procesar-inbox Classifies every inbox note, adds frontmatter and links Weekly ritual
/conectar Finds orphan notes and links them to related ones Weekly ritual
/destilar <notes> Turns raw class notes into atomic notes and insights After each class

Each command is just a Markdown file with explicit instructions. For example, the inbox command tells the agent to search for an existing related note before adding a link, to create an index only when a topic reaches five notes, and to propose deletions instead of deleting. The distill command reads my class notes, which use a small syntax (Concept :: definition, => insight, - [?] open question), creates or extends atomic notes, checks for duplicates first, and lists my open questions at the end so I can resolve them myself.

Rules for working with the agent

The part I consider most important is not technical:

  1. I capture, the AI structures. The agent classifies, links and formats. It does not write my insights. Those I write myself, because the act of writing them is where the learning happens.
  2. Always start the session at the vault root, so the instructions file is loaded.
  3. Review diffs. The vault is versioned with the Obsidian Git plugin; if the agent makes a large change, I check git diff before accepting it.
  4. Deletions need confirmation. It is written into every command.

Using the knowledge

A system like this only pays off if I actually go back to it. A few habits make that happen:

  • Before a task I have done before, I open the procedures index and reuse the SOP instead of reinventing it.
  • Before studying a topic, I open its index to see what I already know and where the gaps are.
  • After a book or course, I write three to five insights. If I cannot write a single one, I did not really learn anything.
  • I can also ask the agent to answer from my own notes: "what do I have about X?", or "compare how I implemented this content provider in my Android notes with the new exercise".

The plugins that actually matter

I had far more plugins installed than I used. The ones that do real work are: Templater (automatic frontmatter on new notes), Note Refactor (extract a selected concept into a new atomic note with a back-link), Omnisearch (check whether a note already exists before creating it), Dataview (powers the maintenance dashboard and the auto-generated sections of the indexes), Spaced Repetition (review cards written as Question::Answer inside normal notes) and Obsidian Git (automatic backup). My rule now is simple: a plugin I have not used in a month gets uninstalled.

What I would tell someone starting

Do not start with the tool. Start with two decisions: where raw captures go, and when you will process them. Everything else, including the AI agent, is there to make that weekly session cheaper. The agent is good at the mechanical parts: classifying, linking, formatting. The thinking stays with you, and that is on purpose.