Clawd
PAIR w/ CLAUDE

I built a career coach out of markdown files

Michael Angeles
Michael Angeles

Product designer ·

Awareness of blindspots and shortcomings is good. Having a system that actively compensates for it is what actually keeps me accountable.

I’m an ADHD person. I’ve been thinking about the concept of “temporal discounting” because it’s something I’ve been living with my whole life. The term refers to the psychological tendency for the brain to struggle to feel the future as real. A small, immediate reward often wins over a larger, long-term priority because the future just doesn’t feel concrete. Some smaller task feels more real, so I do that instead.

Personal knowledge management has been an interest of mine for a long time. I published an article about using blogs for KM when I was at Bell Labs and gave a talk on the topic at Los Alamos. I’ve tried a lot of systems since then including Wikis, Notion, Obsidian, Apple Notes, and a few task managers. All were useful for different purposes. They could also be easily ignored. They were good for storing things, but what I need is a coach.

A few months ago, a friend started sharing ideas about practical AI in PM work. I had also came across Andrej Karpathy’s LLM wiki concept of using a set of markdown files maintained by an AI as a live knowledge base, with no proprietary formats or app. Plain files and an agent that reads, writes, and keeps them current.

So I used Claude Code to build my own second brain, customized to my particular needs. It tells me exactly what I need to keep track of and prioritize. It maintains perfect memory of my tasks, my blind spots, and the areas I’m working to improve. I asked it to be brutally honest, and it essentially serves as a straight-shooting, objective career coach.

The idea behind it

I have folders for people I work with, companies I’m engaged with, raw notes and transcripts, and a living self-profile that gets updated after significant sessions. The profile holds who I am, what I’m optimizing for, and my active growth edges, the patterns I’m working on. Every command that runs reads that profile first. That’s what makes the coaching feel personal rather than generic. 2nd Brain Summary

What it actually does

The system runs on Claude Code slash commands. The main ones are /focus, /meeting, /prep, /journal, and /tasks.

/focus generates a daily brief and writes it to a local HTML file I’ve set as my browser homepage. Every morning it’s just there. The brief has five sections: top three priorities, the thing I’m avoiding, open threads by person, hard deadlines, and a reflection prompt. The top three always lead with a job search action, not “job search” as a category but the specific thing I haven’t done: sending the emails, following up with the recruiter. The system knows what I’ve committed to because it reads my notes, and it names the gap.

/meeting takes a raw transcript or Granola note and processes it into a clean dated meeting file, updates the relevant people notes and company notes, and checks whether my profile should change based on what happened. This bidirectional update matters: a meeting reveals something about a coworker, but also something about how I showed up.

/prep reads a person’s note, the company context, and my recent meetings before any call. It produces a brief in chat: who they are, how they communicate, what I owe them, what they owe me, and what I should raise.

/journal creates a daily entry in a journal/ folder. The entries are free-form, but two conventions matter: lines starting with are flagged reflections that get surfaced in the next day’s brief, and lines starting with !! are urgent flags that get folded into “The Thing You’re Avoiding” without softening.

The thing you’re avoiding

The !! flag is the part that blows my mind. Those flags surface the next morning and stay visible until I deal with them. They’re not softened, not reframed as gentle reminders. They show up exactly as I wrote them, which means I wrote them at the moment I knew I was avoiding something, and the system holds that against me the next day. Most productivity tools remind you of tasks. This one reads what you wrote about yourself and calls you out by name.

I’ve been thinking about ADHD and this idea of temporal discounting, and have been looking for ways to keep me accountable about the things I’m avoiding. In my journal the !! flag I added: Stay on top of your listening tour discussions. That flag showed up in my daily brief the next morning under “The Thing You’re Avoiding,” right next to the Listening Tour emails that still hadn’t been sent.

The reason this one can do that is persistence. Claude has the context. It read yesterday’s journal, the meeting from two weeks ago where I made a commitment, the profile note about my tendency to go deep on the wrong thing when the important thing feels hard. It holds all of it, so when I’m not doing something I said I would, it notices.

Building it as a pairing practice

Like many projects, I evolved this system organically from a core need and built this over iterations with Claude on each piece as I needed it. The /focus command came first. I described what I wanted the brief to look like and we iterated on the prompt until it felt right. The journaling system came later, when I realized I wanted somewhere to put reflections that would actually get read back to me.

Claude showed up for me when I needed in each build session. When I said “the brief should tell me what I’m avoiding,” Claude asked what source material it should draw on. That question changed how I thought about the profile file. When I said “I want journaling that coaches me,” Claude suggested the and !! flag conventions as a lightweight way to signal intent without requiring structure.

The system is about 11 files as of this initial release: a CLAUDE.md with operating instructions, a set of slash commands in .claude/commands/, and the vault folders that hold the actual content. The journal, people notes, company notes, and HTML output files are all gitignored. What’s public is the scaffolding, the instructions and commands that anyone can fork and fill in with their own life.

The template is at github.com/jibbajabba/brain. If you use it, the first thing to do is write your own me/profile.md. That file is what makes the coaching yours.