Sales Call Prep
SkillDev toolsPre-sales-call intelligence composite. Deep dives on the person AND their company before a sales call, then maps findings to your product to generate talking points, objection prep, and a call strategy. Goes beyond generic attendee research, this is sales-specific intelligence that helps SDRs, AEs, and founders walk into calls with a plan. Tool-agnostic, works with any CRM, research source, and calendar.
Use Sales Call Prep in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Sales Call Prep and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Sales Call Prep skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by gooseworks-ai/goose-skills in skills/sales/composites/sales-call-prep/SKILL.md and read by Ahel’s review.
The pre-call intelligence report that turns a 50/50 sales call into an 80/20 one. Researches the company (with a sales lens — not Wikipedia facts, but buying signals, pain indicators, competitive landscape, and budget context), researches the person (not just their bio, but their authority level, priorities, likely objections, and what they care about), then maps everything to your product to generate a specific call strategy.
What makes this different from meeting-brief:
| Dimension | meeting-brief | sales-call-prep |
|---|---|---|
| Focus | Who is this person? | How do I sell to this person? |
| Company research | Basic overview | Sales-lens: pain signals, budget indicators, competitive stack, decision process |
| Person research | LinkedIn + GitHub + news | Authority mapping, buying style, priorities, likely objections |
| Product connection | None | Maps your product's value to their specific situation |
| Output | Background brief | Call strategy with talk track, questions, and objection prep |
| Audience | Anyone with a meeting | SDR, AE, founder walking into a sales call |
When to Auto-Load
Load this composite when:
- User says "prep me for my sales call", "call prep for [company]", "research [person] before our demo"
- User says "I have a call with [person] at [company] tomorrow", "meeting prep for a prospect"
- User has an upcoming meeting with a prospect (not an internal meeting, not a customer check-in)
- An upstream workflow (meeting lifecycle, daily BDR rhythm) triggers call prep for sales meetings
Step 0: Configuration (One-Time Setup)
On first run, collect and store these preferences. Skip on subsequent runs.
Your Product Context
| Question | Purpose | Stored As |
|---|---|---|
| What does your company do? (2-3 sentences) | Frame product-to-prospect mapping | company_description |
| What problem do you solve? | Identify if the prospect has this problem | pain_point |
| Who is your ideal buyer? (title, department) | Map to the person on the call | ideal_buyer |
| What are your top 3 proof points? (customer, metric, result) | Arm the seller with specific evidence | proof_points |
| What are the top 5 objections you hear? And how do you handle each? | Pre-load objection handling | common_objections |
| What competitors do you run into? And what's your positioning against each? | Competitive prep | competitors |
| What's your pricing model? (ballpark) | Budget qualification context | pricing_model |
| What does your typical sales process look like? (stages, timeline) | Calibrate call objectives by stage | sales_process |
| What discovery questions do you typically ask? | Augment with prospect-specific questions | discovery_questions |
Data Source Config
| Question | Options | Stored As |
|---|---|---|
| Where do you track deals? | Salesforce / HubSpot / Pipedrive / Close / Supabase / None | crm_tool |
| Where do you track outreach? | Smartlead / Instantly / Outreach / None | outreach_tool |
Store config in the current working directory or wherever the user prefers.
Step 1: Gather Context
Purpose: Understand what this meeting is, who's attending, and what stage the deal is at. Pull any existing data from CRM/outreach history.
Input Contract
meeting_input: {
# Option A: Calendar-driven (meeting already scheduled)
calendar_event: {
title: string
date: string
time: string
attendees: [ { name: string, email: string } ]
description: string | null
meeting_link: string | null
}
# Option B: Manual input (user tells you who the call is with)
manual: {
person_name: string
person_title: string | null
person_email: string | null
person_linkedin: string | null
company_name: string
company_domain: string | null
meeting_type: string | null # "discovery", "demo", "follow-up", "negotiation", etc.
notes: string | null # Any context the user provides
}
}
Process
-
Identify the prospect(s) from calendar or manual input. Filter out internal team members.
-
Check ALL prior interaction sources (critical — do this before any web research):
The goal is to reconstruct a complete interaction timeline before the call. Walking into a meeting without knowing you've already emailed someone, had a deal in pipeline, or that a teammate talked to their colleague is a credibility killer. Check every available source.
A) CRM Records (Attio, Salesforce, HubSpot, Pipedrive, etc.)
Check for BOTH the person AND their company. Pull:
What to Check What to Pull Why It Matters Company record Does the company exist in your CRM? What lists is it on? Shows if they're already a prospect, customer, or cold Contact record Does THIS person exist? Are there other contacts at the company? Tells you if a colleague already engaged with you Active deals Any open deal for this company? Stage, value, owner, age? You might already be mid-cycle with them — don't restart the conversation Closed deals Any won or lost deals? If lost, what was the reason? Lost deals = you know their objections. Won deals = upsell conversation. Deal notes Notes from previous calls, meetings, or interactions Read every note — they contain gold for personalization Deal history Stage changes, timeline, velocity Shows how fast (or slow) they move Other contacts at company Names, titles, roles of other people you've talked to Reference them: "I was speaking with [colleague] about..." Comments / activities Any logged calls, emails, tasks, or comments on their record May contain context that didn't make it into deal notes B) Outreach / Sequencing Tool (SmartLead, Instantly, Outreach, Lemlist, etc.)
Search by email AND by name. Pull:
What to Check What to Pull Why It Matters Campaign membership Were they in a campaign? Which one? When? You already reached out — don't pretend this is a cold intro Emails sent Exact subject lines and email bodies you sent them Know what you said so you don't repeat yourself or contradict it Their reply Did they reply? What did they say? Full reply text. Their exact words are the best conversation opener: "You mentioned X..." Lead category Interested / Not interested / Out of office / Bounced / etc. If they were marked "interested," you know their temperature Trigger signal What signal sourced this outreach? (hiring, funding, leadership change) Reference the original signal: "When we first reached out, it was because [signal]..." Sequence position Which email in the sequence did they respond to (or stop at)? Tells you what messaging resonated vs. fell flat Email account used Which sender mailbox was used? Know which "version of you" they interacted with C) Other Interaction Sources
Check any additional places where prior contact may have occurred:
Source What to Check Client notes file Any existing notes — may reference past conversations, call summaries, or decisions Previous content/outputs Past call preps, outreach drafts, or research that included this person or company Calendar Previous meetings with this person or company LinkedIn messages Direct messages or InMail exchanges (ask user if they recall any) Referral context How did this meeting come about? Warm intro from whom? Ask user. Shared Slack/email threads Any back-channel conversations about this prospect D) Compile Interaction Timeline
After checking all sources, build a chronological timeline of every touchpoint:
interaction_timeline: [ { date: "2026-01-15", type: "outreach_sent", detail: "Email 1 of hiring-signal campaign. Subject: 'The new CCO mandate'" }, { date: "2026-01-18", type: "reply_received", detail: "Replied: 'Interesting, let's chat next month'" }, { date: "2026-02-01", type: "deal_created", detail: "Deal created in Attio. Stage: Meeting booked. Value: $36K" }, { date: "2026-02-10", type: "call_completed", detail: "Discovery call. Notes: 'Interested in outbound automation, evaluating Clay'" }, { date: "2026-02-10", type: "deal_stage_change", detail: "Stage moved to Evaluation" }, ]This timeline goes directly into the 30-Second Brief and Call Strategy. If you have prior interactions, the call type, opening line, and discovery questions all change:
Prior Interaction How It Changes the Call No prior interaction True cold discovery — qualify from scratch Outreach sent, no reply Warm-ish — they've seen your name. Reference the email: "I sent you a note about X a few weeks ago..." Outreach sent, they replied positively Warm — pick up where the conversation left off. Don't re-pitch. Outreach sent, they replied negatively Handle carefully — they already said no. Understand why before re-engaging. Active deal in CRM You're mid-cycle — this is a follow-up, not a discovery call. Read all notes. Lost deal in CRM Re-engagement — acknowledge the history: "I know we talked back in [month] and the timing wasn't right..." Colleague already engaged Multi-thread — reference the colleague: "I've been working with [name] on..." -
Determine call type and objective:
Call Type How to Detect Default Objective Cold discovery No prior deal, first meeting Qualify: Do they have the problem? Budget? Authority? Timeline? Warm discovery They replied to outreach positively Qualify + build rapport. They already showed interest — figure out why. Demo Post-qualification, scheduled demo Show value. Map product to their specific pain. Get next step. Follow-up Post-demo, they're evaluating Handle objections. Introduce new proof. Advance to proposal. Negotiation Proposal sent, discussing terms Close. Handle final objections. Align on timeline and terms. Champion call Internal champion, not decision maker Arm the champion. Give them ammunition to sell internally. Executive meeting VP+ or C-suite involved Be strategic, not tactical. ROI and vision, not features.
Output Contract
meeting_context: {
call_type: string
call_objective: string
prospect: {
name: string
title: string | null
email: string | null
linkedin_url: string | null
company: string
company_domain: string | null
}
prior_interactions: {
has_prior_contact: boolean # Critical flag — changes the entire call approach
interaction_timeline: [ # Chronological list of all touchpoints
{
date: string
type: "outreach_sent" | "reply_received" | "deal_created" | "deal_stage_change" |
"call_completed" | "note_added" | "linkedin_message" | "referral" | "other"
source: "crm" | "outreach_tool" | "email" | "linkedin" | "notes" | "calendar" | "other"
detail: string # What happened, in one sentence
}
]
crm_context: {
company_record_exists: boolean
contact_record_exists: boolean
active_deal: {
stage: string
age_days: integer
amount: number | null
owner: string | null
notes: string[]
} | null
closed_deals: [ { outcome: "won" | "lost", amount: number, reason: string | null } ]
other_contacts: [ { name: string, title: string } ]
comments_and_activities: string[]
} | null
outreach_context: {
campaign_name: string | null
campaign_status: string | null
emails_sent: integer
emails_sent_detail: [ { seq_number: integer, subject: string, date: string } ]
their_reply: string | null # Full reply text
reply_date: string | null
lead_category: string | null # Interested, Not Interested, etc.
trigger_signal: string | null # What signal sourced the outreach
} | null
other_context: {
client_notes_mentions: string[] # Relevant mentions from notes.md
previous_outputs: string[] # Previous call preps, research, etc.
referral_source: string | null # How this meeting came about
} | null
}
additional_attendees: [ { name: string, title: string } ] | null
}
Step 2: Company Deep Dive
Purpose: Research the prospect's company with a sales lens. Not a Wikipedia summary — focus on signals that indicate need, budget, urgency, and competitive landscape.
Input Contract
prospect: { company, company_domain, ... } # From Step 1
your_company: { ... } # From config
Process
Research across seven dimensions. Use web search (always available) as the primary tool.
A) Company Overview (Quick Context)
| What to Find | Where to Look | Why It Matters for the Call |
|---|---|---|
| What they do (1-2 sentences) | Website, Crunchbase, LinkedIn | Sets the context for everything else |
| Industry / vertical | Website | Determines which proof points to use |
| Company size (employees) | LinkedIn, Crunchbase | Maps to pricing tier and complexity |
| HQ location | Website | Timezone, regional context |
| Founded year | Crunchbase | Maturity indicator |
| Business model (B2B/B2C/marketplace) | Website | Affects how they think about tools |
B) Financial & Growth Signals
| What to Find | Where to Look | Why It Matters for the Call |
|---|---|---|
| Funding history | Crunchbase, web search | Indicates budget availability and growth stage |
| Last funding date + amount | Crunchbase, press releases | Recent raise = fresh budget, evaluating vendors |
| Revenue estimate (if public or disclosed) | Press, SEC filings, web search | Budget calibration |
| Growth trajectory (hiring velocity, office expansion) | LinkedIn, job boards | Growing = buying. Flat/contracting = harder sell. |
| Recent layoffs | Web search, news | Budget pressure — position as cost-saving, not cost-adding |
C) Pain & Need Indicators
| What to Find | Where to Look | Why It Matters for the Call |
|---|---|---|
| Job postings related to your product's domain | LinkedIn Jobs, Indeed | Hiring for the role = they have the problem you solve |
| Complaints/challenges on social media | LinkedIn posts, Twitter, Reddit | Direct evidence of pain you can reference |
| Industry-specific challenges | Industry reports, web search | Common pain points they're likely facing |
| Recent company news that implies need | Press, blog, LinkedIn | Expansion, new product, compliance change = new needs |
| Product reviews of their product (if applicable) | G2, Capterra, app stores | Their customers' complaints may point to needs your product addresses |
D) Technology & Competitive Stack
| What to Find | Where to Look | Why It Matters for the Call |
|---|---|---|
| Current tools in your category | Job postings (mentioning tools), website source, BuiltWith | Know what you're displacing or complementing |
| Competitor's product in use? | Web search, job postings, LinkedIn mentions | Prepare competitive positioning |
| Tech stack (relevant parts) | Job postings, website | Integration opportunities or blockers |
| Vendor evaluation signals | G2 comparisons, LinkedIn research posts | Actively shopping = high intent |
E) Decision-Making Landscape
| What to Find | Where to Look | Why It Matters for the Call |
|---|---|---|
| Organizational structure | LinkedIn, website team page | Who else is involved in the decision? |
| Other stakeholders (above/below the prospect) | Who do they report to? Who reports to them? | |
| Recent leadership changes | LinkedIn, web search | New leader = re-evaluating stack |
| Company culture signals | Glassdoor, careers page, LinkedIn | Fast-moving vs. bureaucratic affects sales cycle |
| Procurement style | Company size indicator | SMB = founder decides. Enterprise = procurement process. |
F) Relationship Mapping
| What to Find | Where to Look | Why It Matters for the Call |
|---|---|---|
| Mutual connections | Warm intro potential, reference-ability | |
| Past interactions with your company | CRM, outreach history | Don't repeat what they already know |
| Customer of a partner? | Partner records | Potential warm angle |
| In your existing customer's network? | LinkedIn, web search | "Your peer [company] uses us" |
G) Recent Company News (Last 90 Days)
| What to Find | Where to Look | Why It Matters for the Call |
|---|---|---|
| Product launches | Blog, press | New products = new ops challenges |
| Partnerships announced | Press, LinkedIn | New partnerships = integration needs |
| Awards / recognition | Web search | Compliment material, shows what they're proud of |
| Controversies / issues | Web search | Landmines to avoid |
| Earnings / performance | Press, SEC | Business health indicator |
Output Contract
company_research: {
overview: {
name: string
description: string
industry: string
employee_count: string
location: string
founded: string
business_model: string
}
financial: {
funding_total: string | null
last_round: { amount: string, stage: string, date: string } | null
revenue_estimate: string | null
growth_signal: "growing" | "stable" | "contracting" | "unknown"
}
pain_indicators: [
{ signal: string, source: string, relevance_to_product: string }
]
tech_stack: {
known_tools: string[]
competitor_in_use: string | null
integration_opportunities: string[]
}
decision_landscape: {
decision_maker_likely: string # Title of likely decision maker
other_stakeholders: string[]
procurement_style: "founder_led" | "committee" | "procurement" | "unknown"
estimated_sales_cycle: string
}
recent_news: [
{ headline: string, date: string, relevance: string }
]
relationship_map: {
mutual_connections: string[]
peer_customers: string[] # Your customers in their network
past_interactions: string | null
}
}
Step 3: Person Deep Dive
Purpose: Research the specific person on the call. Not just their bio — understand their authority, priorities, communication style, and likely concerns.
Input Contract
prospect: { name, title, email, linkedin_url, company } # From Step 1
company_research: { ... } # From Step 2
your_company: { ... } # From config
Process
A) Professional Profile
| What to Find | Where to Look | Why It Matters |
|---|---|---|
| Current title + department | Authority level, budget ownership | |
| Time in current role | <6 months = new, evaluating stack. 2+ years = established, harder to displace incumbent | |
| Career trajectory | LinkedIn experience | Moving up fast = ambitious, wants tools to accelerate. Lateral = stable, risk-averse. |
| Previous companies | Industry experience, tools they've used before | |
| Education | Conversation starter, common ground | |
| Skills / endorsements | Technical vs. business orientation |
B) Authority & Buying Power Assessment
| Factor | How to Assess | Implication |
|---|---|---|
| Title level | VP+ = likely has budget. Director = may have budget. Manager = influencer, not buyer. IC = user/champion. | Determines whether to talk ROI (buyer) or workflow (user) |
| Department | Does their department buy your product? | If they're in engineering and you sell to sales, they might be evaluating for someone else |
| Reports to whom | LinkedIn org structure | The person above them is likely the decision maker if they're not |
| Team size | LinkedIn, company page | Larger team = more at stake, bigger deal potential |
| Budget indicators | Title + company size + funding | "Does this person plausibly control the budget for our product?" |
Authority classification:
| Level | Who | How to Sell |
|---|---|---|
| Economic buyer | VP+, C-suite, founder | Talk ROI, strategic value, competitive advantage. Don't demo features. |
| Technical buyer | Director, senior manager, tech lead | Talk capabilities, integrations, implementation. Demo the product. |
| Champion | Manager, senior IC | Talk workflow improvement, daily life impact. Help them build the internal case. |
| User | IC, operator | Talk ease of use, time savings, learning curve. Get them excited to use it. |
| Evaluator | Analyst, consultant | Talk data, comparisons, proof points. Be thorough and transparent. |
C) What They Care About
| What to Find | Where to Look | Why It Matters |
|---|---|---|
| Recent LinkedIn posts | LinkedIn activity | What are they thinking about? What problems are they voicing? |
| Articles they've shared | LinkedIn shares | What topics interest them? |
| Comments they've made | LinkedIn engagement | What opinions do they hold? |
| Conference talks / webinars | Web search, YouTube | What are they publicly expert in? |
| Published content (blog, podcast) | Web search | Deep insight into their thinking |
D) Communication Style Signals
| Signal | How to Detect | How to Adapt |
|---|---|---|
| Data-driven | Posts include numbers, references studies, shares reports | Lead with metrics and ROI. Bring a business case. |
| Visionary | Posts about trends, future of industry, big ideas | Lead with vision and strategic impact. Don't get stuck in details. |
| Operational | Posts about process, efficiency, team management | Lead with workflow improvement and implementation ease. |
| Skeptical | Posts questioning tools/trends, contrarian takes | Anticipate tough questions. Lead with proof, not claims. |
| Relationship-oriented | Posts about people, culture, team wins | Spend time on rapport. Don't rush to the pitch. |
E) Likely Objections (Predicted)
Based on their profile, company situation, and your common objections:
| Their Situation | Likely Objection | Pre-Load |
|---|---|---|
| Using a competitor | "We already have [tool]" | Prepare competitive positioning, switching cost analysis |
| Recently hired | "I'm still getting up to speed" | Position as "quick win for your first 90 days" |
| Small team / early stage | "We can't afford this right now" | Prepare ROI framing, start small options |
| Large enterprise | "Our procurement process takes 6 months" | Prepare for a longer cycle, ask about process early |
| Technical role | "Does it integrate with [our stack]?" | Prepare integration story |
| Recently burned by a vendor | "We tried something like this before" | Prepare "what's different" narrative |
Output Contract
Shortened here. Read the whole file on GitHub.
Signals
- GitHub stars
- 1k
- Forks
- 211
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
sales-call-prep- Source
- github.com/gooseworks-ai/goose-skills
github.com/gooseworks-ai/goose-skills
Related picks
Skill · alirezarezvani
The pick for LinkedInlinkedin-marketing
Skill · sergebulaev
The pick for LinkedIntwitter-thread-writer
Skill · affitor
The pick for X / Twittertwitter-automation
Skill · aiskillstore
The pick for X / Twitterslack-gif-creator
Skill · anthropics
The pick for Slackhive.slack-notifications-setup
Skill · aden-hive
The pick for Slack