| name | veda-prep |
| model | claude-sonnet-4-6 |
| description | VEDA meeting prep. Pulls person profile, project context, recent meetings, open action items, and live email/Slack data for a specific meeting. Use when the user says /prep [meeting name or person], "prep me for", "what do I need to know for", or "what's the context on [person/meeting]". |
Meeting Prep
Produce a meeting prep doc for a specific upcoming meeting or person. Pull everything VEDA knows plus live context, write a structured briefing to the journal.
Filesystem-First Principle
Use grep and find to locate and extract data. Only use Read on files already identified as relevant. Never read through directories file-by-file.
Step 1: Identify the Meeting
Parse the argument after /prep:
- Person name → find their upcoming meeting on today's calendar, or prep for a general interaction.
- Meeting name or time → match to today's calendar.
- Ambiguous → present options and ask the user to choose.
Step 2: Locate the Person Profile
Convert the attendee's name to a slug (First Last → first-last) and locate the profile:
find people/ -iname "first-last.md" -type f
If found, read that file. If not found, note "no VEDA profile" and continue with whatever context is available.
Step 3: Find Recent Meetings
Search for meeting files that reference this person by their wikilink slug — do not browse the meetings/ directory:
grep -rl "\[\[first-last\]\]" meetings/ --include="*.md" | sort -r | head -3
Read only the top 3 results. Extract from each: what was discussed, what was decided, what was promised. The most recent file is "where we left off."
Step 4: Find Open Action Items
Search OPEN.md for lines referencing this person's name or slug — do not read the full file sequentially:
grep -i "first-last\|First Last" actions/OPEN.md
Also search for items tagged with a project slug if the meeting is project-related:
grep -i "project-slug" actions/OPEN.md
Step 5: Find Project Context (if applicable)
If the meeting is project-related, locate the project brief:
find projects/ -iname "*slug*brief*" -o -iname "*brief*slug*" | head -1
If found, read that file. Also check whether the full project file has newer status:
grep -m1 "updated:" projects/slug.md
grep -m1 "updated:" projects/slug-brief.md
Read whichever was updated more recently, or both if the brief is stale.
Step 6: Pull Live Context
Use the hodor tool protocol (search → describe → execute):
Gmail: Search for threads involving the attendee from the past 2 weeks. Surface threads requiring action or providing relevant context.
Slack: Search for recent messages from or mentioning the attendee. Check active threads relevant to the meeting topic.
If data sources are unavailable, proceed with VEDA context only and note what couldn't be pulled.
Step 7: Write Prep Doc
Append to today's journal (journal/YYYY/MM/YYYY-MM-DD.md) under ## Notes as a new ### sub-section. Print to chat simultaneously. Use exactly this format — same sections, same order, every time:
### Meeting Prep: {Meeting Title} — {HH:MM}
**Who**: {First Last} — {Title / Org} | Last met: {YYYY-MM-DD or "no prior record"}
**Project**: {project name if applicable, else "—"}
---
**Their context**
{1–2 sentences on what's going on for them right now.}
**Where we left off**
{1–2 sentences from the most recent meeting file.}
**Open items**
- ACT-ID — Description *(owner)*
*(None)* if empty.
**Suggested agenda**
1. {item}
2. {item}
3. {item}
**Watch**
{Sensitive or politically delicate context. Omit section entirely if nothing to flag.}
**Questions to ask**
- ?
- ?
Rules
- Never hallucinate. If VEDA doesn't have it, say "no prior record" or "not in VEDA."
- Watch section is omitted entirely if there's nothing to flag. Do not include a blank Watch section.
- Suggested agenda is always present — at minimum: status check + open items review.
- Format is fixed. Same sections, same order, every time.
- Multiple attendees: one combined prep doc. "Who" becomes a list; "Open items" consolidated.
- Write to journal before printing to chat.
Step 8: Confirm
Prep written to journal/YYYY/MM/YYYY-MM-DD.md under "Meeting Prep: {title}".
Then print the prep doc.