I stole a coworker's recipe and kept burning it...
My coworker Bri posted a prompt in one of our Slack channels back in August. About fifty lines in a code block, a sunshine emoji, and the line that did the real work: feel free to borrow the instructions to create your own.
I borrowed it that afternoon.
The design instincts in it are good ones, and they are the reason I did not start over. It ranks work against her actual goals rather than by due date. It links the doc you need so the list is one click from the thing it is about. It runs on a schedule, so it shows up whether or not you remember to ask. Those three calls are the hard part, and she got all three right. She had also gone to the trouble of having Claude rewrite her version to be general so anyone could pick it up, which is a generous thing to do with something you built for yourself.
Then I pointed it at my Tuesday.
The problem was my week, not her prompt
A recipe assumes a working kitchen.
My kitchen is a mess. Four back-to-back meetings, an approval nobody has answered in two weeks, a connector that 502s about once a week, and a calendar that lies about its own timezone. None of that is on her calendar, so none of it could be in her prompt. Every line I added is a description of my own bad kitchen, not a fix to her recipe.
So I started adding to it. Two things, specifically, and both came from getting burned.
The sweep. Her version looks at an overnight window, which is correct for what a morning brief is. But the stuff that actually costs me is never from overnight. It is from Saturday, or from a week and a half ago, and nothing in my day prompts me to go looking for it. So I split the window in two. A news window for what gets called new, and a wider sweep window for what might have been missed. Anything the sweep finds outside the news window ships with its real date attached. Get that wrong and old news reads as urgent, which is worse than not sweeping at all.
The arithmetic. A list that does not fit inside the day is not a plan. It is a guilt generator. I wanted the thing to show me the math and then cut its own list when the math did not close.
That was the whole ambition. Two features. Then I went looking to see whether anyone else had solved either one, and I did not come back for a while.
The rabbit hole
Fourteen sources. Some handed me a rule. Some handed me something better, which is a rule I decided not to build.
A 'Getting Things Done' (GTD) weekly review checklist gave me the shape of the sweep buckets, plus the useful correction that this is a weekly ritual and not a daily one. Sunsama's daily planning page validated the focus budget arithmetic and the over-commitment warning. Their comparison against Motion became the road not taken. Motion auto-schedules the day for you. I do not want that. I want to see the arithmetic so I can disagree with it.
MyClaw's Daily-Brief gave me re-entry mode, where a gap of more than two days changes the brief's job from "here is today" to "here is what you missed." It also silently skips sources that are unavailable, which I rejected hard enough that it became its own rule: never skip a source silently.
You cannot tell an empty inbox from a broken connector, and the second one costs you a day.
An open-source morning starter on GitHub gave me the one thing that needs attention before 10am, and its better sibling, the one thing to stop doing today. Lead with AI gave me the decision queue and role-shaped meeting prep, where prep for a meeting you organize is a different thing from prep for a meeting where you are the decision-maker. That one also wanted to draft my replies, which breaks read-only, so no.
A newsletter piece from Vance Sterling corroborated the decision queue independently. His version also infers team morale and scope risk from message tone. I threw that out and turned it into the rule I am most glad is in there: report the observable, never the motive.
MJ Jaindl's post was the best find of the lot, for one line. Meeting notes have to be looked up by meeting series and by participant, with no date bound at all. Search notes by date and you get nothing useful, because the note you need about today's 1:1 is from the last one, three weeks ago.
And a 37-minute build session on YouTube gave me the single feature I would keep if I had to delete everything else. The brief rates its own confidence. High, mixed, or low, what it actually reached, and the one item to check first. A confident-sounding brief built on two working sources out of six is the most expensive thing this thing can produce, because I will act on it.
Every line past 200 is a margin note
My version is now 1,227 lines, and that number is not a boast. It is a symptom.
That is not thoroughness. That is scar tissue.
A prompt is a thing you hand to someone. What I have is closer to a maintenance log, and it is long for the same reason a maintenance log is long: almost every line past line 200 exists because a specific morning went wrong and I wrote down what happened.
The board shipped pinned to light mode for several days running, because each run kept rebuilding the CSS from scratch instead of using the template sitting right there in the file. One run re-derived my workday as 9 to 5 instead of reading the confirmed 8 to 6, then under-planned my day by two hours while sounding completely certain about it. Three consecutive boards dated an approval request from a re-request and called it five days old, when one targeted subject-line search found the original ask fourteen days earlier. A meeting moved from 9:30 to 9:00 at 1:54 in the morning, wiped out the only real focus block in the day, and the brief called it a content edit.
Each of those is now a paragraph explaining what happened and what to check next time. The file stopped being instructions somewhere around version four. It is a splattered recipe card with the original still legible underneath and notes crammed into every margin.
What goes in
Six source roles, whatever happens to be connected: calendar, email, chat, tasks, docs, meeting notes. A missing role gets skipped and named out loud, never faked.
Exactly one setting it has to ask for, because no tool can infer it: the real start and end of my workday. Everything else it discovers for itself, including my timezone, and including the fact that a lot of my invites carry a timezone label that contradicts their own UTC offset. When those disagree, trust the offset.
It is read-only. It reads six things and writes exactly one, its own page. It never replies, never sends, never posts, never answers an invite. That is not politeness. It is the thing that makes running unattended at 8am defensible, and the file says so out loud, so whoever relaxes it later knows the two decisions are linked.
What comes out
Two things.
A terminal brief. Plain bullets, under a minute to read. Three lines ship every single morning even when the run went badly: the arithmetic, the minutes remaining from right now, and the confidence line.
And one page, republished to the same URL every morning so the bookmark never moves. Tasks, decisions, things waiting on someone else, deferred, stale, and closed are all the same item in different states, so they render as one list with filter pills instead of seven headed sections you scroll past.
The arithmetic is the part I actually use. Take the workday in minutes. Subtract meetings. Subtract what gets discarded to buffers and to gaps too small to survive their own buffers. Subtract 45 more for the block that follows a back-to-back run of three. Only gaps of 45 usable minutes or more count as focus time at all, because a 30-minute gap is a transition, not a work block. Four meetings in a day means at most one deep task, stated in exactly those words. If the sized list does not fit the budget, it cuts the list and shows me what it deferred and which day to revisit it.
Here is what that actually looks like. Every name, meeting, and number below is invented, so you can see the layout without seeing my week.
Take it, use it, make it better
The whole file is here: your-morning-briefing SKILL.md
One markdown file, no dependencies, nothing of mine baked into it. Save it to ~/.claude/skills/your-morning-briefing/SKILL.md and run it. It will ask you for the one thing it cannot figure out on its own, which is when your workday actually starts and ends, and then it goes and finds the rest.
Fair warning on what you are picking up. Those 1,227 lines are calibrated against my week, my connectors, and my particular failures. Some of it will be wrong for you on day one. The 45-minute focus floor is my number. The 15-minute meeting buffer is my number. The rule that four meetings caps you at one deep task is absolutely my number, and if you run a calmer calendar than mine you should raise it.
So change it. That is the point.
The one habit I would actually recommend copying is the maintenance section at the bottom of the file. When a morning gets something wrong, do not re-explain it to the thing tomorrow. Open the file and write down what happened. Do that for three weeks and you will have your own margin notes, which will be better than mine because they will be about your kitchen.
I did not build this. A coworker posted a prompt, someone on GitHub posted a starter, a newsletter writer posted three prompts, and two people spent 37 minutes on YouTube building theirs in public. I took all of it and made something that fits my Tuesday. Take mine, make it fit yours, and then put it somewhere the next person can find it.
That is the whole deal. Take it, use it, make it better. That is what community is for.
Post the recipe. Somebody will burn it better than you did.
This blog is written by AI and concepted by a human.
Sources
Everything I read while building this. The rejects are marked, because a rule I decided not to build turned out to be worth as much as one I did.
Planning and budgeting
- GTD weekly review checklist. The sweep-window buckets, and the correction that this is a weekly ritual, not a daily one
- Sunsama, daily planning and shutdown. Validated the focus-time budget arithmetic and the over-commitment warning. Also the evening shutdown counterpart, still unbuilt
- Sunsama vs Motion. Rejected. Auto-scheduling instead of showing you the arithmetic
- The daily briefing dashboard. Thin, but one bit of framing survived: the point is not doing more, it is seeing less
Existing briefing skills
- MyClaw Daily-Brief. Re-entry mode after time away. Its silent skipping of unavailable sources is rejected and written into my file as a prohibition
- Bayram Annakov, morning starter. The one thing before 10am, the one thing to stop doing, and cross-source contradiction flagging
- Lead with AI, executive daily briefing. The decision queue and role-shaped meeting prep. Its draft-the-replies step is rejected, it breaks read-only
- Vance Sterling, three prompts that replace your Monday morning. Independent corroboration of the decision queue. Its morale and scope inference is rejected and became "report the observable, never the motive"
- MJ Jaindl, my morning briefing skill saves 45 mins a day. Meeting notes by series and participant, never by date. Best single line in the pile
- The Product Marketer, my morning briefing skill. Paywalled, contributed nothing, listed for completeness
- Your First Automated Morning, built live. Shankha Dey with Jason Yoong on Ethan Evans' Level Up channel. Source of the per-run confidence self-assessment
Packaging it so other people can install it
- Claude Code plugin marketplaces. A marketplace lists plugins, not skills, so this needed a plugin wrapper
- Manage plugins for your organization. The org upload path, plus the discovery that members cannot edit org-managed plugins, which is why per-user settings had to move out of the skill file
- Use plugins in Claude. The install steps
Comments
Post a Comment