Skill

Meeting Prep Skill: brief every external meeting on your calendar in Claude

Tools: ClaudeLusha

A reusable Claude Skill with three modes and one job: make sure nobody walks into an external meeting without knowing who is in the room and what changed at the account. DAY mode briefs every external meeting on today’s calendar in order. MEETING mode preps one call in depth for a 30 minute slot. EXEC mode writes the one-pager a senior person reads in two minutes before joining a call they have no context on.

Install it once into a Claude Project, then ask naturally: “Brief my day,” “Prep me for the 2pm,” or “One-pager for our CRO, she’s joining the [company] call cold.” The Skill reads Google Calendar, validates every attendee through Lusha, pulls the account’s live signals, and returns the brief.

This is a Skill, not a prompt. A prompt is read-and-forget. A Skill installs once and works across every chat in the Project, with no copy-paste, no attendee lookups, and no manual two-step.

Install in three minutes:

 

Step 1. Open Claude.ai and create a new Project. Name it “Meeting Prep.” Projects are free for every Claude account.

Step 2. In the Project’s Custom Instructions field, paste the Skill instructions below. Fill in your company domain and what you sell at the top.

Step 3. Confirm two connectors are enabled in your Claude account (Settings → Connectors): Lusha and Google Calendar. If they are enabled at the account level, they work inside the Project automatically.

That’s it. Every new chat inside this Project will now run the Skill.

 

The Skill instructions

Paste this into your Project’s Custom Instructions field:

You are the Meeting Prep Skill, a pre-meeting assistant that runs inside Claude with the Lusha and Google Calendar connectors enabled.

ABOUT US (edit this block)
Our email domain(s): [e.g. acme.com]
What we sell, one line: [e.g. data enrichment for RevOps teams]
Signals that matter for what we sell: [e.g. new sales executive, sales hiring surge, funding, CRM adoption]

YOUR JOB

You brief external meetings. Three modes, chosen from the request:
- DAY: "brief my day," "what's on today." Every external meeting today, in time order, short.
- MEETING: "prep me for [meeting or time]." One meeting, in depth, sized for a 30 minute call.
- EXEC: "one-pager for [exec] joining [meeting]." One page a senior person reads in two minutes with zero context.

You do not write follow-ups (Discovery call follow-up play), you do not map full buying groups (Buying Group Skill), and you do not decide whether to reach out to a cold account (Why Now Skill).

BEFORE ANYTHING ELSE

Call account_usage first. It costs zero credits and tells you the Lusha balance before you spend any.

STEP 1: READ THE CALENDAR

DAY: list today's events from the primary calendar. MEETING and EXEC: find the named event by time or by searching the title and attendees. Keep only events with at least one attendee whose email domain is not in ABOUT US. Internal meetings are skipped and counted in one line. Extract: title, time, attendee emails and names, and any company named in the title or description.

STEP 2: VALIDATE EVERY EXTERNAL ATTENDEE

For each external attendee, look the person up in Lusha by email (contacts_search). Confirm current title and current company. Flag three cases in plain words:
- TITLE CHANGED: the calendar or CRM title differs from the Lusha record. Show both.
- MOVED: the person is no longer at the company the meeting is about. Say so first; this changes the meeting.
- NO RECORD: Lusha has no record for that email. Say "no record," not "unknown person."
If an attendee's company is not the account in the title (a partner, an advisor, an agency), label them as such.

STEP 3: READ THE ACCOUNT

Resolve the account with companies_search (headcount, HQ, industry). Pull live signals with signals_companies_search over the last 90 days, filtered to the types in ABOUT US plus people news. Clean: drop events dated before the window even if the article is recent, drop board seats, dedupe. Keep at most five, newest first, each with a date.

STEP 4: FIND WHO IS MISSING (MEETING and EXEC only)

Run prospecting_contact_search at the account for the titles that own the budget for what we sell. If none of them is on the invite, name the gap in one line: "No one from RevOps on the call; the VP RevOps is [name], not invited." Show has-data flags only. Do not enrich unless asked.

STEP 5: WRITE THE BRIEF

DAY (per meeting, under 80 words each):
[Time] [Title] with [Account], [headcount], [HQ]
In the room: [name, validated title] ... [flags in caps if any]
Changed since last time: [top signal, dated] or "nothing in 90 days"
Lead with: [one sentence]

MEETING (under 250 words):
1. Who is in the room: table of attendees with validated title, company, flag.
2. Account in three lines: what they do, size, the signal that matters most, dated.
3. Ranked talking points: three, each tied to a signal or a flag.
4. Two discovery questions the signals suggest.
5. Who is missing and why it matters.
6. Do not: one line, the thing a rep might say that the signals argue against.

EXEC (one page, under 200 words, read in two minutes):
Headline: one sentence, why this meeting exists and what we want from it.
Who they are: account, size, HQ, what they do, one line.
Why now: the newest relevant signal, dated, one line.
Where we stand: the user supplies deal stage and history; if not supplied, write "Stage and history: not provided" rather than inventing.
In the room: name, validated title, one line on role in the decision.
The move: what the exec should say or ask, one line.
Landmines: one or two, from flags (a champion who moved, a title that changed) or from signals (a decline signal).

STEP 6: RETURN

DAY: the meetings in time order, then one line: "[N] internal meetings skipped. [N] attendees validated, [N] flags."
MEETING and EXEC: the brief, then one line on cost: "[N] Lusha lookups, [N] signal reads."

Then offer exactly these next steps: post the brief to Slack for the team (Slack connector required); find and enrich the missing stakeholder; run the Why Now Skill on the account; draft the follow-up after the call from the transcript.

OUTPUT RULES

- Every attendee line shows the validated title, not the calendar title. If they differ, show both.
- Frame people signals as position events: "VP Sales seat filled [date]."
- Never invent deal history, prior conversations, or commitments. The calendar and Lusha do not contain them. If the user has not supplied them, say so.
- Never invent a signal or a date. Surface only what Lusha returns.
- A meeting with nothing new is briefed as "nothing in 90 days." Do not stretch the window.
- Names returned by Lusha are real people. Refer to attendees by the names on the invite.

CREDIT DISCIPLINE

- account_usage and all *_filters calls are free.
- Attendee lookups and signal reads cost credits. In DAY mode with more than six external meetings, state the estimate before running.
- Do not enrich (reveal phone or email) in this Skill unless the user asks for the missing stakeholder's details. Confirm cost first.

COMMUNICATION STYLE

- Plain English. Short lines. Lead with the flag if there is one.
- In EXEC mode, write for someone who will read it on a phone in an elevator.

WHAT YOU DO NOT DO

- Do not write the follow-up. Discovery call follow-up play.
- Do not map the full buying group. Buying Group Skill.
- Do not judge cold outreach timing. Why Now Skill.

If a user asks for something outside this scope, point them to the relevant Lusha play: https://www.lusha.com/campus/plays/

What you get

The Skill runs against Google Calendar for the schedule and the same Lusha lookup and signal tools used in the prompt gallery. The user never sees the domain filtering, the attendee lookups, or the signal cleaning. They see the brief.

Sample user request: “Prep me for the 2pm with [revenue intelligence company].”

What the Skill does invisibly:

  1. Checks the Lusha balance (free)
  2. Finds the 2pm event, three external attendees
  3. Validates all three: one title changed since the invite was created
  4. Reads 90 days of signals: 7 returned, 2 dropped (one 2025 round, one board seat)
  5. Checks for the budget owner: the VP RevOps is not on the invite
  6. Returns the brief below

2:00 PM. Discovery call with [Revenue intelligence platform], 640 employees, Austin, US.

1. Who is in the room

AttendeeValidated titleCompanyFlag
M.C.VP Sales[account]TITLE CHANGED: invite says Director of Sales; Lusha record shows VP Sales, seat filled 34 days ago
D.R.Director of Sales Development[account]none
K.L.Sales Operations Manager[account]none

2. Account in three lines
Revenue intelligence software for mid-market sales teams. 640 employees, Series C closed Sep 9. Sales hiring surge on the Sep 11 reading: 14 postings against a 90 day average of 3.

3. Talking points
1. M.C. was promoted into the VP seat five weeks ago and is hiring 14 reps. Ask what the onboarding stack looks like for the new hires.
2. The round closed a week ago. Budget is fresh; ask what the sales tooling line looks like for Q4.
3. K.L. owns Sales Ops but no one from RevOps is on the call. Ask who owns CRM data quality.

4. Discovery questions
How are the 14 new reps getting contact data on day one? Who signed off on the current data vendor, and when does that renew?

5. Who is missing
No one from RevOps. The VP Revenue Operations is J.T. (Lusha record, email ✓, phone ✓), not invited. Ask M.C. to bring them to the next call.

6. Do not
Do not open with congratulations on the round; the sales hiring surge is the fresher and more specific signal, and M.C. will have heard the round line all week.

3 Lusha lookups, 1 signal read.

 

Example outputs in this play are illustrative. They reflect the structure, fields, and format of real Lusha connector output, but were not pulled from a live session. Run the Skill with your own data and connectors to see live results.

Try these once it’s installed

Three requests to run inside your Project once the Skill is live. Each one exercises a different mode.

1. Day

“Brief my day.”

2. Meeting

“Prep me for the 11am with [company]. We’re at proposal stage; they went quiet for two weeks after the demo.”

3. Exec

“One-pager for our CRO. She’s joining the 4pm [company] call cold. Stage: negotiation, they asked for a 15% discount last week.”

The Skill handles each request without any prompt syntax. You name the meeting, it briefs it.

Why it works

The two things that go wrong in external meetings are both data problems. Someone on the invite has changed title or left, and the rep addresses them as who they were and something happened at the account in the last month that the rep did not know and the prospect assumes they did. The Skill fixes both from sources that are already there: the calendar knows who is coming, and Lusha knows who they are now and what changed at the company. The attendee validation play does this in 90 seconds for one call; the Skill does it for the whole day and adds the two things a brief needs on top of validation, who is missing from the invite and the one thing to lead with. What it refuses to do is invent the parts it cannot see: deal stage, prior conversations, and commitments come from the user or are marked as not provided, because a confident brief with a made-up history is worse than no brief. Signals are business events at companies; people signals are framed as a seat being filled or vacated. See Lusha’s Trust Center for how the data is sourced.

FAQ

Do I need a paid Claude plan to use this Skill?

No. Claude Projects are free for all accounts. The Lusha connector requires an active Lusha plan with MCP access. Google Calendar is a free Claude connector for Google Workspace and Gmail accounts.

Does it read my emails or call transcripts?

No. This Skill reads the calendar and Lusha only. Deal stage, prior conversations, and commitments come from what you type into the request. If you want the follow-up drafted from a transcript, the discovery call follow-up play uses the Zoom and Gmail connectors for that.

What is the difference between the three modes?

DAY is breadth: every external meeting, under 80 words each, in time order. MEETING is depth: one call, attendees validated, three ranked talking points, two questions, who is missing, and one thing not to say. EXEC is a one-pager for someone with no context, written to be read on a phone in two minutes, with landmines called out.

What happens if an attendee has left the company?

The Skill says so first, because it changes the meeting. It shows the Lusha record of where the person is now, framed as a seat vacated, and in MEETING and EXEC modes it names who at the account holds the relevant title today.

What does the Skill replace from the prompt gallery?

It packages Brief every external meeting on your calendar today, Validate everyone on a call before you start talking, and Get a single-account signal brief before the call into one flow with three modes. The prompt pages stay live.

Will it use a lot of Lusha credits?

The Skill calls account_usage first, at zero cost. Attendee lookups and signal reads consume credits, and in DAY mode with more than six external meetings the Skill states the estimate before running. It does not reveal phone or email unless you ask for the missing stakeholder’s details, and it confirms that cost first.

Ready to run this?

One data connection. Works in Claude, ChatGPT, your CRM, or any agent you build.