Agent skill

Meeting Prep

by davekilleen in davekilleen/Dex

Prepare for a specific upcoming meeting by gathering attendee context, history and related topics.

MITAuto-check passedSales & Support

Install Meeting Prep

skills CLI
$ npx skills add davekilleen/Dex --skill meeting-prep -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install davekilleen/Dex meeting-prep --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/meeting-prep .claude/skills/meeting-prep && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
meeting-prep
GitHub stars
494
Token cost
~4.9k tokens
SKILL.md length
2,298 words
Files
2
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

Prepare for a specific upcoming meeting by gathering attendee context, history and related topics.

  • Works in 6 steps: Refresh the meeting record → 5: Gather Context (if needed) → Attendee Lookup → …
  • The user says prep me for my meeting with X
  • SKILL.md covers Execution mode, Tone Calibration, Arguments and What This Does, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Meeting Prep is an agent skill from davekilleen/Dex. Prepare for a specific upcoming meeting by gathering attendee context, history and related topics. Use when the user says 'prep me for my meeting with X', 'what do I need for the 2pm', or before a calendar event. Also use proactively when a meeting is imminent. Not for writing up a meeting that already happened; use process-meetings.

Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `AGENT_INSTRUCTIONS.md`).

It sits in Sales & Support, covering Sales call preparation. The repository describes itself as: Your AI Chief of Staff — a personal operating system starter kit that adapts to your role. No coding required. The licence is MIT.

When your agent uses it

  • The user says prep me for my meeting with X
  • What do I need for the 2pm
  • Before a calendar event

Example prompts

  • “prep me for my meeting with X”
  • “what do I need for the 2pm”
  • “/meeting-prep”

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Refresh the meeting record
  2. 5: Gather Context (if needed)
  3. Attendee Lookup
  4. Related Projects
  5. Recent Context
  6. Compile Prep Brief

What it can do on your machine

Read from SKILL.md and the folder at commit d0ffc6b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Meeting Prep loads about 4.9k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 2,298 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~4.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from davekilleen/Dex at commit d0ffc6b, republished under its MIT licence (© davekilleen). 2,298 words, ~4,931 tokens.

Download SKILL.mdSave it as .claude/skills/meeting-prep/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
meeting-prep
description
Prepare for a specific upcoming meeting by gathering attendee context, history and related topics. Use when the user says 'prep me for my meeting with X', 'what do I need for the 2pm', or before a calendar event. Also use proactively when a meeting is imminent. Not for writing up a meeting that already happened; use `process-meetings`.
<!-- Generated from `.claude/skills/meeting-prep/SKILL.md` by `scripts/generate-agents-skills.py`. Do not edit. -->

Execution mode

Run inline in the current conversation by default, so this work can see what the user has already discussed, decided, or settled this session. Do not fork merely because this skill was selected. Only run in the background when the user explicitly asks for a background run or the host has already obtained a specific background-work approval for this run.

Delegated gathering (large-vault scaling)

This skill stays inline as described above: it keeps session awareness, it asks the user the questions, and it owns every interactive step. What it does NOT do inline is the bulk read-gathering, which on a mature vault (hundreds of notes, thousands of indexed messages, a live calendar and multiple integrations) can be large enough to exhaust the main conversation before the useful work starts.

So the gathering phase is delegated to one general-purpose subagent via the Agent tool, using the self-contained prompt in this skill's AGENT_INSTRUCTIONS.md:

  1. Read .agents/skills/meeting-prep/AGENT_INSTRUCTIONS.md.
  2. Substitute its placeholders ({{TARGET_DATE}}, {{MEETING_TITLE}}, {{ATTENDEE_RECORDS}}). {{ATTENDEE_RECORDS}} is the filtered JSON array from the selected invite, preserving name, person_page, email, status, type, and is_current_user for each attendee. For attendees the user supplied manually, use the same fields with unknown values set to null, type set to Person, and is_current_user set to false.
  3. Call the Agent tool with subagent_type: "general-purpose", that prompt, and a short description.
  4. Present its findings as the prep brief, in the Output Format below.

Spot-check before presenting: the brief names person pages, projects and past meetings. Confirm a sample of those files actually exist before repeating their content to the user, and drop anything you cannot stand behind. A subagent's report is a claim, not evidence.

The subagent inherits MCP connections, runs in its own context, and that context is freed when it completes, so only its findings reach this conversation.

Use AGENT_INSTRUCTIONS.md verbatim. Read the file and pass its content as the subagent prompt, substituting only the placeholders. Do NOT hand-write a replacement brief from what you already know about the meeting: that is how steps get silently dropped, and the omission looks complete because nothing errors. If context from this conversation is worth adding, APPEND it to the file's content; never substitute for it.

Two caveats that are load-bearing:

  • Do not count on hooks for the subagent's writes. The hooks declared in this skill's own frontmatter belong to this skill's run, not the subagent's, and whether the repository-wide hooks in the host's lifecycle settings reach a subagent's tool calls is not something a skill should assume either way. Nothing in this skill's gathering depends on a hook; the subagent's writes must stand on their own.
  • Always fall back. If the subagent fails, times out, or returns nothing usable, say so plainly and run the gathering inline from the same AGENT_INSTRUCTIONS.md. A missing subagent must never mean a missing result.

Stays inline: confirming which meeting is meant, and presenting the brief.

Prepare for an upcoming meeting by gathering context on attendees and related topics.

Tone Calibration

Before executing this command, read System/user-profile.yaml → communication section and adapt:

Career Level Adaptations:

  • Junior: Provide more context about attendees, suggest preparation tips
  • Mid: Balance context with action, suggest talking points
  • Senior/Leadership: Strategic framing, influence opportunities, key decisions
  • C-Suite: High-level strategic context, organizational implications, key stakeholders

Directness:

  • Very direct: Bullet points, key facts only
  • Balanced: Context + talking points (default)
  • Supportive: Detailed prep, conversation strategies

Detail Level:

  • Concise: Names, roles, top 3 talking points
  • Balanced: Standard prep format
  • Comprehensive: Full context, relationship dynamics, strategic considerations

See CLAUDE.md → "Communication Adaptation" for full guidelines.


Arguments

Optional: $MEETING, $ATTENDEES

If either value is missing, try the calendar before prompting. Ask for the meeting topic or attendee list only when the calendar status or the returned events cannot identify the meeting safely.

Examples:

  • /meeting-prep "Q1 Planning" "Sarah Chen, Mike Rodriguez"
  • /meeting-prep (then prompt for details)

What This Does

  1. Reads the matching calendar invite and keeps its resolved attendee records
  2. Looks up only attendees whose invite record has no person_page
  3. Surfaces recent interactions and open action items
  4. Checks for related projects
  5. Suggests talking points based on context

Process

Step 0: Refresh the meeting record

Before reading anything, run /process-meetings so the brief is built on the freshest locally available record. It turns captures already sitting unprocessed in the local meeting folder into notes and updates the person and company pages from them. It does not reach out to an external meeting source, so anything not yet synced there stays out of reach either way; what this removes is the gap between a capture arriving locally and it being readable here.

  • If no new meetings are found, continue silently
  • If meetings are processed, use the extracted context in the brief below
  • Do NOT ask for a skill rating after this sub-step, save that for the end of the prep

Why this skill in particular needs it. /meeting-prep is normally run minutes before a call, which is exactly when the most recent conversation with these attendees is most likely to have been captured but not yet processed. Step 3 below reads 00-Inbox/Meetings/, and a brief built from an unprocessed folder does not look incomplete: it looks like there was nothing to report. Missing context and no context are indistinguishable in the output, which is why the refresh belongs before the read rather than being left to chance.

Step 0.5: Gather Context (if needed)

If $MEETING or $ATTENDEES are not provided, try the calendar before asking. The user booked the meeting; the invite already holds the title and the attendee list, and asking them to retype it is both friction and a source of duplicate person pages from misspelt names.

When the calendar integration is available, search every calendar visible to Apple Calendar by default:

mcp__calendar-mcp__calendar_get_events_with_attendees(calendar_name="all", start_date="YYYY-MM-DD", end_date="YYYY-MM-DD")

calendar_name="all" means all calendars currently visible to the local Apple Calendar integration. It cannot see a calendar account that is not synced into Apple Calendar, and on hosts that do not support the all selector you must say which single calendar was searched. Never describe a no-match from one calendar as proof that the meeting is absent from every calendar.

The end date is exclusive. For a single day, pass the following day as end_date. Passing the same date twice returns zero events with no error, which is indistinguishable from an empty calendar.

Match the user's phrasing to an event:

  • A time ("prep me for the 2pm", "tomorrow's 1:30"): match on start time, usually unambiguous on its own.
  • A person or topic ("prep me for the Acme call"): match on title, or on an attendee name within the event's attendees list.
  • Nothing specified: list today's and tomorrow's events and ask which one is meant.

Each attendee carries name, email, status, type, is_organizer, is_current_user, plus has_person_page and (when resolved) person_page, so the vault lookup in Step 1 is already done for anyone who has a page.

Before delegating gathering, build {{ATTENDEE_RECORDS}} from the selected event. Preserve name, person_page (or null), email, status, type, and is_current_user; do not reduce the records to display names. Filter out:

  • the user (is_current_user: true)
  • Room, Resource, and Group attendee types
  • invitees whose status is Declined or Delegated

Keep Person attendees who are Accepted or Tentative. A Pending or Unknown person may still attend: keep them, but do not describe their attendance as confirmed. Never describe the organiser as someone who has not accepted. Calendar APIs often leave the organiser as Pending, Unknown, or needsAction; treat is_organizer: true, Google organizer: true / matching organizer.email, and the user themselves when they organised the meeting (is_current_user / self plus organiser) as accepted. If an attendee has an unknown type, keep them only when they have a usable name or email and flag that uncertainty in the brief.

Ask when the calendar cannot answer. The calendar is the preferred source, not a required one, and this skill must still work without it. Inspect the complete calendar response before reading events or count, and follow CLAUDE.md's Calendar response confidence contract at this inline call site:

  • Only success: true is a healthy read. A healthy count: 0 means the searched range is empty only when the response has no warning; preserve a warning and ask rather than claiming there are no meetings.
  • feature_status: off is healthy optional absence. Ask for the meeting and attendees with no error tone, setup advice, or nag.
  • feature_status: not_installed surfaces the returned user_message and fix once in a calm setup tone, then asks for the meeting and attendees.
  • feature_status: broken surfaces the returned user_message exactly, including its permission or other fix guidance, then asks so prep can continue. Never recast it as “not connected” or “no meetings.”
  • feature_status: unknown, or an unstructured tool error, means the calendar could not be checked. Say that plainly and ask rather than guessing.
  • No Calendar tool response (for example, on a non-macOS machine) is optional absence. Ask for the meeting and attendees without reporting a fault.

Every non-healthy branch is unavailable evidence, not an empty calendar. Never substitute an empty event list for a missing or failed response.

  • No matching event in the range returned: ask which meeting is meant rather than guessing.
  • Two events match a stated time: that is a double-booking. Name both and let the user choose; it is worth telling them about in itself.

Never treat an empty result as proof of an empty calendar. A tool that is absent, a permission that was refused, and a query built with the wrong range all return nothing, and none of them mean "no meetings". If you cannot tell which it was, say so and ask.

When asking, accept any natural format: "Sarah Chen, Mike Rodriguez", "Sarah, Mike", or a plain list.

Show full SKILL.md (695 more words)Show less
Step 1: Attendee Lookup

For each filtered attendee record:

  1. If the calendar supplied person_page, use it and pass it through to delegated gathering. That resolution is already done and is more reliable than matching a name, particularly for the display forms invites actually carry: Surname, First, a job title in parentheses, or a bare email address where the name should be. Only fall back to searching when has_person_page is false or the attendee came from the user rather than the calendar.

    Otherwise search 05-Areas/People/Internal/ and 05-Areas/People/External/ using the attendee's email first, then name.

  2. If found, extract:

    • Role and company
    • Last interaction date
    • Open action items involving them
    • Key context or notes
  3. If not found, note: "No person page for [Name] - consider creating one after the meeting"

Search 04-Projects/ for any projects that:

  • Mention the attendees
  • Relate to the meeting topic ($MEETING)

Extract:

  • Project name and status
  • Relevant milestones or blockers
  • Recent updates
Step 3: Recent Context

Search 00-Inbox/Meetings/ for recent meetings with these attendees. Step 0 processed this folder; without that, anything captured locally since the last processing run is invisible here.

  • What was discussed?
  • What was decided?
  • What follow-ups were committed?
Step 3a: Semantic Context Enrichment (if QMD available)

This step runs automatically when QMD is installed. It enriches meeting prep with semantically related vault content that keyword search would miss.

Check if QMD MCP tools are available by calling the status tool (QMD MCP). If available:

  1. Semantic search for meeting topic:

    query(query="$MEETING", limit=5)

    Look for: related past discussions, relevant decisions, thematic connections — content that shares meaning with the meeting topic but uses different words.

  2. Semantic search for each attendee (beyond their person page):

    query(query="$ATTENDEE_NAME context discussions decisions", limit=3)

    Look for: contextual references where this person is mentioned by role/title/team (e.g., "the VP of Sales asked about..."), not just by name.

  3. Cross-reference results with what Steps 1-3 already found. Only surface NEW insights — content that the keyword-based person page lookup and meeting folder grep in earlier steps missed.

Add to the prep brief under a "Semantic Connections" heading:

  • Past discussions thematically related to this meeting (even if different keywords were used)
  • Decisions made in adjacent contexts that are relevant here
  • Commitments or open items discovered through semantic matching
  • Related projects or goals that connect by meaning

If QMD is not available: Skip this step silently. Steps 1-3 provide the standard keyword-based context.


Step 3b: Integration Context (if available)

Check System/integrations/config.yaml to see which integrations are enabled.

Notion Integration: If enabled.notion: true AND Notion MCP is available:

Search Notion for pages related to:
- Meeting topic ($MEETING)
- Attendee names

Include in prep:
- Relevant Notion docs (title + summary)
- Shared pages with attendees

Slack Integration: If enabled.slack: true AND Slack MCP is available:

Search Slack for recent conversations:
- With/about each attendee
- Mentioning the meeting topic

Include in prep:
- Recent Slack context (last 7 days)
- Key threads or decisions
- Any commitments made

Teams Integration: If teams.enabled: true AND Teams MCP available:

Search Teams chats with attendees:
- Recent 1:1 and group chats involving each attendee
- Mentioning the meeting topic

Check Teams channels related to meeting topic:
- Project channels, department channels
- Recent posts and replies

Surface recent decisions from Teams threads:
- Key decisions made in channel conversations
- Any commitments or follow-ups from Teams chats

Include in prep:
- Recent Teams context (last 7 days)
- Key threads or decisions from channels
- Any commitments made in Teams chats

When BOTH Slack and Teams are enabled:

  • Check both sources for each attendee
  • Label context by source: "From Slack:" / "From Teams:"
  • Deduplicate if the same person appears in both (merge context, label the source)
  • Present in separate sub-sections under Integration Context

Google Workspace Integration: If google-workspace.enabled: true AND Google Workspace MCP is available:

Search Gmail for recent threads with each attendee (last 7 days):
- Email exchanges and their topics
- Shared Google Docs mentioned in threads
- Outstanding email requests (sent but no reply)

Search for Google Docs related to:
- Meeting topic ($MEETING)
- Shared documents with attendees

Include in prep:
- Recent email exchanges (last 7 days) — key threads summarized
- Shared documents — Google Docs, Sheets, or Slides linked in emails
- Outstanding requests/follow-ups — emails waiting > 48h for reply

Graceful Degradation: For MCP responses, follow CLAUDE.md's feature_status rendering convention before applying these fallbacks.

If an integration is enabled but the MCP isn't responding:

  • Render its status using that convention, then continue with vault-only context.
Step 4: Compile Prep Brief

Output Format

markdown
# Meeting Prep: $MEETING

**Date:** [Today's date]
**Attendees:** $ATTENDEES

---

## People Context

### [Attendee Name]
- **Role:** [Role at Company]
- **Last Interaction:** [Date] - [Topic]
- **Open Items:**
  - [ ] [Action item]
- **Notes:** [Key context about this person]

### [Next Attendee]
...

---

## Related Projects

| Project | Status | Relevance |
|---------|--------|-----------|
| [Name]  | [Status] | [Why it relates] |

---

## Recent History

Previous meetings with these attendees:

| Date | Topic | Key Outcomes |
|------|-------|--------------|
| [Date] | [Topic] | [What was decided/discussed] |

---

## Integration Context (if available)

*This section appears when productivity integrations are enabled.*

### From Slack
> Recent conversation context with attendees (last 7 days)

### From Teams
> Recent Teams chats and channel threads with attendees (last 7 days)

### From Notion
> Related Notion docs: [Doc title](link)

### From Gmail
> Email threads with [Attendee]: [Summary of outstanding requests]

---

## Suggested Talking Points

Based on the context above:

1. **Follow up on:** [Open item from last meeting]
2. **Discuss:** [Project-related topic]
3. **Ask about:** [Something from their context]

---

## Questions to Consider

- What's your main goal for this meeting?
- What do you need from these attendees?
- What decisions need to be made?

---

## Post-Meeting

After the meeting:
1. Add notes to `00-Inbox/Meetings/YYYY-MM-DD - [Topic].md`
2. Update person pages with new context
3. Create tasks for any action items

Track Usage (Silent)

Call the mark_feature_used tool on the dex-analytics MCP server with meeting-prep. This ticks the feature's box in System/usage_log.md, which is what /dex-level-up reads to recommend features that have not been tried. It writes locally and sends nothing, so it runs whether or not analytics is enabled.

Analytics (Silent):

Call track_event with event_name meeting_prep_completed and properties:

  • attendees_count: number of attendees

This only fires if the user has opted into analytics. No action needed if it returns "analytics_disabled".


When to Use

  • Before any meeting with multiple attendees
  • When meeting someone you haven't seen in a while
  • Before important meetings where you want full context

MCP Dependencies

IntegrationMCP ServerTools Used
Calendarcalendar-mcpcalendar_get_events_with_attendees (optional: resolves the meeting and its attendees; the skill asks the user when it is unavailable)

Tips

  • Run this 15-30 minutes before the meeting
  • Create person pages for new contacts after meetings
  • Update this context regularly for accurate prep

© davekilleen, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agents/skills/meeting-prep of davekilleen/Dex.

  • SKILL.md
  • AGENT_INSTRUCTIONS.md

Open the folder on GitHubat commit d0ffc6b

Compare with similar skills

Meeting Prep next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Meeting Prep compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Meeting Prep this skilldavekilleen/Dex494—~4.9kAutomated safety check: PassMIT
Luopan Company Researchzhangxiaoqiang1991/luopan389—~998Automated safety check: PassMIT
Company Researchstophobia/deerflow2.0-enhanced822—~845Automated safety check: PassMIT
Meeting Prep BriefBrianRWagner/ai-marketing-claude-code-skills441—~922Automated safety check: PassNone
SdtStopDisTrain/sdt-skills309—~535Automated safety check: PassMIT
Account Researchextruct-ai/gtm-skills109—~1.6kAutomated safety check: PassNone

Similar skills

  • Luopan Company Research

    zhangxiaoqiang1991/luopan

    罗盘的公司研究子模式。研究具体上市或非上市公司的财务增长、商业模式、 竞争生态位、治理与组织信号,并分别生成投资初筛和求职初筛。

    389 GitHub stars~998 tokensUpdated 2 mo ago
    Sales & SupportAuto-check passed
  • Company Research

    stophobia/deerflow2.0-enhanced

    综合企业背景调研技能,用于尽职调查、合作伙伴评估、投资分析、市场研究等场景。支持公司工商信息、财务数据、法律风险、舆情分析、竞品对比等多维度调研,自动生成Markdown和HTML格式的专业调研报告。触发条件:用户提及"企业调研"、"公司背景"、"尽职调查"、"合作伙伴评估"、"投资分析"、"市场研究"等关键词。

    822 GitHub stars~845 tokensUpdated 6 mo ago
    Sales & SupportAuto-check passed
  • Meeting Prep Brief

    BrianRWagner/ai-marketing-claude-code-skills

    Builds a pre-meeting brief from your Obsidian vault: participant research, past notes, open commitments, a prioritized agenda and sharp questions.

    441 GitHub stars~922 tokensUpdated 6 mo ago
    Sales & SupportAuto-check passed
  • Sdt

    StopDisTrain/sdt-skills

    SDT 内容生产工具箱的总入口:根据当前任务选择最合适的 sdt- 模块,既能完成标题、开头等单一步骤,也能组织从账号研究到发布的完整流程。用户不知道该用哪个 SDT Skill,或希望一站式完成内容生产时使用。

    309 GitHub stars~535 tokensUpdated 1 mo ago
    Sales & SupportAuto-check passed
  • Account Research

    extruct-ai/gtm-skills

    Deep-research a single target account into a decision-ready dossier: the entity tree, the buying units and decision-makers, live signals (open/closed roles, leadership moves, news, tech stack), and…

    109 GitHub stars~1.6k tokensUpdated 12 days ago
    Sales & SupportAuto-check passed
  • Call Prep

    breakstageaxe61/genspark-claw

    Prepare an AI phone call end-to-end — research the callee, set a concrete objective and fallback, draft a natural call script with branching, and produce a post-call summary template.

    169 GitHub stars~986 tokensUpdated 14 days ago
    Sales & SupportAuto-check passed

More from davekilleen/Dex

All 61 skills in this repo
  • Dspy Ruby

    davekilleen/Dex

    This skill should be used when working with DSPy.rb, a Ruby framework for building type-safe, composable LLM applications.

    494 GitHub starsUsed in 1 repo~3.9k tokens
    Auto-check passed
  • Diff Adopt Profile

    davekilleen/Dex

    Adopt a full published Heydex profile by handle ('set me up like @davekilleen').

    494 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Diff Generate

    davekilleen/Dex

    Package one workflow — how you use Dex for a specific job — into a shareable DexDiff methodology doc.

    494 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Creating Agent Skills

    davekilleen/Dex

    Expert guidance for creating, writing, and refining Claude Code Skills.

    494 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • Feedback

    davekilleen/Dex

    Report a Dex bug to the Dex team with zero homework — Dex investigates locally, builds a privacy-safe report, shows it to you (or auto-sends if you've chosen that), and tracks the ticket until it's…

    494 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Dhh Rails Style

    davekilleen/Dex

    This skill should be used when writing Ruby and Rails code in DHH's distinctive 37signals style.

    494 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed

Categories

Questions about Meeting Prep

What does Meeting Prep do?

Prepare for a specific upcoming meeting by gathering attendee context, history and related topics. Meeting Prep is an agent skill from davekilleen/Dex. Prepare for a specific upcoming meeting by gathering attendee context, history and related topics.

When should I use Meeting Prep?

Meeting Prep fits situations like: the user says prep me for my meeting with X; what do I need for the 2pm; before a calendar event.

How do I install Meeting Prep in Claude Code?

Run `npx skills add davekilleen/Dex --skill meeting-prep -a claude-code`. Or copy the skill folder (.agents/skills/meeting-prep in davekilleen/Dex) into .claude/skills/meeting-prep in your project. Claude Code loads it when a task matches its description.

How do I install Meeting Prep in Codex?

Run `npx skills add davekilleen/Dex --skill meeting-prep -a codex`. Or copy the skill folder (.agents/skills/meeting-prep in davekilleen/Dex) into .agents/skills/meeting-prep in your project. Codex loads it when a task matches its description.

Can I use Meeting Prep in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davekilleen/Dex --skill meeting-prep -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/meeting-prep, .gemini/skills/meeting-prep, .github/skills/meeting-prep and .opencode/skills/meeting-prep in your project.

What does Meeting Prep need to run?

SKILL.md names no scripts, command-line tools or credentials: Meeting Prep is instructions for the agent only.

Does Meeting Prep access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Meeting Prep safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Meeting Prep use?

Meeting Prep is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Meeting Prep use?

About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Meeting Prep?

Skills that share tags, products or a category with Meeting Prep: Luopan Company Research (zhangxiaoqiang1991/luopan, 389 stars), Company Research (stophobia/deerflow2.0-enhanced, 822 stars), Meeting Prep Brief (BrianRWagner/ai-marketing-claude-code-skills, 441 stars) and Sdt (StopDisTrain/sdt-skills, 309 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Meeting Prep?

davekilleen (a GitHub user) maintains it in davekilleen/Dex, which has 494 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on October 9, 2026.

Source: davekilleen/Dex on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.