02 · Recording to minutes to to-dos
At a glance
| Solves | A recording, chat log or pile of notes that needs to become formal minutes and action items |
| Needs | The recording or a transcript; the local-whisper Skill for audio |
| Takes | Minutes for a short transcript; 10–20 minutes to transcribe and organise an hour of audio |
| Risk | Low — reads input, writes new files |
The situation
An hour-long product review where you did most of the talking and took no notes. Afterwards everyone asks: what were those three action items, who owns them, and what was the thing we never resolved?
Preparation
If you have a transcript
Paste the text into the conversation, or drag the file (TXT, Markdown, Word, PDF) in. No Skill needed.
If you have audio
Install local-whisper. It runs locally and, once the model is downloaded, works offline with no online transcription service.
Local transcription suits internal meetings
The value is not only cost, it is privacy — internal meetings, sensitive interviews and client calls never leave your machine.
The trade-off is the initial model download, and accuracy that depends on audio quality, language and accent. Give it clean audio.
Put the audio file in the workspace.
The prompt
One-shot version (with a transcript)
Read meeting-log-0320.txt in the workspace and turn it into formal minutes:
1. Subject, time, attendees (as mentioned in the log)
2. Each agenda item: name → discussion points → conclusion
3. An action-item table: item / owner / due date / priority
4. Disputed or unresolved items in a separate section, noting where the
disagreement lies
5. Things needing follow-up that nobody claimed, listed separately
Rules:
- Where the log does not clearly state an owner or due date, write
"not specified" — do not infer
- Conclusions must be ones actually reached; anything unresolved goes in
section 4
- No preamble and no closing summary boilerplate
Output as Markdown saved to the workspace, named minutes-0320.md.Two-step version (with audio)
First, transcribe:
Transcribe product-review-0320.m4a in the workspace to transcript-0320.txt.
Mark speaker changes where you can (Speaker A, Speaker B is fine), and mark
anything unclear as [inaudible] rather than guessing.Then organise. Take the transcript, glance at its quality, and use the one-shot prompt above with the filename changed.
The reason for two steps is the same as in the spreadsheet playbook: transcript quality determines minutes quality. Minutes produced from a transcript full of [inaudible] are invented. Looking first is worth it.
Why it is written that way
"Where the log does not clearly state an owner or due date, write not specified" is the most important line in the whole prompt.
The most dangerous distortion in minutes lives exactly there. Seeing "I'll pick that up", the model will naturally attach a name that appeared earlier. It looks entirely reasonable and it is wrong — and these minutes get circulated, and someone chases the wrong person.
The item → points → conclusion structure. Conclusions alone lose the discussion; points alone have no landing. Three layers is the minimum complete structure for minutes.
Unresolved items in their own section. The most valuable information in a meeting is often what was not agreed, and that is exactly what gets flattened into "to be discussed further" during write-up. Asking for the disagreement to be named keeps it.
"Things nobody claimed, listed separately." The most commonly dropped ball after a meeting.
"No preamble." Without it you get "Here are the minutes I have organised based on the material you provided, I hope they help."
Acceptance checklist
- [ ] The attendee list contains nobody who was not in the meeting
- [ ] Every action item's owner can be traced to something actually said
- [ ] Fields with no basis really do say "not specified"
- [ ] The unresolved section is not empty (most meetings have loose ends)
- [ ] The conclusions match your recollection
- [ ] The file actually landed in the workspace
Spot-check two action items
Pick two at random, search the original for the keywords, and confirm someone really said it and that person really claimed it.
That takes a minute, and it is the line between minutes you can circulate and minutes you cannot.
Variations
From a group chat log
In WeChat or WeCom, forward the chat log to WorkBuddy — the client wakes and produces a chip in the input box. Then:
This chat log has a few decisions and to-dos scattered through it. Extract:
1. What was decided and who made the call
2. What to-dos exist, who claimed them, whether a time was mentioned
3. Questions raised that nobody responded to
In chronological order, noting the speaker of the original message for each
item. Do not fill in anything that was not stated.A pre-meeting brief
The same tool pointed the other way:
I have a "Q3 growth retrospective" meeting at 10:00 tomorrow.
Read Q2-retro.md and growth-data-Q3.xlsx in the workspace and produce a
pre-meeting brief:
1. The three things agreed last time and where each stands now
2. The three changes in this quarter's data most worth discussing
3. A suggested agenda with a time estimate per item
4. Questions I should have answers ready for
One page maximum, saved as premeeting-Q3-retro.md.Split minutes and to-dos
The minutes are right. Now extract the action items separately into a CSV:
item / owner / due date / priority / status.
Set status to "not started" for all. Save as actions-0320.csv.CSV imports straight into project tooling, or becomes a data source for an HTML page in the Library.
Automate a recurring meeting
For a weekly fixture:
Create an automation that runs every Friday at 17:00:
Read all transcripts in D:/meetings/this-week, produce weekly meeting minutes
in the format above, and save to D:/meetings/minutes with the date in the filename.Get a manual run working before scheduling — see Automations on a schedule.
FAQ
The transcription is inaccurate.
Three directions:
- Audio quality —
local-whisperaccuracy depends on it. A far-field room recording is naturally worse than a phone held close - Proper nouns — supply a glossary up front:
This meeting frequently uses these terms: XXX, YYY, ZZZ. Watch for them when transcribing. - Length — split very long recordings into segments
Can I give it a video?
You can supply a video file path. Subtitles come from embedded or sidecar subtitle files (SRT, VTT) where they exist; without them, the audio needs transcribing first. Split very long videos.
How long does an hour of audio take?
Proportional to duration, and longer when transcription is needed first. Keep the machine online after submitting — an interruption loses the result.
Can I process several recordings at once?
You can, but do them one at a time. Several recordings in one task and the model tends to run different meetings together. Use parallel tasks in separate conversations instead.