Meeting effectiveness review: reclaim four hours a week
Weekly review of which meetings produced decisions, which produced noise, and which could be cut.
What you'll have when you're done
A short script you run every Friday afternoon. It reads the week's meeting transcripts, scores each meeting on what it actually produced, and hands back a one-page report: total hours you spent in meetings, hours that produced a real decision, hours you'd cut if you were rebuilding the calendar from scratch, and three specific changes to make to next week.
Every Friday you get a data-backed answer to the question every CEO ducks: which of my meetings are worth the hour? Not a gut feeling. A list, with the evidence quoted from the meeting itself. You read it in two minutes and walk into the next week with a calendar that's a little leaner than the one you walked out of.
The recurring meeting nobody remembers starting
I looked at my calendar one Wednesday and counted thirty-one hours of meetings in a five-day week. I told myself, the way I'd told myself for years, that this was just the cost of running the company. Every block was on there for a reason. Then I tried to name the decision that had come out of each one. Then I got stuck somewhere around the fourth recurring sync, the one that existed because someone set it up eighteen months ago and nobody had the standing to cancel it. Then I realized I couldn't tell you what half the week had been for.
The cost wasn't the hours, exactly. The cost was that the hours I gave to meetings that produced nothing were hours I didn't give to the two or three meetings that decided the quarter. A bad calendar doesn't announce itself. It just quietly crowds out the work that matters with work that feels like it matters.
I tried the usual fixes. No-meeting Fridays. A rule that every meeting needed an agenda. Declining anything without a clear purpose. None of it held (the agendas got written in the elevator on the way in, and "no-meeting Friday" just compressed the same meetings into Thursday). The problem was never that I lacked a rule. The problem was that I had no honest record of what each meeting actually produced, so I was cutting on instinct, and my instinct was protecting the meetings I was comfortable in.
The transcripts are the record. The review reads them back to you with a verdict on each one. The week ends, one prompt scores every meeting against what it produced, and you get a ranked list of what to cut before you ever have to defend the decision.
What you need first
- The [Granola][1] → markdown pipeline already running. This workflow runs on the meeting library the pipeline produces. If you haven't set it up yet, do [Granola → markdown][2] first. Thirty minutes. Comes back when done.
- Claude Code installed and pointed at the folder your Granola transcripts land in. Free tier handles the review.
- A week's worth of meetings in the folder. This is a weekly review, so you need a week of transcripts before the first run says anything useful. Two or three weeks in makes the patterns obvious.
- Your calendar, in any form you can export. Optional but recommended. The transcripts tell Claude what happened; the calendar tells it how long each meeting ran, which is what turns the review into an hours count. An ICS export or a pasted list of the week's events both work.
Step-by-step
Step 1Save the review prompt
The prompt is the whole workflow. Save it once so every Friday runs the same scoring logic without retyping.
mkdir -p ~/.claude/prompts
touch ~/.claude/prompts/meeting-review.md
Paste the prompt below into that file. You'll tune it over the first two or three Fridays, then leave it alone.
Read every meeting transcript in ~/notes/granola/ from the last 7 days.
For each meeting, return:
- **Meeting:** filename and date
- **Outcome:** decision made / status update / brainstorm / blocked / nothing
- **Could have been:** shorter / an async doc / cut entirely / fine as it was
- **Evidence:** one verbatim quote from the meeting that confirms the call above
Then a summary:
- Total hours I spent in meetings this week
- Hours that produced a concrete decision
- Hours I'd cut if I were rebuilding the calendar from scratch
- Three specific changes to make to next week's calendar, each tied to a
meeting above
Rules:
- Back every outcome with a quote. If a meeting produced "nothing," show me
the absence: no decision language, no owner named, no next step agreed.
- Don't be diplomatic about the recurring meetings. Those are the ones that
hide, because nobody questions a standing block.
Step 2Run it on this week and read the scorecard
Open Claude Code in your notes folder:
cd ~/notes
claude
Paste the prompt from Step 1. Claude reads the week's transcripts and returns the scorecard.
Read the evidence column before you trust the verdict. The whole workflow lives or dies on this. For each meeting Claude marked "nothing" or "could have been cut," check the quote underneath. If the quote shows a real decision Claude missed, the call is wrong, push back and tighten the prompt. If the quote shows exactly what you feared (a status update that ate an hour, a brainstorm that never converged), the call is right and you have your first cut. The verdict is Claude's opinion. The quote is the fact.
Step 3Add your calendar so it counts the hours
The transcripts tell Claude what each meeting produced. They don't reliably tell it how long each ran. Get Claude to close that gap.
Export your calendar for the week (most calendars do ICS in two clicks) and drop it in the folder, or just paste the week's events into the chat. Then ask Claude to match each meeting in the scorecard to its calendar duration and recompute the summary. Now "hours I'd cut" is a real number instead of an estimate, and a real number is what makes the recurring-meeting problem impossible to keep ignoring.
Step 4Act on exactly one recommendation
The report will hand you three changes. Don't try to act on all three. Pick the single highest-cost meeting and make one change to it before next week. Cancel it, halve it, or turn it into an async doc. One change you actually make beats three you mean to.
The recommendations come in three flavors, easiest first:
- Shorten. A 60-minute meeting that the transcript shows decided everything in the first 20. Cut it to 30 and watch whether anything is lost. Usually nothing is.
- Make it async. A status meeting where one person talks and four people listen. That's a written update, not a meeting. The review will flag these because the transcript reads like a monologue.
- Cut it. The recurring block that produced "nothing" three weeks running. This is the hard one, and it's the one Step 5's how-you'll-know moment is built around.
Step 5Make it a standing Friday move
A review you have to remember to run is a review you'll stop running by week three. Two ways to make it automatic:
Option A · One saved command (lowest effort). Each Friday afternoon, open Claude Code and say: "Run ~/.claude/prompts/meeting-review.md against this week's transcripts in ~/notes/granola/, add the calendar export I just dropped in, and write the report to ~/notes/meeting-review-{date}.md." Ten seconds of typing, one file per week. Most CEOs live here.
Option B · A Claude Code [Routine][3] (fully automated). Get Claude to set up a Routine that runs the review every Friday at 4pm against the week's transcripts and emails you the one-page report. Set it once and the assessment lands in your inbox while you're closing out the week, ready to read before you build next week's calendar.
How you'll know it's working
The signal isn't the report. It's what you do with it.
The first Monday you cancel a recurring meeting because last Friday's review showed three weeks of "nothing," this workflow has paid for itself. You'll feel the small resistance (someone set that meeting up, someone will notice it's gone) and you'll cancel it anyway, because you're not working from a hunch. You're working from a list of weeks where the meeting produced no decision, no owner, no next step, with the quotes to prove it.
The second signal is quieter and bigger. A month in, your meeting hours are down and your decision hours are up, and the trade didn't cost you anything you missed. The calendar stops being the thing that happens to you and starts being a thing you edit.
When it breaks
- The verdict feels subjective. "Brainstorm" versus "decision" is a judgment call, and Claude will get some wrong. The fix is the evidence column. You're not trusting the label, you're trusting the quote under it. If a meeting you know was valuable gets marked "nothing," read the quote: usually the value was real but never got named as a decision in the room, which is its own useful finding.
- The review misses why a meeting happened. A meeting can produce "nothing" on paper and still be the relationship-building 1:1 that keeps a key person from leaving. Claude can't see that from the transcript. Add the meeting's purpose to the prompt, or just keep a short "protected" list of meetings the review scores but never recommends cutting.
- Someone pushes back when you cut their meeting. They will, and this is exactly why the workflow produces evidence instead of opinions. Don't say "I felt like this meeting wasn't useful." Show the three weeks of transcripts where it produced no decision. Data ends the argument that instinct starts.
- You stop running it after a week. The usual silent failure. The fix is Step 5: Option A so it's one command, or Option B so it's zero. A review you have to reassemble every Friday doesn't survive a busy quarter, and a busy quarter is exactly when you need it most.
Where this fits in your harness
This is part of the leadership-coaching layer of your [harness][4]. The [Granola → markdown pipeline][2] made every conversation searchable. This workflow points that searchability at your own calendar and asks the question you can't ask honestly from inside a packed week: what is all this time actually buying me?
The siblings most relevant to this workflow:
- [Self-coaching from meetings][5] · the same honest mirror, aimed at how you show up rather than how you spend your hours. The effectiveness review tells you which meetings to cut; self-coaching tells you how to run the ones you keep.
- [Content ideas from meetings][6] · the surprising payoff of the cuts. The brainstorm you decide to kill as a meeting is often a sharp observation that wanted to be written down, not discussed. Run both and the meetings you cut feed the ideas file instead of vanishing.
See the [Granola pillar][7] for the full pipeline and the other workflows that compound on top.
[1]: /workflows/what-is-granola [2]: /workflows/granola-to-markdown [3]: /workflows/claude-routines [4]: /workflows/what-is-a-harness [5]: /workflows/self-coaching-from-meetings [6]: /workflows/content-ideas-from-meetings [7]: /blog/granola-for-ceos-highest-roi-ai-install
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