Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate a pre-meeting prep brief in Claude Code. Researches participants, pulls vault context, builds agenda, surfaces sharp questions. Use when user says "prep for this meeting," "I have a call with," "meeting tomorrow with," or "prep brief for [name/company]."
.claude/skills/brianrwagner-meeting-prep-cc/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 72% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 813% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 19% | 0% |
Generate a meeting prep brief from your Obsidian vault. Researches participants, surfaces vault history, builds a prioritized agenda, and generates sharp questions. No autonomy — you run it, you get your brief.
Open Claude Code in your vault directory and say:
Run the Meeting Prep skill. Meeting with [name] from [company]. Type: [sales/WRS/strategy/partnership/interview]. Time: [date/time].Check that the user has provided:
If meeting type is missing, ask:
What type of meeting is this?
WRS client / Sales / Strategy / Partnership / Interview / OtherRun these steps in order. Capture all output before formatting the brief.
bashVAULT="${VAULT_PATH:-/root/obsidian-vault}" NAME="[PARTICIPANT_NAME]" COMPANY="[COMPANY_NAME]" echo "=== VAULT CONTEXT ===" grep -rl "$NAME\|$COMPANY" "$VAULT" \ --include="*.md" \ -not -path "*/.git/*" \ -not -path "*/.obsidian/*" \ | head -10 | while read f; do echo "--- ${f##$VAULT/} ---" grep -n "$NAME\|$COMPANY" "$f" | head -5 done
bashVAULT="${VAULT_PATH:-/root/obsidian-vault}" find "$VAULT/bambf/meeting-prep" -name "*.md" 2>/dev/null \ | xargs grep -l "$NAME\|$COMPANY" 2>/dev/null \ | sort -r | head -3 | while read f; do echo "--- Prior brief: ${f##$VAULT/} ---" head -30 "$f" done
bashVAULT="${VAULT_PATH:-/root/obsidian-vault}" grep -rn "TODO\|action item\|follow up\|promised" "$VAULT" \ --include="*.md" \ -l 2>/dev/null \ | xargs grep -l "$NAME\|$COMPANY" 2>/dev/null \ | head -5 | while read f; do echo "--- ${f##$VAULT/} ---" grep -n "TODO\|action item\|follow up\|promised" "$f" | grep -i "$NAME\|$COMPANY" | head -5 done
Format the brief using this structure (see references/brief-template.md):
# Meeting Prep: [Name] | [Date] [Time]
Meeting type: [type]
Their role: [role at company]
Relationship stage: [new / existing / lapsed]
---
WHY THIS MEETING MATTERS
[1-2 sentences on stakes, objective, desired outcome]
3 PRIORITIES FOR THIS CALL
1. [Priority 1]
2. [Priority 2]
3. [Priority 3]
CONTEXT FROM VAULT
[Pulled notes, open items, prior commitments — or "No prior history found"]
QUESTIONS TO ASK
1. [Question referencing research]
2. [Question]
3. [Question]
4. [Question]
5. [Question]
WATCH FOR
[Known objections, sensitivities, open loops]
DESIRED OUTCOME
[What does success look like in one sentence?]
NEXT STEP TO PROPOSE
[Specific: "schedule X," "send Y," "agree on Z"]Then: Save brief to bambf/meeting-prep/YYYY-MM-DD-[lastname]-prep.md
Then: Print 3-line summary:
WHO: [Name], [role] at [company]
WHY IT MATTERS: [1 sentence]
TOP QUESTION: [The single sharpest question to ask]references/brief-template.md — full brief formatreferences/meeting-types.md — agenda by meeting typereferences/question-banks.md — question sets by context| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-21 | pass→fail | 7,732 | 11,776 | +52% | 1 | 1 | 0% | 1,244 | 3,197 | +157% | 0 | 0 | — |
case-22 | pass→pass | 7,155 | 5,709 | -20% | 1 | 1 | 0% | 1,087 | 1,810 | +67% | 0 | 0 | — |
case-01 | fail→fail | 12,245 | 7,825 | -36% | 1 | 1 | 0% | 1,872 | 1,346 | -28% | 0 | 0 | — |
case-02 | fail→fail | 6,277 | 9,522 | +52% | 1 | 1 | 0% | 435 | 1,628 | +274% | 0 | 0 | — |
case-03 | fail→fail | 4,836 | 7,415 | +53% | 1 | 1 | 0% | 281 | 1,392 | +395% | 0 | 0 | — |
case-04 | fail→pass | 7,055 | 10,066 | +43% | 1 | 1 | 0% | 1,144 | 1,962 | +72% | 0 | 0 | — |
case-05 | fail→pass | 2,640 | 17,988 | +581% | 1 | 1 | 0% | 356 | 3,249 | +813% | 0 | 0 | — |
case-06 | fail→pass | 13,763 | 7,098 | -48% | 1 | 1 | 0% | 2,166 | 2,206 | +2% | 0 | 0 | — |
case-07 | fail→pass | 8,776 | 2,408 | -73% | 1 | 1 | 0% | 1,403 | 1,455 | +4% | 0 | 0 | — |
case-08 | pass→pass | 7,538 | 5,570 | -26% | 1 | 1 | 0% | 1,287 | 1,952 | +52% | 0 | 0 | — |
case-09 | fail→pass | 7,661 | 2,869 | -63% | 1 | 1 | 0% | 1,290 | 1,531 | +19% | 0 | 0 | — |
case-10 | fail→pass | 7,038 | 2,758 | -61% | 1 | 1 | 0% | 1,231 | 1,518 | +23% | 0 | 0 | — |
case-11 | fail→fail | 7,974 | 1,658 | -79% | 1 | 1 | 0% | 1,273 | 1,285 | +1% | 0 | 0 | — |
case-12 | fail→fail | 17,418 | 1,605 | -91% | 1 | 1 | 0% | 2,752 | 1,271 | -54% | 0 | 0 | — |
case-13 | pass→pass | 10,048 | 2,218 | -78% | 1 | 1 | 0% | 1,426 | 1,418 | -1% | 0 | 0 | — |
case-14 | fail→pass | 6,969 | 2,058 | -70% | 1 | 1 | 0% | 1,003 | 1,378 | +37% | 0 | 0 | — |
case-15 | fail→fail | 15,023 | 8,179 | -46% | 1 | 1 | 0% | 2,324 | 1,444 | -38% | 0 | 0 | — |
case-16 | pass→fail | 13,446 | 8,401 | -38% | 1 | 1 | 0% | 1,935 | 1,484 | -23% | 0 | 0 | — |
case-17 | fail→fail | 16,527 | 8,166 | -51% | 1 | 1 | 0% | 2,269 | 1,443 | -36% | 0 | 0 | — |
case-18 | pass→fail | 13,034 | 7,373 | -43% | 1 | 1 | 0% | 2,091 | 1,314 | -37% | 0 | 0 | — |
case-19 | fail→pass | 11,457 | 2,173 | -81% | 1 | 1 | 0% | 1,725 | 1,442 | -16% | 0 | 0 | — |
case-20 | pass→pass | 7,126 | 6,925 | -3% | 1 | 1 | 0% | 1,093 | 2,149 | +97% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 15 counted toward the lift figure. The other 7 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +23 percentage points is the difference between those two pass rates over the 15 comparable cases. 4 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.