meeting-prep-briefer
Generate a structured briefing document for each meeting of the day from local workspace files and a daily schedule — participants, context, and open questions in one brief. No integrations required. Triggers: 'meeting brief', 'prep my meetings', 'prepare for today's meetings', '
What it does
Meeting Prep Briefer
This skill generates a structured per-meeting briefing document for busy managers and individual contributors. Given a daily schedule (pasted inline or read from a local file) and any available workspace context files (project notes, participant notes, previous meeting notes), it produces a brief for each meeting with participants, context, open questions, and a suggested agenda — entirely from local files, no external integrations required.
Input: Daily schedule (inline text or local file path) + workspace context files (auto-scanned).
Output: Structured markdown brief (inline response). Optionally saved to output/meeting-brief-YYYY-MM-DD.md on request.
Language Detection
Detect the user's language from their message:
- If Russian (or contains Cyrillic): respond in Russian
- If English (or other Latin-script language): respond in English
- If ambiguous: default to English
Instructions
Step 1: Parse Input
-
Check if the user provided an inline schedule (list of meetings in their message) or a file path.
- Inline: parse meetings directly from the message.
- File path: read the specified file from the workspace. If the file does not exist, return: "File not found:
{path}. Please check the path or paste the schedule directly."
-
If no schedule is provided at all, return: "Please paste your meeting schedule or provide a path to a schedule file (e.g.,
today.md)." Stop — do not generate output. -
Parse the schedule into a list of meetings. Each meeting must have at minimum a time and a title. Participants are optional.
- Accepted formats:
10:00 — Team Sync,10:00 Team Sync (Alice, Bob),10:00 | Team Sync | Alice, Bob, or similar time + title patterns. - If the schedule is completely unparseable (no recognisable time+title structure), return: "Could not parse meeting schedule. Please use a format like:
10:00 — Team Sync (Alice, Bob)." Stop.
- Accepted formats:
-
Determine the brief date: use today's date unless the user specifies another date.
Step 2: Scan Workspace for Context
-
For each parsed meeting, search the workspace for relevant context files:
- Match files by: meeting title keywords, participant names, or project names appearing in the schedule.
- Look in: root workspace,
notes/,output/,input/,context/folders. - Accepted file types:
.md,.txt.
-
For each matched file, extract:
- Relevant headings and their content (limit to 150 words per file to keep briefs concise).
- Any open action items or questions found in the file.
-
If no matching files are found for a meeting: note "No context files found" for that meeting — do not skip the meeting.
Step 3: Assemble Briefs
For each meeting, build a section with four subsections:
Participants
- List names and roles if provided in the schedule.
- If no participants listed: note "No participants listed in schedule."
Context
- List 2–4 bullet points extracted from matched workspace files.
- Each bullet:
From \filename`: [key point]`. - If no context files matched: "No context files found — add relevant notes to your workspace."
Open Questions
- Extract any open questions or action items from matched files.
- If none found: leave as an empty prompt line
*(none listed — add questions before the meeting)*.
Suggested Agenda
- Generate 2–4 agenda items based on the meeting title, participants, and context.
- Keep each item to one short phrase with a suggested time allocation.
Step 4: Output Brief
-
Assemble all meeting sections into a single markdown document:
- Header:
# Meeting Brief — YYYY-MM-DD - Each meeting:
## HH:MM — Meeting Titlefollowed by four subsections - Meetings separated by
---
- Header:
-
Display inline in the chat.
-
If the user says "save" or "save to file": write the brief to
output/meeting-brief-YYYY-MM-DD.mdand confirm the path.
Edge Cases
- No context files for a specific meeting: Produce the brief anyway; fill Context with placeholder message.
- Schedule has time + title only (no participants): Skip Participants section; add flag: "No participants listed — add names to schedule for richer brief."
- Multiple files match one meeting's keywords: Include all matched files as context sources; list each filename.
- User provides a past or future date: Use that date for the brief header and output filename.
- Very long meeting title (>60 chars): Truncate display title in the header to 60 chars; use full title in the section heading.
Negative Cases
- No schedule provided: Return usage message and stop. Do not generate partial output.
- File path not found: Return file-not-found message with the exact path. Do not guess alternate paths.
- Schedule unparseable: Return format hint and stop. Do not attempt to guess meeting times.
Output Format
# Meeting Brief — 2026-04-28
---
## 10:00 — Team Sync
**Participants:** Alice (PM), Bob (Eng), Carol (Design)
**Context:**
- From `project-notes.md`: Sprint 12 ends Friday; 3 open stories remain.
- From `alice-notes.md`: Concerns raised about API timeline dependency.
**Open Questions:**
- Is the API dependency resolved before Friday?
- Who owns the design handoff?
**Suggested Agenda:**
1. Sprint status check (5 min)
2. API dependency decision (10 min)
3. Next steps & owners (5 min)
---
## 14:00 — 1-on-1 with Bob
**Participants:** Bob (Eng)
**Context:**
- No context files found — add relevant notes to your workspace.
**Open Questions:**
*(none listed — add questions before the meeting)*
**Suggested Agenda:**
1. Check in on current blockers (10 min)
2. Career development update (10 min)
Capabilities
Install
Quality
deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (5,744 chars)