Pre-meeting brief: walk into every meeting already prepared
A brief lands on your phone before every meeting. You walk in already knowing where you left things, what's outstanding, and what to lead with.
What you'll have when you're done
A paste-ready prompt that takes the attendees and topic of any upcoming meeting, reads every prior conversation with the same people or about the same subject, and returns a one-page brief in under thirty seconds. The brief has four sections: what you last discussed, what each side owes the other, what's still unresolved, and the highest-leverage thing to lead with. Fits on a phone screen. Reads in ninety seconds.
No new install. No SaaS. No script to maintain. The interface is claude code in a terminal. Your meeting library is the folder of meeting transcripts [Granola][1] writes to your laptop, set up via the [Granola → markdown][2] workflow. The brief is whatever Claude pulls from it.
Walking in cold is the silent tax
I'd glance at my calendar on Sunday and tell myself I'd remember where I'd left things with each attendee for the week ahead. Then Monday would land. Then I'd open Tuesday's leadership sync without a clue what we'd agreed on the senior hire two weeks ago. Then I'd ask "remind me where we landed on that?" and the room would notice. Multiply that by twenty-six meetings a week and the cost is real. A tiny unit of trust each time, plus the tax on the company's effectiveness when every meeting starts from cold instead of from context.
I'd tried the obvious things. Pre-meeting Notion docs. A meticulous prep block on Friday afternoons to write briefs for the next week. Color-coded sticky notes on the inside of my laptop. A fresh pass through my notes app the morning of every meeting. None of it survived a single travel week (and it was hard discipline to keep).
The brief closes that leak in thirty seconds. Open the prompt, paste in who you're meeting and what the meeting's about, and Claude reads every prior conversation in your meeting library that's relevant. You read the brief on the walk between meetings. You sit down knowing what you owe them, what they owe you, what's open, and what to open with.
What you need first
- The Granola → markdown pipeline already running. This workflow runs on the markdown library the pipeline produces. If you haven't set it up yet, do [Granola → markdown][3] first. Thirty minutes. Comes back when done.
- Claude Code installed. If you've never installed it, start at [claude.ai/code][4]. Free tier is sufficient.
- At least ten meetings in your meeting library. The brief is real after one meeting; the value compounds at volume. If you set up the pipeline yesterday, give it a week of meetings before judging the output.
- Your calendar in front of you. You'll paste each meeting's attendees and topic into the prompt manually for the first few runs.
Step-by-step
Step 1Open claude code in your meetings folder
Open your terminal and run:
cd ~/notes
claude
~/notes is the folder you set up in the granola → markdown workflow. If your folder is somewhere else, use that path. Once the claude code prompt is ready, you're aimed at your meeting library.
Step 2Run the brief manually for one meeting
Pick one meeting on your calendar today. Note the attendees and the topic. Paste this prompt into claude code, replacing the bracketed bits with the real details:
I have a meeting today with [attendee 1, attendee 2] about [topic / deal name / project].
Look across every meeting in ~/notes/granola/ that involved any of these attendees, or any meeting tagged with [topic] or [related deal].
Produce a brief in this exact shape:
## Last conversation
One sentence summarizing what we last discussed and when. Cite the source meeting.
## Open commitments
- Things they committed to (with date if mentioned)
- Things I committed to (with date if mentioned)
Cite the source meeting per item.
## Active concerns
Bullets of any unresolved tension, objection, or open question. Cite the source meeting.
## What to lead with
One sentence: the single highest-leverage thing I should bring into this conversation.
Brief should fit on a phone screen. Keep it under 200 words total.
You should get back a brief in three to ten seconds. Open one of the cited meeting files and verify the quoted context appears there. The brief is only as good as the citations. If the quote doesn't match the source, the brief is unreliable, even if it sounds right (more in When it breaks).
Step 3Save the prompt where you can reach it fast
A brief you have to retype every time is a brief you'll stop running. Two ways to make it one-click:
Option A · Save it in a prompts.md file in your notes folder. Open ~/notes/prompts.md (create it if it doesn't exist) and paste the prompt under a heading like ## Pre-meeting brief. Then in claude code, you can say "use the pre-meeting brief prompt from prompts.md, attendees are X and Y, topic is Z" and Claude reads the file and fills in the rest. One sentence, brief in your hand.
Option B · Save it as a Claude Code [slash command][5] (the level-up version). Create a file at ~/.claude/commands/brief.md with the prompt text. Now from any claude code session, you can type /brief and the prompt fires. Pass the attendees and topic inline (/brief, meeting with Priya about senior hire) and Claude does the rest.
Option B is the path most CEOs in the Desk Theory Pro tier land on after a couple of weeks. Either option turns the brief from a thing you do into a thing you run.
Step 4(Optional) Wire it to your calendar
Day one, you'll run the brief on demand: glance at your calendar, fire the prompt, read the result on the walk to the meeting. Most CEOs stop there for the first month because the on-demand version already pays for itself.
When you want the brief to land before every meeting without you thinking about it, the move is to schedule a small job that checks your calendar every fifteen minutes and fires the brief for any meeting starting in the next thirty.
Get Claude to write the calendar-check job for you. Open claude code in a project folder where you keep scripts (or create one: ~/projects/meeting-briefs/). Give it your calendar credentials (Google Calendar or Outlook; both expose APIs Claude can call) and the brief prompt, and ask Claude to write a small script that checks the calendar, picks the next upcoming meeting, and runs the brief. Pipe the result to whichever channel you read on the move (Slack DM to yourself, an email to your own address, a push notification via Pushcut or similar).
This step is the optional accelerator, not the install. The brief earns its keep on Step 3.
How you'll know it's working
The signal is the first time the brief surfaces something you'd forgotten.
A week or two into running the prompt, you'll open a brief before a 1:1 and read a line you don't remember promising. The citation will show you said it on a Tuesday three weeks ago. You'll feel the catch. That moment is the workflow.
A secondary signal: you stop opening your calendar and your notes app side by side before a meeting. You used to triangulate. Now you ask. When the triangulation has dropped out of your week, the brief is installed.
When it breaks
No prior meetings exist with this person or topic. The brief comes back empty or generic. Fix: tell Claude to say so explicitly. Add to the prompt: "If there are zero prior meetings matching the attendees or topic, return only a one-line note saying 'No prior context, this is a first conversation.' Don't pad." A clean "no context yet" beats a hallucinated brief every time.
The brief is bloated. You're getting back six paragraphs instead of one phone screen. Your meeting library is large and Claude is summarizing more than the prompt asked for. Fix: tighten the prompt's word budget ("under 150 words total, four bullets max per section") and re-run. Specificity in the prompt is what keeps the output specific.
The citations don't match the source. Claude says someone said X, but the cited file doesn't contain X. Fix: ask Claude to quote verbatim and reproduce three surrounding sentences. If it can't, Claude hallucinated. Reduce the scope: limit the lookback ("last 90 days only") or filter to specific attendees, and re-run.
The brief surfaces context from a different person with the same name. Two Sarahs in your meeting library and Claude blended them. Fix: add a last-name or company filter to the prompt ("attendee is Sarah Chen at Acme, not Sarah Patel"). Where your meeting library is ambiguous, the prompt has to be unambiguous.
Claude refuses or stalls. Your meeting library is too big for the context window, or the prompt asked for too many cross-references. Break the brief into two passes: pass 1 narrows the relevant meetings ("list the five most recent meetings involving these attendees"); pass 2 produces the brief from those five files. Two small queries beat one giant one.
Where this fits in your harness
The pre-meeting brief is one piece of the [harness][6]: the layer of memory, tools, skills, and scheduled work that sits between Claude and your business. The brief is the scheduled, attendee-and-topic-scoped version of the same query you'd run in [Ask your meeting history anything][7]. The query layer is the on-demand interface; the brief is the version that fires before a specific event. Once you've built the brief, you've built the pattern for every other scheduled prompt in your stack.
It runs on top of the meeting library the [Granola → markdown][8] pipeline produces. The full case for the pipeline and the twelve workflows lives in [Granola for CEOs: the highest-ROI AI install of 2026][9].
The siblings most relevant to this workflow:
- [Ask your meeting history anything][10] · the on-demand version. Run the same question without the calendar trigger.
- [The commitment ledger][11] · the weekly file the brief reads from when it lists open commitments. Build the ledger and the brief gets sharper.
[1]: /workflows/what-is-granola [2]: /workflows/granola-to-markdown [3]: /workflows/granola-to-markdown [4]: https://claude.ai/code [5]: /workflows/what-is-a-slash-command [6]: /workflows/what-is-a-harness [7]: /workflows/ask-your-meeting-history [8]: /workflows/granola-to-markdown [9]: /blog/granola-for-ceos-highest-roi-ai-install [10]: /workflows/ask-your-meeting-history [11]: /workflows/commitment-ledger
Get three workflows like this every Thursday
The Thursday 3 is a free weekly email. Three workflows that put you in the top 1% of CEOs. 90-second read. Every card links back to a step-by-step guide like this one.
Get the newsletter →The architecture behind this workflow.
Two operator's manuals for the same job, run two different ways. OpenCLAW for the always-on agent harness; Claude Code for the focused-work CLI. Pick one, or get the bundle for $149.
Browse the books · $99 each