Skip to main content

sales-coaching

AI sales coach composite. Analyzes all available sales data — email campaigns, call recordings/transcripts, reply patterns, pipeline outcomes — to identify what the user does well, where they struggle, and how to improve. Finds patterns in top-performing emails, winning call techniques, successful objection handles, and deal progression. Produces personalized coaching recommendations based on their specific product, market, and selling style. Tool-agnostic.

Source facts

Repository
criptogus/agent-evolve-network
Last source activity
July 4, 2026 at 17:42
Detected SKILL.md language
English
Stars
248
Forks
3

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
sales-coaching
version
1.0.0
description
AI sales coach composite. Analyzes all available sales data — email campaigns, call recordings/transcripts, reply patterns, pipeline outcomes — to identify what the user does well, where they struggle, and how to improve. Finds patterns in top-performing emails, winning call techniques, successful objection handles, and deal progression. Produces personalized coaching recommendations based on their specific product, market, and selling style. Tool-agnostic.
tags
["research"]
# 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. |
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub