Sales coaching

AI sales coach composite.

How to use it

  1. Hit Copy the whole skill.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit gooseworks-ai/goose-skills/skills/sales/composites/sales-coaching#main ~/.claude/skills/sales-coaching

For one project only, change the path to .claude/skills/sales-coaching.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text909 lines
sales-coaching/SKILL.md909 lines33.1 KBpushed 96d agoRawView on GitHub

Sales Coaching

An AI coach that studies everything you do in sales — your emails, your calls, your deals — finds the patterns in what works and what doesn't, and gives you specific, actionable coaching to get better.

This isn't generic sales advice ("always be closing"). It's coaching derived from YOUR data: your top-performing emails, your winning calls, your successful deal patterns, your most common objection fumbles, and your specific product's market.

What makes this different from sequence-performance:

Composite Focus Output
sequence-performance How is this campaign doing? Campaign metrics + copy diagnosis
sales-coaching How can THIS person sell better? Personal skill assessment + coaching plan

The other composite analyzes the work. This one coaches the worker.

When to Auto-Load

Load this composite when:

  • User says "how can I improve my sales", "coach me", "what am I doing wrong", "sales coaching", "help me sell better"
  • User says "review my selling style", "analyze my calls", "what patterns do you see in my sales"
  • User asks "why am I losing deals", "why aren't people responding", "what are my best emails doing differently"
  • After a bad quarter/month and the user wants to diagnose personal performance
  • As a periodic (monthly/quarterly) self-improvement exercise

Step 0: Configuration (One-Time Setup)

User Profile

Question Purpose Stored As
What is your role? Calibrate coaching level user_role
How long have you been in sales? Experience-appropriate advice experience_level
What do you sell? (product/service, 2-3 sentences) Context for all analysis product_description
What's your average deal size? Calibrate what matters avg_deal_size
What's your typical sales cycle? Calibrate velocity expectations sales_cycle_days
What do you think your biggest weakness is? Starting point for coaching self_assessed_weakness

Role options:

  • "sdr" — Focus on prospecting, outreach, qualification, meeting booking
  • "ae" — Focus on discovery, demos, negotiation, closing
  • "founder" — Focus on everything (wearing multiple hats)
  • "sales_leader" — Focus on team patterns, not just individual

Data Sources

Question Options Stored As
Where are your email campaigns? Smartlead / Instantly / Outreach / CSV email_tool
Where are your call recordings/transcripts? Gong / Chorus / Fireflies / Otter / local files / none call_tool
Where is your pipeline? Salesforce / HubSpot / Pipedrive / Close / Supabase crm_tool
Do you have call transcripts available? Yes (path or tool) / No transcripts_available
How far back should we analyze? 30 / 60 / 90 / 180 days analysis_window

Store config in the current working directory or wherever the user prefers.


Step 1: Collect Sales Data

Purpose: Pull all available sales data for analysis. The more data types available, the richer the coaching. But the system works with whatever is available.

Input Contract

data_sources: { ... }                 # From config
analysis_window: integer              # Days to look back
user_role: string                     # From config

Data Collection Matrix

Data Type What to Pull What It Reveals
Email campaigns All campaigns in window — copy, metrics, replies Writing quality, messaging effectiveness, personalization skill
Email replies Full reply text, classification Objection handling, how prospects respond to you
Call recordings/transcripts Full transcripts or recordings Talk-to-listen ratio, discovery skill, objection handling, closing technique
Pipeline deals All deals in window — stage, outcome, timeline Deal management, velocity, where deals stall or die
Meeting notes Post-call notes (if available) Follow-through, note-taking discipline
Calendar Meetings booked, held, no-shows Time management, meeting quality

Pull from each configured source:

Email Data

email_data: {
  campaigns: [
    {
      name: string
      date_range: { start: string, end: string }
      sequence: [
        {
          touch: integer
          subject: string
          body: string
          sent: integer
          opens: integer
          replies: integer
        }
      ]
      replies: [
        {
          sender: string
          sender_title: string
          reply_text: string
          category: string            # positive, objection, not interested, etc.
          touch_triggered: integer
        }
      ]
    }
  ]
  total_campaigns: integer
  total_emails_sent: integer
  total_replies: integer
  overall_reply_rate: percentage
}

Call Data

call_data: {
  calls: [
    {
      date: string
      prospect_name: string
      prospect_company: string
      call_type: string               # discovery, demo, follow-up, negotiation
      duration_minutes: integer
      transcript: string | null       # Full transcript if available
      recording_url: string | null    # Recording link if available
      outcome: string                 # "next step agreed", "no next step", "closed won", "closed lost"
      notes: string | null            # Post-call notes
    }
  ]
  total_calls: integer
  avg_duration: float
  outcome_distribution: { ... }
}

Pipeline Data

pipeline_data: {
  deals: [
    {
      name: string
      company: string
      stage: string
      created_date: string
      close_date: string | null
      outcome: "open" | "won" | "lost"
      loss_reason: string | null
      amount: number | null
      days_in_pipeline: integer
      source: string | null           # How the deal originated
      touches_before_close: integer | null
    }
  ]
  total_deals: integer
  win_rate: percentage
  avg_cycle_days: float
  avg_deal_size: number | null
}

Output Contract

collected_data: {
  email_data: { ... } | null
  call_data: { ... } | null
  pipeline_data: { ... } | null
  data_richness: "full" | "partial" | "minimal"
  data_summary: string                # "Analyzing X campaigns, Y calls, Z deals over N days"
}

Human Checkpoint

## Data Collected

| Source | Available | Volume |
|--------|-----------|--------|
| Email campaigns | Yes | X campaigns, Y emails sent, Z replies |
| Call transcripts | Yes/No | X calls, Y hours |
| Pipeline deals | Yes | X deals (W won, L lost, O open) |

Analysis window: [start] to [end]
Data richness: [full/partial/minimal]

Proceed with analysis? (Y/n)

Step 2: Analyze Email Performance Patterns

Purpose: Go beyond campaign-level metrics. Find patterns in what makes YOUR best emails work and YOUR worst emails fail. Pure LLM reasoning.

Process

A) Identify Top-Performing Emails

Across all campaigns, find:

  • Highest reply-rate subject lines — What do they have in common?
  • Highest reply-rate email bodies — What patterns exist?
  • Emails that generated positive replies — What specifically triggered interest?
  • Emails that generated meetings — The gold standard. What did these say?

For each top performer, extract:

Pattern Element What to Look For
Subject line structure Signal-reference? Question? Peer-framing? Length?
Opening line Lead with them or with you? Signal reference? Question? Statement?
Body structure How many paragraphs? Proof point placement? Length?
Personalization depth Tier 1/2/3? What was personalized?
CTA type Specific ask? Open-ended? Time-bound?
Tone Casual? Professional? Provocative? Empathetic?
Framework used PAS? BAB? Signal-Proof-Ask? AIDA?
Proof point type Customer name? Metric? Case study?

B) Identify Worst-Performing Emails

Same analysis on the bottom performers:

  • What do low-reply emails have in common?
  • Are there anti-patterns? (Long emails, generic openers, weak CTAs, no proof)
  • Is there a consistent flaw across campaigns?

C) Compare Winners vs. Losers

Dimension Top 20% Emails Bottom 20% Emails Gap
Avg word count [X] [Y] [shorter/longer]
Subject line length [X chars] [Y chars] [delta]
Opens with "I" or "We" [X%] [Y%] [self-focused vs. prospect-focused]
Contains proof point [X%] [Y%] [proof usage gap]
Personalization tier [avg tier] [avg tier] [personalization gap]
CTA clarity [assessment] [assessment] [delta]
Has signal reference [X%] [Y%] [signal usage gap]

D) Objection Pattern Analysis

Across all replies classified as objections:

Analysis What It Reveals
Most common objection What you're running into most often
Objection by campaign/audience Is targeting driving objections?
How you handle each objection (from follow-up emails) Are your handles effective?
Objections that lead to meetings vs. dead ends Which objections are actually handleable?
Objection language patterns Exact words prospects use (copy these into your messaging)

E) Reply Sentiment Analysis

Category Count % Trend
Positive interest X Y% +/- vs. earlier campaigns
Warm / curious X Y%
Objection (handleable) X Y%
Objection (terminal) X Y%
Not interested X Y%
Auto-reply X Y%

Key question: Is the ratio of positive-to-negative replies improving over time? Are you getting better at writing emails that generate interest, or are you stagnating?

Output Contract

email_patterns: {
  top_performers: {
    common_patterns: string[]
    best_subject_lines: [ { subject: string, reply_rate: percentage, pattern: string } ]
    best_openers: [ { opener: string, campaign: string, why_it_works: string } ]
    winning_proof_points: string[]
    winning_ctas: string[]
    winning_tone: string
    winning_framework: string
  }

  bottom_performers: {
    common_anti_patterns: string[]
    worst_subject_lines: [ { subject: string, reply_rate: percentage, issue: string } ]
    common_mistakes: string[]
  }

  winner_vs_loser: {
    dimensions: [ { dimension: string, winners: string, losers: string, gap: string } ]
    biggest_differentiator: string
  }

  objection_patterns: {
    most_common: { objection: string, count: integer, handle_effectiveness: string }
    handleable_objections: [ { objection: string, best_handle: string, conversion_rate: string } ]
    terminal_objections: [ { objection: string, implication: string } ]
  }

  sentiment_trend: {
    direction: "improving" | "stable" | "declining"
    evidence: string
  }

  email_skill_grade: "A" | "B" | "C" | "D" | "F"
  email_skill_summary: string
}

Step 3: Analyze Call Performance Patterns

Purpose: If call transcripts or recordings are available, analyze how the user performs on calls. If no call data exists, skip this step.

Process

A) Structural Analysis (From Transcripts)

For each call transcript, measure:

Metric How to Calculate What It Reveals
Talk-to-listen ratio Word count (you) / word count (prospect) >60% talking = talking too much. Best reps are 40-50% talk.
Longest monologue Longest uninterrupted stretch by the seller >90 seconds = you're lecturing, not selling. Keep it under 60s.
Question count Number of questions asked Discovery calls should have 10-15 questions. <5 = not discovering.
Question depth Surface questions ("What do you do?") vs. deep ("What happens when that process breaks?") Deep questions = strong discovery. Surface = going through motions.
Filler word frequency Count of "um", "uh", "like", "you know", "basically", "honestly" High frequency = lack of confidence or preparation.
Call duration Total time Too short (<15 min for discovery) = not going deep enough. Too long (>45 min) = not controlling the call.

B) Discovery Quality Analysis

From call transcripts, evaluate:

Dimension What to Check Good vs. Bad
Pain discovery Did you uncover a real pain point? Good: Prospect describes pain in their own words. Bad: You told them what their pain should be.
Impact quantification Did you help them quantify the cost of the problem? Good: "So that's costing you roughly $X/month." Bad: Never quantified.
Decision process Did you ask who else is involved, timeline, budget? Good: Clear understanding of BANT. Bad: Left the call not knowing.
Current state Did you understand how they solve this today? Good: Know their current tool/process. Bad: No idea what they do now.
Compelling event Did you identify why now? Good: Know the trigger (new leader, funding, deadline). Bad: No urgency established.
Next step Did the call end with a clear, mutually agreed next step? Good: Specific date/time/action. Bad: "Let me think about it" or "I'll follow up."

C) Objection Handling on Calls

For each objection raised during calls:

Analysis What to Evaluate
Was the objection acknowledged? Good: "I hear you, that's a valid concern." Bad: Immediately countering or ignoring.
Was it explored? Good: "Tell me more about that." Bad: Jumped straight to handle.
Was the handle relevant? Good: Addressed their specific concern. Bad: Generic response.
Was proof provided? Good: "Company X had the same concern, here's what happened." Bad: "Trust me."
Did the conversation move forward? Good: Objection resolved, back on track. Bad: Call stalled or ended.

D) Demo / Presentation Analysis

If demo calls exist:

Dimension What to Check
Feature dumping Did you show every feature, or only what's relevant to their pain?
"So what?" test After showing a feature, did you connect it to their specific need?
Prospect engagement Did the prospect speak during the demo, or was it a monologue?
Customization Was the demo tailored to their use case, or generic?
Time on product vs. slides Were you showing the actual product, or presenting slides?

E) Winning vs. Losing Call Patterns

Compare calls that led to progression (next step, closed won) vs. calls that stalled or lost:

Dimension Winning Calls Losing Calls Gap
Talk-to-listen [ratio] [ratio]
Questions asked [count] [count]
Pain discovered [yes/no %] [yes/no %]
Next step agreed [%] [%]
Objections surfaced [count] [count]
Call duration [avg min] [avg min]

Output Contract

call_patterns: {
  structural: {
    avg_talk_ratio: percentage
    avg_longest_monologue_seconds: integer
    avg_questions_per_call: float
    filler_word_frequency: "low" | "moderate" | "high"
    common_fillers: string[]
    avg_call_duration: float
  }

  discovery_quality: {
    pain_discovery_rate: percentage    # % of calls where real pain was uncovered
    impact_quantification_rate: percentage
    decision_process_mapped_rate: percentage
    next_step_agreed_rate: percentage
    common_gaps: string[]             # What's consistently missed in discovery
  }

  objection_handling: {
    objections_per_call: float
    acknowledgment_rate: percentage   # % of times objection was properly acknowledged
    exploration_rate: percentage      # % of times the objection was explored before handling
    resolution_rate: percentage       # % of times the objection was successfully handled
    weakest_objection_type: string    # Which type of objection you handle worst
    best_objection_type: string       # Which type you handle best
  }

  demo_quality: {
    feature_dumping_detected: boolean
    prospect_engagement_level: "high" | "moderate" | "low"
    customization_level: "tailored" | "semi-generic" | "generic"
    common_demo_mistakes: string[]
  } | null

  winning_vs_losing: {
    key_differences: [ { dimension: string, winners: string, losers: string } ]
    biggest_predictor: string         # Single biggest differentiator between winning and losing calls
  }

  call_skill_grade: "A" | "B" | "C" | "D" | "F"
  call_skill_summary: string
} | null

Step 4: Analyze Deal Patterns

Purpose: Look at pipeline data to find patterns in deals you win vs. deals you lose. Pure computation + LLM reasoning.

Process

A) Win/Loss Pattern Analysis

Dimension What to Compare (Won vs. Lost)
Source channel Which channels produce deals that close?
Lead persona/title Which titles convert to closed deals?
Industry Which verticals are you winning in?
Company size What size companies do you close best?
Deal size Do larger deals win more or less often?
Sales cycle length Do faster deals win more?
Number of touches How many interactions before close?
Stakeholders involved Single-threaded vs. multi-threaded
Competitive situation Do you win more in competitive or non-competitive deals?

B) Velocity Analysis

Pattern What It Reveals
Stage where deals stall longest Your bottleneck — need to improve skill at this stage
Stage where most deals die Your kill zone — what's going wrong here?
Deals that closed fastest Your "sweet spot" — what do easy wins have in common?
Deals that dragged longest before winning What made these hard? Can you avoid or accelerate?

C) Activity-to-Outcome Correlation

Activity Correlation with Winning
More emails before first call Positive, negative, or no correlation?
Faster first response time Does speed matter?
Multi-channel (email + LinkedIn + call) Do multi-channel deals win more?
Number of stakeholders contacted Does multi-threading help?
Follow-up speed after calls Does fast follow-up predict wins?

Output Contract

deal_patterns: {
  win_profile: {
    best_source: string
    best_persona: string
    best_industry: string
    best_company_size: string
    avg_winning_cycle_days: float
    avg_touches_to_close: float
    common_traits: string[]
  }

  loss_profile: {
    top_loss_reason: string
    loss_stage: string                # Where deals die most
    common_loss_traits: string[]
    recoverable_losses: string        # "X% of lost deals were timing — could be re-engaged"
  }

  velocity: {
    bottleneck_stage: string
    kill_zone_stage: string
    sweet_spot: string                # Description of your easiest wins
  }

  activity_correlations: [
    { activity: string, correlation: "positive" | "negative" | "none", insight: string }
  ]

  deal_skill_grade: "A" | "B" | "C" | "D" | "F"
  deal_skill_summary: string
}

Step 5: Build Skill Assessment & Coaching Plan

Purpose: Synthesize email, call, and deal analysis into a personal sales skill assessment and a specific coaching plan. Pure LLM reasoning.

Input Contract

email_patterns: { ... }              # From Step 2
call_patterns: { ... } | null        # From Step 3 (if calls available)
deal_patterns: { ... }               # From Step 4
user_role: string                    # From config
experience_level: string             # From config
product_description: string          # From config
self_assessed_weakness: string       # From config

Skill Assessment Framework

Assess the user across sales skill dimensions relevant to their role:

SDR Skill Dimensions

Dimension Data Source What to Evaluate
Prospecting quality Email targeting → reply relevance Are you reaching the right people?
Email copywriting Email patterns analysis Are your emails compelling?
Personalization Email patterns analysis Do you go beyond merge fields?
Signal recognition Email campaign angles Are you using relevant signals?
Objection handling (written) Reply analysis, follow-up emails Do you handle objections well in email?
Qualification Pipeline data — qualified vs. unqualified meetings Are you booking quality meetings?
Follow-up discipline Campaign structure, timing, sequence length Do you follow up effectively?
Volume & consistency Activity metrics over time Are you doing enough, consistently?

AE Skill Dimensions

Dimension Data Source What to Evaluate
Discovery Call transcripts — questions asked, pain uncovered Do you uncover real pain?
Active listening Call transcripts — talk ratio, prospect engagement Do you listen more than talk?
Demo effectiveness Call transcripts — feature relevance, engagement Do you demo to their pain?
Objection handling (verbal) Call transcripts — objection resolution rate Do you handle pushback well?
Negotiation Deal data — discount patterns, close rates Do you protect value?
Deal management Pipeline data — velocity, stage progression Do you move deals forward?
Multi-threading Deal data — stakeholders contacted Do you go wide in accounts?
Closing Deal data — win rate, next step agreement Do you close confidently?

Founder Skill Dimensions

All SDR + AE dimensions, plus:

Dimension Data Source What to Evaluate
Storytelling Call transcripts, email copy Do you tell a compelling product story?
Market positioning Email angles, competitive mentions Do you position well against competition?
Adaptability Variation across campaigns and calls Do you adapt your approach to different prospects?

Scoring

For each dimension, assign a grade:

Grade Criteria
A Top quartile performance. Clear strength. Data supports excellence.
B Above average. Competent. Minor improvements possible.
C Average. Functional but not differentiating. Clear room to grow.
D Below average. Consistent issues visible in data. Needs focused work.
F Significant weakness. Data shows this is hurting results. Priority fix.

Coaching Plan

For each dimension graded C or below, produce:

Skill: [dimension name]
Current grade: [grade]
Evidence: [specific data points that drive the grade]
Root cause: [why this is happening — not just what, but why]

Coaching recommendation:
1. [Specific, actionable thing to do differently]
2. [Exercise or practice to build this skill]
3. [Example from their own data of when they did this well vs. poorly]

Model to follow:
[Pull from their own top-performing emails/calls as examples.
"Your email in Campaign X did this perfectly — replicate that approach."]

Measurable goal:
[Specific metric to track improvement. E.g., "Increase question count per
discovery call from 6 to 12 over the next 30 days."]

Personalized Playbook

Distill the user's winning patterns into a personal playbook:

## Your Winning Formula

Based on analyzing [X emails, Y calls, Z deals], here's what works for YOU:

### Your Best Email Pattern
Subject line style: [pattern]
Opening approach: [pattern]
Proof point that resonates: [specific proof]
CTA that converts: [specific CTA]
Ideal length: [word count]
Best framework: [framework]

Template (built from your own top performers):
> [Reconstructed template from their best emails]

### Your Best Call Pattern (if calls available)
Discovery approach: [how you open well]
Strongest questions: [questions that work for you]
Objection handle that works: [specific handle]
Demo style that converts: [approach]
Close technique: [how you get next steps]

### Your Win Profile
You close best when:
- The prospect is [title/seniority]
- The company is [size/industry]
- The deal came from [source]
- The cycle is [length]
- You [specific behavior that correlates with winning]

Output Contract

skill_assessment: {
  overall_grade: "A" | "B" | "C" | "D" | "F"
  overall_summary: string

  dimensions: [
    {
      name: string
      grade: string
      evidence: string[]
      strength_or_weakness: "strength" | "neutral" | "weakness"
    }
  ]

  top_strengths: [
    { skill: string, evidence: string, advice: string }  # "Keep doing this"
  ]

  top_weaknesses: [
    {
      skill: string
      grade: string
      evidence: string[]
      root_cause: string
      coaching: string[]
      model_from_own_data: string | null
      measurable_goal: string
    }
  ]

  personalized_playbook: {
    best_email_pattern: { ... }
    best_call_pattern: { ... } | null
    win_profile: string
    template_from_top_performers: string
  }

  self_assessment_validation: {
    user_said: string                 # Their self-assessed weakness
    data_says: string                 # What the data actually shows
    aligned: boolean                  # Do they match?
    surprise_finding: string | null   # Something they didn't know about themselves
  }
}

Step 6: Generate Coaching Report

Purpose: Produce the final coaching report — personal, actionable, and encouraging. Not a performance review. A coaching session.

Report Structure

# Sales Coaching Report — [User Name]
**Based on:** [X emails, Y calls, Z deals] over [analysis window]
**Role:** [SDR/AE/Founder]
**Product:** [what they sell]

---

## Your Sales Scorecard

| Skill | Grade | Trend | Notes |
|-------|-------|-------|-------|
| [skill 1] | [grade] | [improving/stable/declining] | [one-line note] |
| [skill 2] | [grade] | [trend] | [note] |
| ... |

**Overall:** [grade] — [one-sentence summary]

---

## What You're Great At

Your data shows clear strengths in these areas. Keep doing these things.

### 1. [Strength #1]
**Evidence:** [specific data — "Your Signal-Proof-Ask emails generate 2.3x the reply rate of your other emails"]
**Why it works:** [brief explanation]
**Advice:** [How to lean into this strength even more]

### 2. [Strength #2]
**Evidence:** [data]
**Why it works:** [explanation]

### 3. [Strength #3]
...

---

## Where to Improve

These are your highest-impact coaching areas. Focus on one at a time.

### Priority 1: [Biggest Weakness]
**Current grade:** [grade]
**Evidence:** [specific data points — not vague criticism, specific examples]
**Root cause:** [Why this is happening. E.g., "You're asking 4 questions per discovery call. The calls
where you asked 10+ had a 3x higher progression rate. You're not going deep enough on pain."]

**What to do differently:**
1. [Specific, actionable change]
2. [Practice exercise]
3. [Example from their own data: "In your call with [prospect] on [date], you DID do this well — here's the transcript excerpt. Replicate that approach."]

**Your own proof it works:**
> [Quote from their own top-performing email or call where they did this well]

**Goal:** [Measurable goal with timeframe]

### Priority 2: [Second Weakness]
[Same structure]

### Priority 3: [Third Weakness]
[Same structure]

---

## Your Winning Patterns (Personal Playbook)

These patterns come from YOUR best work — not a textbook.

### Your Best Email Template
[Reconstructed from their top-performing emails]

**Subject:** [pattern]
> [Reconstructed body using their winning patterns]

**Why this works for you:** [pattern analysis]

### Your Best Discovery Approach (if calls available)
[Distilled from their winning calls]

1. **Open with:** [how they open their best calls]
2. **Key questions to always ask:** [their best questions]
3. **When you hear [objection], say:** [their best objection handle]
4. **Close the call with:** [how they get next steps in winning calls]

### Your Win Profile
**You close best when:**
- Prospect is [title] at a [size] [industry] company
- Deal came from [source/channel]
- Cycle is [X] days
- You [specific winning behavior]

**You struggle when:**
- Prospect is [profile]
- Deal involves [situation]
- You [specific losing behavior]

---

## Surprise Finding

[Something the data reveals that the user probably doesn't know about themselves.
E.g., "You think your weakness is closing, but your data shows your close rate is
above average. Your actual bottleneck is discovery — you're booking meetings that
aren't qualified. Improving qualification would have 3x more impact than working
on closing technique."]

---

## 30-Day Coaching Plan

| Week | Focus | Exercise | Measurable Target |
|------|-------|----------|-------------------|
| Week 1 | [skill] | [specific exercise] | [metric to hit] |
| Week 2 | [skill] | [exercise] | [metric] |
| Week 3 | [skill] | [exercise] | [metric] |
| Week 4 | Review + adjust | Re-run this analysis | Compare grades |

---

## Check Back In

Run this coaching analysis again in 30 days to measure improvement.
Track these specific metrics:
1. [Metric 1 — current: X, target: Y]
2. [Metric 2 — current: X, target: Y]
3. [Metric 3 — current: X, target: Y]

Tone Guidance

This is a coaching session, not a performance review.

Do Don't
Celebrate strengths first Lead with weaknesses
Use their own data as examples Use generic advice
Be specific ("your reply rate on Signal-Proof-Ask emails is 2.3x higher") Be vague ("your emails could be better")
Provide exercises and practice Just say "improve"
Show them proof from their own work that they CAN do this Make it feel like they're failing
One priority at a time Overwhelm with 10 things to fix
Frame weaknesses as "highest-impact opportunity" Call them "failures"

Human Checkpoint

[Scorecard + top strengths + top weakness rendered]

---

Surprise finding: [the thing they didn't know]

Full coaching report includes:
- Detailed skill assessment across [X] dimensions
- Your winning email template (reconstructed from top performers)
- Your winning call pattern (if call data available)
- Your win profile (what deals you close best)
- 30-day coaching plan with weekly exercises
- Measurable goals to track improvement

View the full coaching report?

Execution Summary

Step Tool Dependency Human Checkpoint Typical Time
0. Config None First run only 5 min (once)
1. Collect Data Configurable (outreach tool, call tool, CRM) Verify data volume 2-3 min
2. Email Patterns None (LLM reasoning) None — feeds into assessment Automatic
3. Call Patterns None (LLM reasoning on transcripts) None — feeds into assessment Automatic
4. Deal Patterns None (computation + LLM reasoning) None — feeds into assessment Automatic
5. Skill Assessment None (LLM reasoning) None — feeds into report Automatic
6. Coaching Report None (LLM reasoning) Review report 10-15 min

Total human review time: ~15-20 minutes for coaching that would normally require an experienced sales manager reviewing weeks of activity.


Adapting to Data Availability

Available Data Analysis Depth Report Quality
Emails + calls + pipeline Full coaching across all dimensions Best
Emails + pipeline (no calls) Email skills + deal patterns. Call section skipped. Good
Emails only Email skills assessment. Deal and call sections skipped. Partial but still useful
Calls + pipeline (no email data) Call skills + deal patterns. Email section skipped. Good
Pipeline only Deal patterns only. Limited coaching but still reveals win/loss patterns. Minimal

Minimum viable: At least one of: email data, call data, or pipeline data.


Tips

  • Run monthly for continuous improvement. The coaching plan is designed in 30-day cycles. Re-run and compare grades.
  • The "surprise finding" is often the most valuable part. People's self-assessment of their sales weaknesses is wrong ~60% of the time. The data reveals the real bottleneck.
  • Top-performing email templates from your own data beat any template library. They've already been tested on your market with your product.
  • If call data is available, prioritize call coaching. Calls have more surface area for improvement than emails, and call improvements have a higher ROI per fix.
  • The personalized playbook should be saved and reused. It's a living document that evolves as the user's skills evolve.
  • Share the coaching report with a manager or mentor. It provides the data for a structured 1:1 coaching conversation.
  • Focus on ONE weakness at a time. The coaching plan prioritizes. Don't try to fix everything at once — that's how nothing gets fixed.
1---
2name: sales-coaching
3version: 1.0.0
4description: >
5 AI sales coach composite. Analyzes all available sales data — email campaigns,
6 call recordings/transcripts, reply patterns, pipeline outcomes — to identify
7 what the user does well, where they struggle, and how to improve. Finds
8 patterns in top-performing emails, winning call techniques, successful objection
9 handles, and deal progression. Produces personalized coaching recommendations
10 based on their specific product, market, and selling style. Tool-agnostic.
11tags: [research]
12---
13 
14# Sales Coaching
15 
16An AI coach that studies everything you do in sales — your emails, your calls, your deals — finds the patterns in what works and what doesn't, and gives you specific, actionable coaching to get better.
17 
18This isn't generic sales advice ("always be closing"). It's coaching derived from YOUR data: your top-performing emails, your winning calls, your successful deal patterns, your most common objection fumbles, and your specific product's market.
19 
20**What makes this different from `sequence-performance`:**
21 
22| Composite | Focus | Output |
23|-----------|-------|--------|
24| `sequence-performance` | How is this campaign doing? | Campaign metrics + copy diagnosis |
25| `sales-coaching` | How can THIS person sell better? | Personal skill assessment + coaching plan |
26 
27The other composite analyzes the work. This one coaches the worker.
28 
29## When to Auto-Load
30 
31Load this composite when:
32- User says "how can I improve my sales", "coach me", "what am I doing wrong", "sales coaching", "help me sell better"
33- User says "review my selling style", "analyze my calls", "what patterns do you see in my sales"
34- User asks "why am I losing deals", "why aren't people responding", "what are my best emails doing differently"
35- After a bad quarter/month and the user wants to diagnose personal performance
36- As a periodic (monthly/quarterly) self-improvement exercise
37 
38---
39 
40## Step 0: Configuration (One-Time Setup)
41 
42### User Profile
43 
44| Question | Purpose | Stored As |
45|----------|---------|-----------|
46| What is your role? | Calibrate coaching level | `user_role` |
47| How long have you been in sales? | Experience-appropriate advice | `experience_level` |
48| What do you sell? (product/service, 2-3 sentences) | Context for all analysis | `product_description` |
49| What's your average deal size? | Calibrate what matters | `avg_deal_size` |
50| What's your typical sales cycle? | Calibrate velocity expectations | `sales_cycle_days` |
51| What do you think your biggest weakness is? | Starting point for coaching | `self_assessed_weakness` |
52 
53**Role options:**
54- `"sdr"` — Focus on prospecting, outreach, qualification, meeting booking
55- `"ae"` — Focus on discovery, demos, negotiation, closing
56- `"founder"` — Focus on everything (wearing multiple hats)
57- `"sales_leader"` — Focus on team patterns, not just individual
58 
59### Data Sources
60 
61| Question | Options | Stored As |
62|----------|---------|-----------|
63| Where are your email campaigns? | Smartlead / Instantly / Outreach / CSV | `email_tool` |
64| Where are your call recordings/transcripts? | Gong / Chorus / Fireflies / Otter / local files / none | `call_tool` |
65| Where is your pipeline? | Salesforce / HubSpot / Pipedrive / Close / Supabase | `crm_tool` |
66| Do you have call transcripts available? | Yes (path or tool) / No | `transcripts_available` |
67| How far back should we analyze? | 30 / 60 / 90 / 180 days | `analysis_window` |
68 
69**Store config** in the current working directory or wherever the user prefers.
70 
71---
72 
73## Step 1: Collect Sales Data
74 
75**Purpose:** Pull all available sales data for analysis. The more data types available, the richer the coaching. But the system works with whatever is available.
76 
77### Input Contract
78 
79```
80data_sources: { ... } # From config
81analysis_window: integer # Days to look back
82user_role: string # From config
83```
84 
85### Data Collection Matrix
86 
87| Data Type | What to Pull | What It Reveals |
88|-----------|-------------|----------------|
89| **Email campaigns** | All campaigns in window — copy, metrics, replies | Writing quality, messaging effectiveness, personalization skill |
90| **Email replies** | Full reply text, classification | Objection handling, how prospects respond to you |
91| **Call recordings/transcripts** | Full transcripts or recordings | Talk-to-listen ratio, discovery skill, objection handling, closing technique |
92| **Pipeline deals** | All deals in window — stage, outcome, timeline | Deal management, velocity, where deals stall or die |
93| **Meeting notes** | Post-call notes (if available) | Follow-through, note-taking discipline |
94| **Calendar** | Meetings booked, held, no-shows | Time management, meeting quality |
95 
96**Pull from each configured source:**
97 
98#### Email Data
99```
100email_data: {
101 campaigns: [
102 {
103 name: string
104 date_range: { start: string, end: string }
105 sequence: [
106 {
107 touch: integer
108 subject: string
109 body: string
110 sent: integer
111 opens: integer
112 replies: integer
113 }
114 ]
115 replies: [
116 {
117 sender: string
118 sender_title: string
119 reply_text: string
120 category: string # positive, objection, not interested, etc.
121 touch_triggered: integer
122 }
123 ]
124 }
125 ]
126 total_campaigns: integer
127 total_emails_sent: integer
128 total_replies: integer
129 overall_reply_rate: percentage
130}
131```
132 
133#### Call Data
134```
135call_data: {
136 calls: [
137 {
138 date: string
139 prospect_name: string
140 prospect_company: string
141 call_type: string # discovery, demo, follow-up, negotiation
142 duration_minutes: integer
143 transcript: string | null # Full transcript if available
144 recording_url: string | null # Recording link if available
145 outcome: string # "next step agreed", "no next step", "closed won", "closed lost"
146 notes: string | null # Post-call notes
147 }
148 ]
149 total_calls: integer
150 avg_duration: float
151 outcome_distribution: { ... }
152}
153```
154 
155#### Pipeline Data
156```
157pipeline_data: {
158 deals: [
159 {
160 name: string
161 company: string
162 stage: string
163 created_date: string
164 close_date: string | null
165 outcome: "open" | "won" | "lost"
166 loss_reason: string | null
167 amount: number | null
168 days_in_pipeline: integer
169 source: string | null # How the deal originated
170 touches_before_close: integer | null
171 }
172 ]
173 total_deals: integer
174 win_rate: percentage
175 avg_cycle_days: float
176 avg_deal_size: number | null
177}
178```
179 
180### Output Contract
181 
182```
183collected_data: {
184 email_data: { ... } | null
185 call_data: { ... } | null
186 pipeline_data: { ... } | null
187 data_richness: "full" | "partial" | "minimal"
188 data_summary: string # "Analyzing X campaigns, Y calls, Z deals over N days"
189}
190```
191 
192### Human Checkpoint
193 
194```
195## Data Collected
196 
197| Source | Available | Volume |
198|--------|-----------|--------|
199| Email campaigns | Yes | X campaigns, Y emails sent, Z replies |
200| Call transcripts | Yes/No | X calls, Y hours |
201| Pipeline deals | Yes | X deals (W won, L lost, O open) |
202 
203Analysis window: [start] to [end]
204Data richness: [full/partial/minimal]
205 
206Proceed with analysis? (Y/n)
207```
208 
209---
210 
211## Step 2: Analyze Email Performance Patterns
212 
213**Purpose:** Go beyond campaign-level metrics. Find patterns in what makes YOUR best emails work and YOUR worst emails fail. Pure LLM reasoning.
214 
215### Process
216 
217#### A) Identify Top-Performing Emails
218 
219Across all campaigns, find:
220- **Highest reply-rate subject lines** — What do they have in common?
221- **Highest reply-rate email bodies** — What patterns exist?
222- **Emails that generated positive replies** — What specifically triggered interest?
223- **Emails that generated meetings** — The gold standard. What did these say?
224 
225For each top performer, extract:
226 
227| Pattern Element | What to Look For |
228|----------------|-----------------|
229| Subject line structure | Signal-reference? Question? Peer-framing? Length? |
230| Opening line | Lead with them or with you? Signal reference? Question? Statement? |
231| Body structure | How many paragraphs? Proof point placement? Length? |
232| Personalization depth | Tier 1/2/3? What was personalized? |
233| CTA type | Specific ask? Open-ended? Time-bound? |
234| Tone | Casual? Professional? Provocative? Empathetic? |
235| Framework used | PAS? BAB? Signal-Proof-Ask? AIDA? |
236| Proof point type | Customer name? Metric? Case study? |
237 
238#### B) Identify Worst-Performing Emails
239 
240Same analysis on the bottom performers:
241- What do low-reply emails have in common?
242- Are there anti-patterns? (Long emails, generic openers, weak CTAs, no proof)
243- Is there a consistent flaw across campaigns?
244 
245#### C) Compare Winners vs. Losers
246 
247| Dimension | Top 20% Emails | Bottom 20% Emails | Gap |
248|-----------|---------------|-------------------|-----|
249| Avg word count | [X] | [Y] | [shorter/longer] |
250| Subject line length | [X chars] | [Y chars] | [delta] |
251| Opens with "I" or "We" | [X%] | [Y%] | [self-focused vs. prospect-focused] |
252| Contains proof point | [X%] | [Y%] | [proof usage gap] |
253| Personalization tier | [avg tier] | [avg tier] | [personalization gap] |
254| CTA clarity | [assessment] | [assessment] | [delta] |
255| Has signal reference | [X%] | [Y%] | [signal usage gap] |
256 
257#### D) Objection Pattern Analysis
258 
259Across all replies classified as objections:
260 
261| Analysis | What It Reveals |
262|----------|----------------|
263| Most common objection | What you're running into most often |
264| Objection by campaign/audience | Is targeting driving objections? |
265| How you handle each objection (from follow-up emails) | Are your handles effective? |
266| Objections that lead to meetings vs. dead ends | Which objections are actually handleable? |
267| Objection language patterns | Exact words prospects use (copy these into your messaging) |
268 
269#### E) Reply Sentiment Analysis
270 
271| Category | Count | % | Trend |
272|----------|-------|---|-------|
273| Positive interest | X | Y% | +/- vs. earlier campaigns |
274| Warm / curious | X | Y% | |
275| Objection (handleable) | X | Y% | |
276| Objection (terminal) | X | Y% | |
277| Not interested | X | Y% | |
278| Auto-reply | X | Y% | |
279 
280**Key question:** Is the ratio of positive-to-negative replies improving over time? Are you getting better at writing emails that generate interest, or are you stagnating?
281 
282### Output Contract
283 
284```
285email_patterns: {
286 top_performers: {
287 common_patterns: string[]
288 best_subject_lines: [ { subject: string, reply_rate: percentage, pattern: string } ]
289 best_openers: [ { opener: string, campaign: string, why_it_works: string } ]
290 winning_proof_points: string[]
291 winning_ctas: string[]
292 winning_tone: string
293 winning_framework: string
294 }
295 
296 bottom_performers: {
297 common_anti_patterns: string[]
298 worst_subject_lines: [ { subject: string, reply_rate: percentage, issue: string } ]
299 common_mistakes: string[]
300 }
301 
302 winner_vs_loser: {
303 dimensions: [ { dimension: string, winners: string, losers: string, gap: string } ]
304 biggest_differentiator: string
305 }
306 
307 objection_patterns: {
308 most_common: { objection: string, count: integer, handle_effectiveness: string }
309 handleable_objections: [ { objection: string, best_handle: string, conversion_rate: string } ]
310 terminal_objections: [ { objection: string, implication: string } ]
311 }
312 
313 sentiment_trend: {
314 direction: "improving" | "stable" | "declining"
315 evidence: string
316 }
317 
318 email_skill_grade: "A" | "B" | "C" | "D" | "F"
319 email_skill_summary: string
320}
321```
322 
323---
324 
325## Step 3: Analyze Call Performance Patterns
326 
327**Purpose:** If call transcripts or recordings are available, analyze how the user performs on calls. If no call data exists, skip this step.
328 
329### Process
330 
331#### A) Structural Analysis (From Transcripts)
332 
333For each call transcript, measure:
334 
335| Metric | How to Calculate | What It Reveals |
336|--------|-----------------|----------------|
337| **Talk-to-listen ratio** | Word count (you) / word count (prospect) | >60% talking = talking too much. Best reps are 40-50% talk. |
338| **Longest monologue** | Longest uninterrupted stretch by the seller | >90 seconds = you're lecturing, not selling. Keep it under 60s. |
339| **Question count** | Number of questions asked | Discovery calls should have 10-15 questions. <5 = not discovering. |
340| **Question depth** | Surface questions ("What do you do?") vs. deep ("What happens when that process breaks?") | Deep questions = strong discovery. Surface = going through motions. |
341| **Filler word frequency** | Count of "um", "uh", "like", "you know", "basically", "honestly" | High frequency = lack of confidence or preparation. |
342| **Call duration** | Total time | Too short (<15 min for discovery) = not going deep enough. Too long (>45 min) = not controlling the call. |
343 
344#### B) Discovery Quality Analysis
345 
346From call transcripts, evaluate:
347 
348| Dimension | What to Check | Good vs. Bad |
349|-----------|--------------|-------------|
350| **Pain discovery** | Did you uncover a real pain point? | Good: Prospect describes pain in their own words. Bad: You told them what their pain should be. |
351| **Impact quantification** | Did you help them quantify the cost of the problem? | Good: "So that's costing you roughly $X/month." Bad: Never quantified. |
352| **Decision process** | Did you ask who else is involved, timeline, budget? | Good: Clear understanding of BANT. Bad: Left the call not knowing. |
353| **Current state** | Did you understand how they solve this today? | Good: Know their current tool/process. Bad: No idea what they do now. |
354| **Compelling event** | Did you identify why now? | Good: Know the trigger (new leader, funding, deadline). Bad: No urgency established. |
355| **Next step** | Did the call end with a clear, mutually agreed next step? | Good: Specific date/time/action. Bad: "Let me think about it" or "I'll follow up." |
356 
357#### C) Objection Handling on Calls
358 
359For each objection raised during calls:
360 
361| Analysis | What to Evaluate |
362|----------|-----------------|
363| Was the objection acknowledged? | Good: "I hear you, that's a valid concern." Bad: Immediately countering or ignoring. |
364| Was it explored? | Good: "Tell me more about that." Bad: Jumped straight to handle. |
365| Was the handle relevant? | Good: Addressed their specific concern. Bad: Generic response. |
366| Was proof provided? | Good: "Company X had the same concern, here's what happened." Bad: "Trust me." |
367| Did the conversation move forward? | Good: Objection resolved, back on track. Bad: Call stalled or ended. |
368 
369#### D) Demo / Presentation Analysis
370 
371If demo calls exist:
372 
373| Dimension | What to Check |
374|-----------|--------------|
375| **Feature dumping** | Did you show every feature, or only what's relevant to their pain? |
376| **"So what?" test** | After showing a feature, did you connect it to their specific need? |
377| **Prospect engagement** | Did the prospect speak during the demo, or was it a monologue? |
378| **Customization** | Was the demo tailored to their use case, or generic? |
379| **Time on product vs. slides** | Were you showing the actual product, or presenting slides? |
380 
381#### E) Winning vs. Losing Call Patterns
382 
383Compare calls that led to progression (next step, closed won) vs. calls that stalled or lost:
384 
385| Dimension | Winning Calls | Losing Calls | Gap |
386|-----------|--------------|-------------|-----|
387| Talk-to-listen | [ratio] | [ratio] | |
388| Questions asked | [count] | [count] | |
389| Pain discovered | [yes/no %] | [yes/no %] | |
390| Next step agreed | [%] | [%] | |
391| Objections surfaced | [count] | [count] | |
392| Call duration | [avg min] | [avg min] | |
393 
394### Output Contract
395 
396```
397call_patterns: {
398 structural: {
399 avg_talk_ratio: percentage
400 avg_longest_monologue_seconds: integer
401 avg_questions_per_call: float
402 filler_word_frequency: "low" | "moderate" | "high"
403 common_fillers: string[]
404 avg_call_duration: float
405 }
406 
407 discovery_quality: {
408 pain_discovery_rate: percentage # % of calls where real pain was uncovered
409 impact_quantification_rate: percentage
410 decision_process_mapped_rate: percentage
411 next_step_agreed_rate: percentage
412 common_gaps: string[] # What's consistently missed in discovery
413 }
414 
415 objection_handling: {
416 objections_per_call: float
417 acknowledgment_rate: percentage # % of times objection was properly acknowledged
418 exploration_rate: percentage # % of times the objection was explored before handling
419 resolution_rate: percentage # % of times the objection was successfully handled
420 weakest_objection_type: string # Which type of objection you handle worst
421 best_objection_type: string # Which type you handle best
422 }
423 
424 demo_quality: {
425 feature_dumping_detected: boolean
426 prospect_engagement_level: "high" | "moderate" | "low"
427 customization_level: "tailored" | "semi-generic" | "generic"
428 common_demo_mistakes: string[]
429 } | null
430 
431 winning_vs_losing: {
432 key_differences: [ { dimension: string, winners: string, losers: string } ]
433 biggest_predictor: string # Single biggest differentiator between winning and losing calls
434 }
435 
436 call_skill_grade: "A" | "B" | "C" | "D" | "F"
437 call_skill_summary: string
438} | null
439```
440 
441---
442 
443## Step 4: Analyze Deal Patterns
444 
445**Purpose:** Look at pipeline data to find patterns in deals you win vs. deals you lose. Pure computation + LLM reasoning.
446 
447### Process
448 
449#### A) Win/Loss Pattern Analysis
450 
451| Dimension | What to Compare (Won vs. Lost) |
452|-----------|-------------------------------|
453| Source channel | Which channels produce deals that close? |
454| Lead persona/title | Which titles convert to closed deals? |
455| Industry | Which verticals are you winning in? |
456| Company size | What size companies do you close best? |
457| Deal size | Do larger deals win more or less often? |
458| Sales cycle length | Do faster deals win more? |
459| Number of touches | How many interactions before close? |
460| Stakeholders involved | Single-threaded vs. multi-threaded |
461| Competitive situation | Do you win more in competitive or non-competitive deals? |
462 
463#### B) Velocity Analysis
464 
465| Pattern | What It Reveals |
466|---------|----------------|
467| Stage where deals stall longest | Your bottleneck — need to improve skill at this stage |
468| Stage where most deals die | Your kill zone — what's going wrong here? |
469| Deals that closed fastest | Your "sweet spot" — what do easy wins have in common? |
470| Deals that dragged longest before winning | What made these hard? Can you avoid or accelerate? |
471 
472#### C) Activity-to-Outcome Correlation
473 
474| Activity | Correlation with Winning |
475|----------|------------------------|
476| More emails before first call | Positive, negative, or no correlation? |
477| Faster first response time | Does speed matter? |
478| Multi-channel (email + LinkedIn + call) | Do multi-channel deals win more? |
479| Number of stakeholders contacted | Does multi-threading help? |
480| Follow-up speed after calls | Does fast follow-up predict wins? |
481 
482### Output Contract
483 
484```
485deal_patterns: {
486 win_profile: {
487 best_source: string
488 best_persona: string
489 best_industry: string
490 best_company_size: string
491 avg_winning_cycle_days: float
492 avg_touches_to_close: float
493 common_traits: string[]
494 }
495 
496 loss_profile: {
497 top_loss_reason: string
498 loss_stage: string # Where deals die most
499 common_loss_traits: string[]
500 recoverable_losses: string # "X% of lost deals were timing — could be re-engaged"
501 }
502 
503 velocity: {
504 bottleneck_stage: string
505 kill_zone_stage: string
506 sweet_spot: string # Description of your easiest wins
507 }
508 
509 activity_correlations: [
510 { activity: string, correlation: "positive" | "negative" | "none", insight: string }
511 ]
512 
513 deal_skill_grade: "A" | "B" | "C" | "D" | "F"
514 deal_skill_summary: string
515}
516```
517 
518---
519 
520## Step 5: Build Skill Assessment & Coaching Plan
521 
522**Purpose:** Synthesize email, call, and deal analysis into a personal sales skill assessment and a specific coaching plan. Pure LLM reasoning.
523 
524### Input Contract
525 
526```
527email_patterns: { ... } # From Step 2
528call_patterns: { ... } | null # From Step 3 (if calls available)
529deal_patterns: { ... } # From Step 4
530user_role: string # From config
531experience_level: string # From config
532product_description: string # From config
533self_assessed_weakness: string # From config
534```
535 
536### Skill Assessment Framework
537 
538Assess the user across sales skill dimensions relevant to their role:
539 
540#### SDR Skill Dimensions
541 
542| Dimension | Data Source | What to Evaluate |
543|-----------|-----------|-----------------|
544| **Prospecting quality** | Email targeting → reply relevance | Are you reaching the right people? |
545| **Email copywriting** | Email patterns analysis | Are your emails compelling? |
546| **Personalization** | Email patterns analysis | Do you go beyond merge fields? |
547| **Signal recognition** | Email campaign angles | Are you using relevant signals? |
548| **Objection handling (written)** | Reply analysis, follow-up emails | Do you handle objections well in email? |
549| **Qualification** | Pipeline data — qualified vs. unqualified meetings | Are you booking quality meetings? |
550| **Follow-up discipline** | Campaign structure, timing, sequence length | Do you follow up effectively? |
551| **Volume & consistency** | Activity metrics over time | Are you doing enough, consistently? |
552 
553#### AE Skill Dimensions
554 
555| Dimension | Data Source | What to Evaluate |
556|-----------|-----------|-----------------|
557| **Discovery** | Call transcripts — questions asked, pain uncovered | Do you uncover real pain? |
558| **Active listening** | Call transcripts — talk ratio, prospect engagement | Do you listen more than talk? |
559| **Demo effectiveness** | Call transcripts — feature relevance, engagement | Do you demo to their pain? |
560| **Objection handling (verbal)** | Call transcripts — objection resolution rate | Do you handle pushback well? |
561| **Negotiation** | Deal data — discount patterns, close rates | Do you protect value? |
562| **Deal management** | Pipeline data — velocity, stage progression | Do you move deals forward? |
563| **Multi-threading** | Deal data — stakeholders contacted | Do you go wide in accounts? |
564| **Closing** | Deal data — win rate, next step agreement | Do you close confidently? |
565 
566#### Founder Skill Dimensions
567 
568All SDR + AE dimensions, plus:
569 
570| Dimension | Data Source | What to Evaluate |
571|-----------|-----------|-----------------|
572| **Storytelling** | Call transcripts, email copy | Do you tell a compelling product story? |
573| **Market positioning** | Email angles, competitive mentions | Do you position well against competition? |
574| **Adaptability** | Variation across campaigns and calls | Do you adapt your approach to different prospects? |
575 
576### Scoring
577 
578For each dimension, assign a grade:
579 
580| Grade | Criteria |
581|-------|---------|
582| **A** | Top quartile performance. Clear strength. Data supports excellence. |
583| **B** | Above average. Competent. Minor improvements possible. |
584| **C** | Average. Functional but not differentiating. Clear room to grow. |
585| **D** | Below average. Consistent issues visible in data. Needs focused work. |
586| **F** | Significant weakness. Data shows this is hurting results. Priority fix. |
587 
588### Coaching Plan
589 
590For each dimension graded C or below, produce:
591 
592```
593Skill: [dimension name]
594Current grade: [grade]
595Evidence: [specific data points that drive the grade]
596Root cause: [why this is happening — not just what, but why]
597 
598Coaching recommendation:
5991. [Specific, actionable thing to do differently]
6002. [Exercise or practice to build this skill]
6013. [Example from their own data of when they did this well vs. poorly]
602 
603Model to follow:
604[Pull from their own top-performing emails/calls as examples.
605"Your email in Campaign X did this perfectly — replicate that approach."]
606 
607Measurable goal:
608[Specific metric to track improvement. E.g., "Increase question count per
609discovery call from 6 to 12 over the next 30 days."]
610```
611 
612### Personalized Playbook
613 
614Distill the user's winning patterns into a personal playbook:
615 
616```
617## Your Winning Formula
618 
619Based on analyzing [X emails, Y calls, Z deals], here's what works for YOU:
620 
621### Your Best Email Pattern
622Subject line style: [pattern]
623Opening approach: [pattern]
624Proof point that resonates: [specific proof]
625CTA that converts: [specific CTA]
626Ideal length: [word count]
627Best framework: [framework]
628 
629Template (built from your own top performers):
630> [Reconstructed template from their best emails]
631 
632### Your Best Call Pattern (if calls available)
633Discovery approach: [how you open well]
634Strongest questions: [questions that work for you]
635Objection handle that works: [specific handle]
636Demo style that converts: [approach]
637Close technique: [how you get next steps]
638 
639### Your Win Profile
640You close best when:
641- The prospect is [title/seniority]
642- The company is [size/industry]
643- The deal came from [source]
644- The cycle is [length]
645- You [specific behavior that correlates with winning]
646```
647 
648### Output Contract
649 
650```
651skill_assessment: {
652 overall_grade: "A" | "B" | "C" | "D" | "F"
653 overall_summary: string
654 
655 dimensions: [
656 {
657 name: string
658 grade: string
659 evidence: string[]
660 strength_or_weakness: "strength" | "neutral" | "weakness"
661 }
662 ]
663 
664 top_strengths: [
665 { skill: string, evidence: string, advice: string } # "Keep doing this"
666 ]
667 
668 top_weaknesses: [
669 {
670 skill: string
671 grade: string
672 evidence: string[]
673 root_cause: string
674 coaching: string[]
675 model_from_own_data: string | null
676 measurable_goal: string
677 }
678 ]
679 
680 personalized_playbook: {
681 best_email_pattern: { ... }
682 best_call_pattern: { ... } | null
683 win_profile: string
684 template_from_top_performers: string
685 }
686 
687 self_assessment_validation: {
688 user_said: string # Their self-assessed weakness
689 data_says: string # What the data actually shows
690 aligned: boolean # Do they match?
691 surprise_finding: string | null # Something they didn't know about themselves
692 }
693}
694```
695 
696---
697 
698## Step 6: Generate Coaching Report
699 
700**Purpose:** Produce the final coaching report — personal, actionable, and encouraging. Not a performance review. A coaching session.
701 
702### Report Structure
703 
704```
705# Sales Coaching Report — [User Name]
706**Based on:** [X emails, Y calls, Z deals] over [analysis window]
707**Role:** [SDR/AE/Founder]
708**Product:** [what they sell]
709 
710---
711 
712## Your Sales Scorecard
713 
714| Skill | Grade | Trend | Notes |
715|-------|-------|-------|-------|
716| [skill 1] | [grade] | [improving/stable/declining] | [one-line note] |
717| [skill 2] | [grade] | [trend] | [note] |
718| ... |
719 
720**Overall:** [grade] — [one-sentence summary]
721 
722---
723 
724## What You're Great At
725 
726Your data shows clear strengths in these areas. Keep doing these things.
727 
728### 1. [Strength #1]
729**Evidence:** [specific data — "Your Signal-Proof-Ask emails generate 2.3x the reply rate of your other emails"]
730**Why it works:** [brief explanation]
731**Advice:** [How to lean into this strength even more]
732 
733### 2. [Strength #2]
734**Evidence:** [data]
735**Why it works:** [explanation]
736 
737### 3. [Strength #3]
738...
739 
740---
741 
742## Where to Improve
743 
744These are your highest-impact coaching areas. Focus on one at a time.
745 
746### Priority 1: [Biggest Weakness]
747**Current grade:** [grade]
748**Evidence:** [specific data points — not vague criticism, specific examples]
749**Root cause:** [Why this is happening. E.g., "You're asking 4 questions per discovery call. The calls
750where you asked 10+ had a 3x higher progression rate. You're not going deep enough on pain."]
751 
752**What to do differently:**
7531. [Specific, actionable change]
7542. [Practice exercise]
7553. [Example from their own data: "In your call with [prospect] on [date], you DID do this well — here's the transcript excerpt. Replicate that approach."]
756 
757**Your own proof it works:**
758> [Quote from their own top-performing email or call where they did this well]
759 
760**Goal:** [Measurable goal with timeframe]
761 
762### Priority 2: [Second Weakness]
763[Same structure]
764 
765### Priority 3: [Third Weakness]
766[Same structure]
767 
768---
769 
770## Your Winning Patterns (Personal Playbook)
771 
772These patterns come from YOUR best work — not a textbook.
773 
774### Your Best Email Template
775[Reconstructed from their top-performing emails]
776 
777**Subject:** [pattern]
778> [Reconstructed body using their winning patterns]
779 
780**Why this works for you:** [pattern analysis]
781 
782### Your Best Discovery Approach (if calls available)
783[Distilled from their winning calls]
784 
7851. **Open with:** [how they open their best calls]
7862. **Key questions to always ask:** [their best questions]
7873. **When you hear [objection], say:** [their best objection handle]
7884. **Close the call with:** [how they get next steps in winning calls]
789 
790### Your Win Profile
791**You close best when:**
792- Prospect is [title] at a [size] [industry] company
793- Deal came from [source/channel]
794- Cycle is [X] days
795- You [specific winning behavior]
796 
797**You struggle when:**
798- Prospect is [profile]
799- Deal involves [situation]
800- You [specific losing behavior]
801 
802---
803 
804## Surprise Finding
805 
806[Something the data reveals that the user probably doesn't know about themselves.
807E.g., "You think your weakness is closing, but your data shows your close rate is
808above average. Your actual bottleneck is discovery — you're booking meetings that
809aren't qualified. Improving qualification would have 3x more impact than working
810on closing technique."]
811 
812---
813 
814## 30-Day Coaching Plan
815 
816| Week | Focus | Exercise | Measurable Target |
817|------|-------|----------|-------------------|
818| Week 1 | [skill] | [specific exercise] | [metric to hit] |
819| Week 2 | [skill] | [exercise] | [metric] |
820| Week 3 | [skill] | [exercise] | [metric] |
821| Week 4 | Review + adjust | Re-run this analysis | Compare grades |
822 
823---
824 
825## Check Back In
826 
827Run this coaching analysis again in 30 days to measure improvement.
828Track these specific metrics:
8291. [Metric 1 — current: X, target: Y]
8302. [Metric 2 — current: X, target: Y]
8313. [Metric 3 — current: X, target: Y]
832```
833 
834### Tone Guidance
835 
836This is a **coaching session**, not a performance review.
837 
838| Do | Don't |
839|----|-------|
840| Celebrate strengths first | Lead with weaknesses |
841| Use their own data as examples | Use generic advice |
842| Be specific ("your reply rate on Signal-Proof-Ask emails is 2.3x higher") | Be vague ("your emails could be better") |
843| Provide exercises and practice | Just say "improve" |
844| Show them proof from their own work that they CAN do this | Make it feel like they're failing |
845| One priority at a time | Overwhelm with 10 things to fix |
846| Frame weaknesses as "highest-impact opportunity" | Call them "failures" |
847 
848### Human Checkpoint
849 
850```
851[Scorecard + top strengths + top weakness rendered]
852 
853---
854 
855Surprise finding: [the thing they didn't know]
856 
857Full coaching report includes:
858- Detailed skill assessment across [X] dimensions
859- Your winning email template (reconstructed from top performers)
860- Your winning call pattern (if call data available)
861- Your win profile (what deals you close best)
862- 30-day coaching plan with weekly exercises
863- Measurable goals to track improvement
864 
865View the full coaching report?
866```
867 
868---
869 
870## Execution Summary
871 
872| Step | Tool Dependency | Human Checkpoint | Typical Time |
873|------|----------------|-----------------|--------------|
874| 0. Config | None | First run only | 5 min (once) |
875| 1. Collect Data | Configurable (outreach tool, call tool, CRM) | Verify data volume | 2-3 min |
876| 2. Email Patterns | None (LLM reasoning) | None — feeds into assessment | Automatic |
877| 3. Call Patterns | None (LLM reasoning on transcripts) | None — feeds into assessment | Automatic |
878| 4. Deal Patterns | None (computation + LLM reasoning) | None — feeds into assessment | Automatic |
879| 5. Skill Assessment | None (LLM reasoning) | None — feeds into report | Automatic |
880| 6. Coaching Report | None (LLM reasoning) | Review report | 10-15 min |
881 
882**Total human review time: ~15-20 minutes** for coaching that would normally require an experienced sales manager reviewing weeks of activity.
883 
884---
885 
886## Adapting to Data Availability
887 
888| Available Data | Analysis Depth | Report Quality |
889|---------------|---------------|----------------|
890| Emails + calls + pipeline | Full coaching across all dimensions | Best |
891| Emails + pipeline (no calls) | Email skills + deal patterns. Call section skipped. | Good |
892| Emails only | Email skills assessment. Deal and call sections skipped. | Partial but still useful |
893| Calls + pipeline (no email data) | Call skills + deal patterns. Email section skipped. | Good |
894| Pipeline only | Deal patterns only. Limited coaching but still reveals win/loss patterns. | Minimal |
895 
896**Minimum viable:** At least one of: email data, call data, or pipeline data.
897 
898---
899 
900## Tips
901 
902- **Run monthly for continuous improvement.** The coaching plan is designed in 30-day cycles. Re-run and compare grades.
903- **The "surprise finding" is often the most valuable part.** People's self-assessment of their sales weaknesses is wrong ~60% of the time. The data reveals the real bottleneck.
904- **Top-performing email templates from your own data beat any template library.** They've already been tested on your market with your product.
905- **If call data is available, prioritize call coaching.** Calls have more surface area for improvement than emails, and call improvements have a higher ROI per fix.
906- **The personalized playbook should be saved and reused.** It's a living document that evolves as the user's skills evolve.
907- **Share the coaching report with a manager or mentor.** It provides the data for a structured 1:1 coaching conversation.
908- **Focus on ONE weakness at a time.** The coaching plan prioritizes. Don't try to fix everything at once — that's how nothing gets fixed.
909 

Discussion