Luopan Company Research
zhangxiaoqiang1991/luopan
罗盘的公司研究子模式。研究具体上市或非上市公司的财务增长、商业模式、 竞争生态位、治理与组织信号,并分别生成投资初筛和求职初筛。
Prepare for a specific upcoming meeting by gathering attendee context, history and related topics.
$ npx skills add davekilleen/Dex --skill meeting-prep -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install davekilleen/Dex meeting-prep --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "meeting-prep" agent skill from https://github.com/davekilleen/Dex/tree/main/.agents/skills/meeting-prep into .claude/skills/meeting-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting-prep", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/davekilleen/Dex/tree/main/.agents/skills/meeting-prepType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add davekilleen/Dex --skill meeting-prep -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install davekilleen/Dex meeting-prep --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/meeting-prep .agents/skills/meeting-prep && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "meeting-prep" agent skill from https://github.com/davekilleen/Dex/tree/main/.agents/skills/meeting-prep into .agents/skills/meeting-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting-prep", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add davekilleen/Dex --skill meeting-prep -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install davekilleen/Dex meeting-prep --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/meeting-prep .cursor/skills/meeting-prep && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "meeting-prep" agent skill from https://github.com/davekilleen/Dex/tree/main/.agents/skills/meeting-prep into .cursor/skills/meeting-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting-prep", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/davekilleen/Dex.git --path .agents/skills/meeting-prep--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add davekilleen/Dex --skill meeting-prep -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install davekilleen/Dex meeting-prep --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/meeting-prep .gemini/skills/meeting-prep && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "meeting-prep" agent skill from https://github.com/davekilleen/Dex/tree/main/.agents/skills/meeting-prep into .gemini/skills/meeting-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting-prep", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install davekilleen/Dex meeting-prepInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add davekilleen/Dex --skill meeting-prep -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/meeting-prep .github/skills/meeting-prep && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "meeting-prep" agent skill from https://github.com/davekilleen/Dex/tree/main/.agents/skills/meeting-prep into .github/skills/meeting-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting-prep", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add davekilleen/Dex --skill meeting-prep -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install davekilleen/Dex meeting-prep --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/davekilleen/Dex.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/meeting-prep .opencode/skills/meeting-prep && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "meeting-prep" agent skill from https://github.com/davekilleen/Dex/tree/main/.agents/skills/meeting-prep into .opencode/skills/meeting-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "meeting-prep", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
meeting-prepPrepare 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. 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.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d0ffc6b. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from davekilleen/Dex at commit d0ffc6b, republished under its MIT licence (© davekilleen). 2,298 words, ~4,931 tokens.
.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.<!-- Generated from `.claude/skills/meeting-prep/SKILL.md` by `scripts/generate-agents-skills.py`. Do not edit. -->
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.
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:
.agents/skills/meeting-prep/AGENT_INSTRUCTIONS.md.{{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.subagent_type: "general-purpose", that prompt, and
a short description.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:
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.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.
Before executing this command, read System/user-profile.yaml → communication section and adapt:
Career Level Adaptations:
Directness:
Detail Level:
See CLAUDE.md → "Communication Adaptation" for full guidelines.
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)person_pageBefore 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.
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.
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:
attendees list.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:
is_current_user: true)Room, Resource, and Group attendee typesDeclined or DelegatedKeep 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:
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.Every non-healthy branch is unavailable evidence, not an empty calendar. Never substitute an empty event list for a missing or failed response.
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.
For each filtered attendee record:
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.
If found, extract:
If not found, note: "No person page for [Name] - consider creating one after the meeting"
Search 04-Projects/ for any projects that:
Extract:
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.
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:
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.
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.
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:
If QMD is not available: Skip this step silently. Steps 1-3 provide the standard keyword-based context.
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 attendeesSlack 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 madeTeams 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 chatsWhen BOTH Slack and Teams are enabled:
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 replyGraceful 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:
# 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 itemsCall 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 attendeesThis only fires if the user has opted into analytics. No action needed if it returns "analytics_disabled".
| Integration | MCP Server | Tools Used |
|---|---|---|
| Calendar | calendar-mcp | calendar_get_events_with_attendees (optional: resolves the meeting and its attendees; the skill asks the user when it is unavailable) |
© davekilleen, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .agents/skills/meeting-prep of davekilleen/Dex.
Open the folder on GitHubat commit d0ffc6b
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Meeting Prep this skilldavekilleen/Dex | 494 | — | ~4.9k | Automated safety check: Pass | MIT | |
| Luopan Company Researchzhangxiaoqiang1991/luopan | 389 | — | ~998 | Automated safety check: Pass | MIT | |
| Company Researchstophobia/deerflow2.0-enhanced | 822 | — | ~845 | Automated safety check: Pass | MIT | |
| Meeting Prep BriefBrianRWagner/ai-marketing-claude-code-skills | 441 | — | ~922 | Automated safety check: Pass | None | |
| SdtStopDisTrain/sdt-skills | 309 | — | ~535 | Automated safety check: Pass | MIT | |
| Account Researchextruct-ai/gtm-skills | 109 | — | ~1.6k | Automated safety check: Pass | None |
zhangxiaoqiang1991/luopan
罗盘的公司研究子模式。研究具体上市或非上市公司的财务增长、商业模式、 竞争生态位、治理与组织信号,并分别生成投资初筛和求职初筛。
stophobia/deerflow2.0-enhanced
综合企业背景调研技能,用于尽职调查、合作伙伴评估、投资分析、市场研究等场景。支持公司工商信息、财务数据、法律风险、舆情分析、竞品对比等多维度调研,自动生成Markdown和HTML格式的专业调研报告。触发条件:用户提及"企业调研"、"公司背景"、"尽职调查"、"合作伙伴评估"、"投资分析"、"市场研究"等关键词。
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.
StopDisTrain/sdt-skills
SDT 内容生产工具箱的总入口:根据当前任务选择最合适的 sdt- 模块,既能完成标题、开头等单一步骤,也能组织从账号研究到发布的完整流程。用户不知道该用哪个 SDT Skill,或希望一站式完成内容生产时使用。
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…
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.
davekilleen/Dex
This skill should be used when working with DSPy.rb, a Ruby framework for building type-safe, composable LLM applications.
davekilleen/Dex
Adopt a full published Heydex profile by handle ('set me up like @davekilleen').
davekilleen/Dex
Package one workflow — how you use Dex for a specific job — into a shareable DexDiff methodology doc.
davekilleen/Dex
Expert guidance for creating, writing, and refining Claude Code Skills.
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…
davekilleen/Dex
This skill should be used when writing Ruby and Rails code in DHH's distinctive 37signals style.
Categories
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.
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.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Meeting Prep is instructions for the agent only.
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.
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.
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.
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.
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.
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.