Your AI Chief of Staff
A Claude Code project that runs your day, your week, and your year out of plain markdown you own. Seven skills, an altitude ladder where each level reads only one level down, and no encouragement layer.
C-level executives get a Chief of Staff (CoS) to track what they decided, why they decided it, and what they let slide. The rest of us keep it in our heads, notes or some other broken system.
Three months from now you’ll want to know what you decided and why you decided it. Yeah, you can review your calendar, but the reasoning is gone unless somebody wrote it down. This project solves for that. This project writes it down. It also runs as your CoS, tracking your workload and connecting patterns across weeks that you’d miss reading one day at a time.
It’s a Claude Code project. One folder of plain markdown on your machine, no database, no web app, no SaaS bill. You speak or type your notes and the CoS sorts them. In the evening you answer a few reflection questions, and it files them the way you said them. The next morning it hands them back. Each level up reads the level below it, so your weeks come from your days, your months from your weeks, and your year from your quarters.
The repo is at github.com/derrekyoung/ai-chief-of-staff. I built it for myself and then stripped it down, so nothing in it assumes your job or your timezone.
Speak your notes instead of typing them. Capture and the daily wrap both get easier when talking is the input, and I wrote up the setup in Speaking Beats Typing.
Contents
- What it does
- The altitude ladder
- Decisions get a line at every tier
- No encouragement layer
- Files you own
- The seven skills
- Getting running
- Connect your tools
- Where to go next
What it does
- Capture: the thought you’d have lost by lunch, filed before you close the window
- Briefing: the promise you made Tuesday and forgot Thursday, in front of you Friday
- Wrap: the week that felt like nothing happened, with the evidence that something did
- Recaps: the thread that went quiet while you weren’t looking, named before it’s been quiet a month
- Patterns: the thing you’d argue with a friend about, but not with three months of your own notes
The altitude ladder
Seven skills, stacked:
capture -> writes daily/2026-07-18.md
daily-briefing -> opens tomorrow, reads the tracker and the last week
daily-wrap -> closes today, nine questions
weekly-recap -> reads the last 7 daily notes -> reviews/2026-07-19-weekly.md
monthly-recap -> reads that month's weeklies -> reviews/2026-07-monthly.md
quarterly-recap -> reads the three monthlies -> reviews/2026-Q3-quarterly.md
annual-review -> reads the four quarterlies -> reviews/2026-annual.md
Each level reads only one level down and never further. The monthly doesn’t re-crawl your daily notes. The quarterly doesn’t touch a week. When a rung is missing the skill drops exactly one step, reads what’s there instead, and names in the review which rung it substituted for.
Every pass stays cheap, because a monthly review reads four files rather than a hundred and twenty, which is the difference between a review you run and one you mean to run. Anything reaching the annual review has also survived four separate passes where you could have cut it. In December you remember whatever happened most recently, plus two or three vivid things, and four filters beat that.
Decisions get a line at every tier
Most journaling systems capture what happened and lose what you chose. Question five of the evening wrap is “did you make any decisions today, even small ones?” Small counts: what you said no to, what you stopped doing. Claude files those answers under a heading spelled ## Decisions Made. The weekly recap harvests that heading by name, and each rung above pulls it up from the one below.
At monthly and above the review sorts them four ways. Held, meaning still standing. Walked back, meaning reversed or dropped without saying so. Still open, with a note on how long it’s been sitting. And decision debt, which is the group worth the whole exercise: choices you’re making by default because you never made them on purpose.
The review flags reversals rather than smoothing them over, so a thing you decided in January and abandoned in March reads as one line with both ends of it.
No encouragement layer
Every recap ends with an honest score, and a 4 stays a 4. If three of your threads went untouched for a month you read that in plain language, with the evidence under it. There’s no “you should be proud” and no rounding up to be kind.
Your words stay yours. If you said the launch was a dumpster fire, the file says the launch was a dumpster fire. The wrap doesn’t tidy your grammar or upgrade your word choice, because the only reason next year’s review is worth reading is that it still sounds like you.
Patterns have to earn their place. A theme reaches patterns/ only after three or more signals across two or more separate days. Everything under that threshold sits in a Watching list you’re free to ignore. Claude won’t pad an empty section, so a quiet week produces a short review.
Files you own
Everything is markdown in a folder. Read it in any editor, grep it, edit it by hand, open it in Obsidian if that’s your thing. Walk away from Claude tomorrow and start using ChatGPT/Kimi/whatever, and you still have every word saved for a seamless transition.
Warning
Make this repo private before you push it anywhere. It's a record of your life and of the people around you, and git history keeps what you delete.
The seven skills
capture
Takes whatever you typed and files it in one pass. There’s no inbox and no second sort. It classifies the input as a daily entry, a meeting, a person update, a project update, a reference, or an action item, writes it verbatim, wikilinks the people and projects, and commits. It runs on its own whenever a message reads like a note rather than a question, so most days you never type a command. It resolves due dates out of phrases like “by Friday”, infers priority from your wording, and checks the tracker for a near duplicate before it appends.
daily-briefing
Two to three minutes in the morning, chat only, writes nothing. It reads the tracker first, then yesterday’s note, then the last week, and gives you yesterday in thirty seconds, what’s slipping, three priorities maximum, your open loops, what’s coming this week, and who’s on your radar. What’s Slipping is the part you’ll act on: items you wrote into a daily note that never made the tracker, things captured three weeks ago with no movement, someone you said you’d contact and didn’t.
Learn more about daily-briefing →
daily-wrap
Nine questions in the evening, one at a time, warm and casual. Wins, frustrations, what you learned, people, decisions, what’s unfinished, what carries into tomorrow, gratitude, how the day felt. Skip any of them and that section doesn’t appear. Afterward it runs a check-in on your tracker, grouped rather than item by item, and auto-closes prep tasks where a meeting note proves the meeting happened. Then it writes the note, commits, and gives you four lines back. It won’t tell you what kind of day you had, on the theory that you were there for it.
weekly-recap
Reads the week’s daily and meeting notes and writes reviews/YYYY-MM-DD-weekly.md. Wins, decisions made, what got done, a four bucket pass over the tracker (overdue, high priority, coming up, stale), ideas worth keeping, people, patterns, an honest score, and three things to carry. It also does the housekeeping: archives old completed items, flags anything more than thirty days past due, and never deletes or rewrites your wording.
Learn more about weekly-recap →
monthly-recap
Built on the month’s weeklies rather than on the raw days. The section that earns its place is How the Month Moved, one bullet per thread with start state against end state, because a thread that stopped moving without anyone noticing is invisible at week altitude. Then decisions grouped four ways, a Gaps section that reads as self assessment rather than circumstance, trend lines for energy and mood, and a Season Check that flags drift in your season file without rewriting it.
Learn more about monthly-recap →
quarterly-recap
Reads the three monthlies and finds the ninety day arc. The headline ritual is Season Rewrite. It compares what your season file says this stretch is for against what three months of evidence show, drafts a full replacement in the review, and then walks you through accepting it, editing specific answers, or keeping what’s there. It writes config/season.md only after you say yes out loud. Attention allocation is the sharpest test in it: if the file claims a third of your energy goes somewhere the quarter shows untouched for six weeks, that gap is the finding.
Learn more about quarterly-recap →
annual-review
Two modes, and it tells you which one it’s running and why. With quarterlies on disk it’s a single synthesis pass: the year’s arc, how each thread traveled, decisions of the year including any walked back twice, what the patterns now say, people of the year, an honest score, and a drafted opening season for next year. Without them it runs a guided interview instead, quarter by quarter, stopping after each one so a lost session doesn’t cost you the work. The patterns section is the one only a year can produce, separating what held all twelve months from what turned out to describe a rough stretch rather than describing you.
Learn more about annual-review →
Getting running
Install Claude Code. Open the repo on GitHub and press Use this template for your own copy, or clone it. Then cd into the folder and run claude.
Say “set me up.” It runs a short interview one question at a time: what to call you, your timezone, the three to six threads your life actually runs on, and the tags you want. Then it walks you through config/season.md, five questions covering what this stretch is about, where your attention should go, what you want surfaced without asking, your non-negotiables, and one optional question you want asked every night. Ten minutes, once. Every other skill reads those two files before it writes anything.
Your first day is capture and wrap. Type things at it as they happen, then run /daily-wrap in the evening. Day two you get a briefing worth reading, because now there’s a yesterday.
Your first week is that loop, repeated. Don’t run /weekly-recap on day three. The higher rungs are only as good as what sits under them: the weekly wants at least three daily notes, the monthly wants two weeklies, the quarterly wants monthlies. Each skill tells you when its sources are thin and offers to run short instead of inventing a fuller record than the one you have. You’re a week in before the weekly earns its keep, and three months in before the quarterly says anything the monthly didn’t.
Connect your tools
The skills work with nothing connected. Attach a source and they use it, leave it off and they carry on without mentioning it.
Email and calendar. Claude Code talks to Gmail, Google Calendar, and Outlook through MCP connectors. Run /mcp in a session to see what’s connected and add a server. With a calendar live, the briefing gains a Today’s Schedule section and stops guessing at your day, and the wrap offers a pass over meetings that ended with no notes. With email live, the briefing can flag threads waiting on your reply and capture can resolve someone you mentioned by first name only. The skills read. They don’t send mail, accept invites, or change your calendar.
Meeting note-takers. The pattern is the same for all of them: export the notes, drop the file into meetings/, capture routes it. Name it YYYY-MM-DD - Name.md and tell Claude to process it. Attendees, decisions, and action items go where they belong, with the commitments landing in the tracker. Pasting works just as well: drop the raw export straight into the chat and capture handles it the same way, no file and no filename needed.
For Granola, the worked example is the Granola Meeting Export skill, which pulls the summary and full transcript straight into your editor. For Gong, use the call brief off the call page, or the API (/v2/calls/extensive for the brief, /v2/calls/transcript for the raw text) if your workspace has access. For Zoom with AI Companion on, the summary lives in the web portal under Meetings, and Zoom usually emails it to the host as well. Take the summary over the raw .vtt transcript unless you need exact quotes.
Where to go next
The repo is MIT licensed, so fork it and change whatever doesn’t fit. Every skill is individually downloadable from the agents gallery if you’d rather take one piece than the whole ladder. And if you want the broader reading list on this idea, videos and tools from people who got here before I did, that’s in Quick Intro to Your AI Chief of Staff.
