skills/meeting-prep/SKILL.md
Generate structured meeting prep docs using memory context. Usage: /meeting-prep [meeting-type] Examples: /meeting-prep standup, /meeting-prep 1:1 Run without arguments to auto-detect from your calendar. Also triggers on "prep me for", "meeting with", "1:1 with", "prepare for".
npx skillsauth add EqualsGroup/claude-executive-assistant meeting-prepInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate a structured meeting prep document tailored to the meeting type and participants. The skill is generic — all meeting-specific behaviour comes from the meeting's definition in meetings.md.
If arguments provided (e.g. /meeting-prep standup, /meeting-prep 1:1):
$EA_ROOT/memory/meetings.md by section heading, purpose, or keywordsIf no arguments (just /meeting-prep):
meetings.md definitions using a two-step process:
If no upcoming meetings found, read meetings.md and list available meeting types (from section headings and Keywords) as a quick help.
Determine from the matched meeting and calendar event:
$EA_ROOT/memory/people/Read all relevant memory files from $EA_ROOT/ in parallel:
memory/meetings.md — the meeting's definition: standing topics, attendees, data sources, output template, prep notesmemory/people/ — files for all participants (working style, coaching points, recent context, performance review insights)memory/projects.md — active initiatives relevant to the participants or topicmemory/dynamics.md — sensitivities involving the participants, team dynamics, political contextmemory/my-work.md — current priorities, pending items involving the participantsThe meeting definition in meetings.md specifies what data the prep needs under a "Data sources" section. Common data sources and how to fetch them:
| Data source | How to fetch |
|-------------|-------------|
| full-sync | Run the /sync skill to refresh all memory files from external sources before fetching other data. Ensures the prep is based on up-to-date context. Heavy — only declare when the meeting needs full freshness (e.g. standup) |
| messaging-activity | ~~messaging search for messages the user sent in the relevant time window |
| code-activity | ~~code connector: commits pushed, PRs opened/merged/reviewed, reviews given. Fetch using the auth method configured in sync/sources.md with appropriate date filters |
| code-open-prs | ~~code connector: list all open PRs authored by the user. For each PR, also fetch review status and latest commit date. Flag stale reviews where commits were pushed after the last review (likely means feedback was addressed, awaiting re-review) |
| calendar | ~~calendar search for the specified time window (e.g. today, past week) |
| previous-output | Read the most recent $EA_ROOT/outputs/meeting-prep/*-[meeting-name].md. Check its age — see staleness handling in the meeting definition's prep notes |
Launch data fetches as parallel subagents where possible. Each subagent is research-only — do NOT edit any files.
PR status is not the full picture. ~~code review status is a point-in-time snapshot. CHANGES_REQUESTED doesn't mean the author hasn't addressed the feedback. Cross-reference review status with my-work.md notes and ~~messaging conversations for the real state. The narrative from memory always takes precedence over the raw API status.
If the meeting definition has no data sources section, skip this phase — the memory context from Phase 2 is sufficient.
Use the meeting's output template from meetings.md as the structural foundation. Fill each section using the gathered context and fetched data.
If the meeting has no template in meetings.md, generate a sensible prep doc from the context. Cover what's relevant — participants, topics to raise, topics they may raise, sensitivities, approach notes. Use the Meeting Prep Templates section in meetings.md for structural inspiration if a matching template type exists.
Enrich with cross-references:
dynamics.md that affect any participant or topic$EA_ROOT/memory/people/ — surface coaching points, working style, recent interactions relevant to this meetingprojects.md and my-work.md$EA_ROOT/outputs/meeting-prep/YYYY-MM-DD-[meeting-name].mdmeetings.md. This skill is the generic engine.$EA_ROOT/outputs/meeting-prep/ directory is your historical record. Use it for planned-vs-actual comparisons, continuity, and tracking commitments across meetings.tools
Compare user's data files against the current plugin scaffold to find and fix structural drift — missing sections, wrong placements, format mismatches, CLAUDE.md rule drift, stale placeholders, and directory gaps. Use when the user says "upgrade", "check for updates", "compare scaffold", or after a plugin update.
development
Sync memory files from external sources (~~documents, ~~messaging, ~~code) using parallel subagents. Use when the user says "sync", "refresh", "pull latest", or "update from sources".
testing
Interactive setup wizard — initializes the EA memory folder, fills in placeholders, and checks connector availability. Use when the user says "setup", "initialize", "get started", or when the SessionStart hook reports memory is not initialized.
testing
Review a document with full memory context, then post structured comments on specific sections. Use when the user says "review this", "look at this doc", "give me feedback on", or shares a document link for analysis.