[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DSAKMX043JAXESD46Z73K2":3,"skill-same:01M6DSAKMX043JAXESD46Z73K2":104},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":25,"publishedAt":46,"linkOnly":47,"markdownContent":48,"markdownBody":49,"frontMatter":50,"refName":77,"commitSha":78,"skillDirectory":79,"forksCount":80,"repositoryHtmlUrl":81,"repositoryHomepageUrl":6,"ownerHtmlUrl":82,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":83,"install":84,"resources":97},"01M6DSAKMX043JAXESD46Z73K2","gtm-sales-performance-review",null,"Periodic sales performance review composite. Aggregates ALL sales initiatives taken in a given period — outbound campaigns, inbound efforts, events, partnerships, content, referrals — and measures the impact of each on pipeline and revenue. Produces a team-presentable report covering initiative-level performance, cross-initiative comparisons, pipeline attribution, what's working, what's not, and where to invest next. Tool-agnostic — pulls data from any combination of CRM, outreach tools, and tracking systems.","AntifragileTech\u002Fantifragile-claude-code","AntifragileTech","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F174357194?v=4","01M6DQCYMK4CDSQQAN0ZC72NTV","01M6DQCYS9YPW1WKMQ5TJMPQ43",9,"MIT","https:\u002F\u002Fgithub.com\u002FAntifragileTech\u002Fantifragile-claude-code\u002Fblob\u002Fmaster\u002Fassets\u002Fskills\u002Fgtm\u002Fgtm-sales-performance-review\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000034","行政与办公人员",[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],"performance","gtm sales performance review","gtm","sales","performance review","review","analysis","team","pipeline","campaign","crm","next","aggregates","outbound","deeper","scorecards","referrals","data-analysis","recommendations","diagnosis","2026-11-10 10:12:30",false,"---\nname: gtm-sales-performance-review\nversion: 1.0.0\ndescription: >\n  Periodic sales performance review composite. Aggregates ALL sales initiatives\n  taken in a given period — outbound campaigns, inbound efforts, events, partnerships,\n  content, referrals — and measures the impact of each on pipeline and revenue.\n  Produces a team-presentable report covering initiative-level performance, cross-initiative\n  comparisons, pipeline attribution, what's working, what's not, and where to invest next.\n  Tool-agnostic — pulls data from any combination of CRM, outreach tools, and tracking systems.\ntags: [research]\n\ngraph:\n  provides:\n    - sales-performance-report       # Full periodic review, presentation-ready\n    - initiative-scorecards          # Per-initiative performance cards\n    - cross-initiative-comparison    # Side-by-side effectiveness ranking\n    - investment-recommendations     # Where to double down, scale back, or kill\n  requires:\n    - initiative-data                # Data from all sales initiatives in the period\n    - pipeline-data                  # Deal\u002Fmeeting data for attribution\n    - your-company-context           # Goals, targets, team structure\n  connects_to:\n    - skill: sequence-performance\n      when: \"A specific campaign needs deeper diagnosis\"\n      passes: campaign_id\n    - skill: pipeline-review\n      when: \"Pipeline state needs deeper analysis\"\n      passes: period, pipeline_data\n  capabilities: [data-analysis, attribution, reporting]\n---\n\n# Sales Performance Review\n\nThe all-up periodic report. Every other analytics composite looks at one slice — a single campaign's emails, or the pipeline's current state. This one answers the question a founder or sales leader asks in every team meeting: **\"What did we do this period, and did it move the needle?\"**\n\nIt inventories every sales initiative, measures each one's contribution to pipeline and revenue, compares them against each other, and produces a presentation-ready report that the team can review together.\n\n**What makes this different from `pipeline-review` and `sequence-performance`:**\n\n| Composite | Scope | Question It Answers |\n|-----------|-------|-------------------|\n| `sequence-performance` | One email campaign | \"Is this specific campaign working?\" |\n| `pipeline-review` | Pipeline state | \"What does our pipeline look like right now?\" |\n| `sales-performance-review` | ALL initiatives across the period | \"What did we do, what worked, and where should we invest next?\" |\n\nThis composite can call `sequence-performance` for deeper campaign-level diagnosis and `pipeline-review` for pipeline state — but its primary job is the cross-initiative view.\n\n## When to Auto-Load\n\nLoad this composite when:\n- User says \"sales review\", \"periodic review\", \"what did we do this month\", \"team performance report\", \"sales standup report\"\n- User says \"prepare for the weekly\u002Fmonthly\u002Fquarterly sales meeting\"\n- User asks \"what's working\", \"where should we focus\", \"are our initiatives paying off\"\n- End of period (weekly, biweekly, monthly, quarterly) review is due\n\n---\n\n## Step 0: Configuration (One-Time Setup)\n\nOn first run, collect and store these preferences. Skip on subsequent runs.\n\n### Data Sources\n\n| Question | Purpose | Stored As |\n|----------|---------|-----------|\n| Where do you track deals\u002Fpipeline? | Pipeline attribution | `crm_tool` |\n| What outreach tools do you use? | Campaign data pull | `outreach_tools` (list) |\n| Do you track initiatives anywhere? (spreadsheet, Notion, project tool) | Initiative inventory | `initiative_tracker` |\n| What other sales channels are active? | Ensure complete coverage | `active_channels` |\n\n**Common `active_channels`:**\n```\nactive_channels: [\n  \"outbound_email\",        # Cold email campaigns\n  \"outbound_linkedin\",     # LinkedIn outreach\n  \"inbound_content\",       # Blog, SEO, content marketing\n  \"inbound_website\",       # Website conversions, demo requests\n  \"events\",                # Conferences, webinars, meetups\n  \"referrals\",             # Partner\u002Fcustomer referrals\n  \"paid_ads\",              # Google Ads, LinkedIn Ads, Meta Ads\n  \"social_organic\",        # LinkedIn posts, Twitter, community\n  \"partnerships\",          # Co-selling, integrations, channel\n  \"product_led\",           # Free trial, freemium, PLG\n  \"warm_outbound\"          # Re-engagement, nurture, expansion\n]\n```\n\n### Team & Goals\n\n| Question | Purpose | Stored As |\n|----------|---------|-----------|\n| Who is on the sales team? (names + roles) | Per-rep breakdown | `team_members` |\n| What are the period targets? | Gap analysis | `targets` |\n| What is the review cadence? | Default period length | `review_cadence` |\n| Who is the audience for this report? | Adjust depth\u002Ftone | `report_audience` |\n\n**Targets structure:**\n```\ntargets: {\n  meetings_booked: integer | null\n  qualified_opportunities: integer | null\n  pipeline_created: number | null       # Dollar value\n  deals_closed: integer | null\n  revenue_closed: number | null\n  other: [                              # Custom KPIs\n    { name: string, target: number }\n  ]\n}\n```\n\n**Report audience options:**\n- `\"team\"` — Sales team standup. Tactical, action-oriented. \"What do we do next week?\"\n- `\"leadership\"` — VP\u002FFounder review. Strategic, trend-focused. \"Are we on track? Where to invest?\"\n- `\"board\"` — Board\u002Finvestor update. High-level, metric-heavy. \"Is the GTM motion working?\"\n\n### Initiative Categories\n\nDefine the categories of initiatives the team runs. This creates the taxonomy for the report.\n\n```\ninitiative_categories: [\n  {\n    name: \"Outbound Email Campaigns\"\n    data_source: \"smartlead\"           # or \"instantly\", \"outreach\", etc.\n    metrics_available: [\"sent\", \"opens\", \"replies\", \"meetings\"]\n  },\n  {\n    name: \"LinkedIn Outreach\"\n    data_source: \"manual_tracking\"     # or \"dripify\", \"expandi\"\n    metrics_available: [\"connections_sent\", \"accepted\", \"replies\", \"meetings\"]\n  },\n  {\n    name: \"Events & Webinars\"\n    data_source: \"spreadsheet\"\n    metrics_available: [\"attended\", \"leads_captured\", \"meetings\", \"pipeline\"]\n  },\n  {\n    name: \"Inbound \u002F Content\"\n    data_source: \"hubspot\"             # or \"website_analytics\"\n    metrics_available: [\"visitors\", \"leads\", \"mqls\", \"meetings\"]\n  },\n  {\n    name: \"Referrals & Partnerships\"\n    data_source: \"crm\"\n    metrics_available: [\"intros\", \"meetings\", \"pipeline\", \"closed\"]\n  }\n]\n```\n\n**Store config in:** `clients\u002F\u003Cclient-name>\u002Fconfig\u002Fsales-performance-review.json` or equivalent.\n\n---\n\n## Step 1: Inventory All Initiatives\n\n**Purpose:** Build a complete inventory of every sales initiative executed during the review period. Nothing should be missing from the report.\n\n### Input Contract\n\n```\nperiod: {\n  type: \"weekly\" | \"fortnightly\" | \"monthly\" | \"quarterly\" | \"custom\"\n  start_date: string\n  end_date: string\n  comparison_period: boolean          # Default: true\n}\ninitiative_categories: [...]          # From config\ndata_sources: { ... }                 # From config\n```\n\n### Process\n\nFor each initiative category, pull the list of specific initiatives run during the period:\n\n#### A) Outbound Email Campaigns\n\nPull from configured outreach tool:\n\n| Tool | How to List Campaigns |\n|------|---------------------|\n| **Smartlead** | `get_campaigns` → filter by date range |\n| **Instantly** | API or CSV export of campaigns active in period |\n| **Others** | API, CSV, or user provides list |\n\nFor each campaign, capture:\n- Campaign name\n- Launch date\n- Status (active \u002F paused \u002F completed)\n- Target audience description\n- Total leads loaded\n- Current metrics snapshot (sent, opens, replies — detailed analysis comes in Step 3)\n\n#### B) LinkedIn Outreach\n\nPull from LinkedIn automation tool or manual tracking:\n- Campaign\u002Fsequence name\n- Connection requests sent\n- Messages sent\n- Period of activity\n\n#### C) Events & Webinars\n\nPull from tracking spreadsheet, CRM, or user provides:\n- Event name\n- Date\n- Type (conference, webinar, meetup, hosted event)\n- Attendees\u002Fleads captured\n- Follow-up status\n\n#### D) Inbound \u002F Content\n\nPull from website analytics, CRM, or marketing tool:\n- Content published (blog posts, case studies, whitepapers)\n- Website traffic \u002F lead form submissions\n- Demo requests\n- MQL count\n\n#### E) Referrals & Partnerships\n\nPull from CRM or manual tracking:\n- Referral sources (who referred)\n- Intro count\n- Meeting count\n\n#### F) Any Other Initiatives\n\nAsk the user: \"Were there any other sales initiatives this period not captured above?\"\n- Ad campaigns launched\n- Product-led growth experiments\n- New channel tests\n- One-off outreach efforts (conference follow-up blast, etc.)\n\n### Output Contract\n\n```\ninitiative_inventory: [\n  {\n    id: string                         # Generated identifier\n    name: string                       # Initiative name\n    category: string                   # Which category it belongs to\n    channel: string                    # \"email\", \"linkedin\", \"event\", \"inbound\", \"referral\", etc.\n    launch_date: string\n    status: \"active\" | \"paused\" | \"completed\"\n    description: string                # 1-2 sentence summary of what this initiative was\n    target_audience: string            # Who it was aimed at\n    data_source: string                # Where the data came from\n    raw_data_available: boolean        # Can we pull detailed metrics?\n  }\n]\n```\n\n### Human Checkpoint\n\n```\n## Initiative Inventory — [Period]\n\nFound X initiatives across Y categories:\n\n| # | Initiative | Category | Channel | Launched | Status |\n|---|-----------|----------|---------|----------|--------|\n| 1 | Q1 Series A Outbound | Outbound Email | Email | Jan 15 | Active |\n| 2 | LinkedIn ABM Campaign | LinkedIn Outreach | LinkedIn | Jan 20 | Active |\n| 3 | SaaStr Conference | Event | In-person | Feb 5 | Completed |\n| 4 | Blog: \"State of X\" report | Inbound Content | Content | Feb 10 | Active |\n| 5 | Partner intro program w\u002F Acme | Referral | Partner | Jan 1 | Active |\n\nMissing anything? Any initiatives not captured here?\n```\n\n---\n\n## Step 2: Pull Initiative-Level Metrics\n\n**Purpose:** For each initiative in the inventory, pull the detailed performance metrics. This is the data collection step — no analysis yet.\n\n### Input Contract\n\n```\ninitiative_inventory: [...]           # From Step 1\nperiod: { ... }\noutreach_tools: [...]                 # From config\ncrm_tool: string                     # From config\n```\n\n### Process\n\nFor each initiative, pull metrics appropriate to its channel:\n\n#### Outbound Email Metrics\n\n| Metric | Source |\n|--------|--------|\n| Emails sent | Outreach tool |\n| Unique recipients | Outreach tool |\n| Open rate | Outreach tool |\n| Reply rate | Outreach tool |\n| Positive reply rate | Outreach tool (if categorized) or estimate from reply analysis |\n| Bounce rate | Outreach tool |\n| Meetings booked | Outreach tool + CRM cross-reference |\n| Pipeline created ($) | CRM — deals sourced from this campaign |\n| Deals won ($) | CRM — closed deals sourced from this campaign |\n\n#### LinkedIn Outreach Metrics\n\n| Metric | Source |\n|--------|--------|\n| Connection requests sent | LinkedIn tool or manual count |\n| Connections accepted | LinkedIn tool |\n| Accept rate | Calculated |\n| Messages sent | LinkedIn tool |\n| Replies received | LinkedIn tool |\n| Reply rate | Calculated |\n| Meetings booked | Manual tracking or CRM |\n| Pipeline created ($) | CRM |\n\n#### Event Metrics\n\n| Metric | Source |\n|--------|--------|\n| Attendees \u002F leads captured | Event tool, badge scans, signup list |\n| Follow-ups sent | Outreach tool or manual |\n| Meetings booked from event | CRM or manual |\n| Pipeline created ($) | CRM |\n| Cost of event | Finance\u002Fbudget tracking |\n| Cost per meeting | Calculated |\n\n#### Inbound \u002F Content Metrics\n\n| Metric | Source |\n|--------|--------|\n| Content pieces published | CMS or manual count |\n| Website visitors (organic) | Analytics tool |\n| Lead form submissions | CRM or marketing tool |\n| Demo requests | CRM |\n| MQLs generated | CRM or marketing tool |\n| Pipeline created ($) | CRM |\n\n#### Referral \u002F Partnership Metrics\n\n| Metric | Source |\n|--------|--------|\n| Intros received | Manual tracking or CRM |\n| Meetings from intros | CRM |\n| Conversion rate (intro → meeting) | Calculated |\n| Pipeline created ($) | CRM |\n| Deals won ($) | CRM |\n\n### Pipeline Attribution\n\n**Critical step:** Connect initiatives to pipeline and revenue. For each deal in the CRM created during the period:\n- What initiative sourced it? (first touch attribution)\n- What initiative influenced it? (multi-touch, if trackable)\n- Current stage\n- Dollar value\n\nThis creates the bridge between \"what we did\" and \"what it produced.\"\n\n**Attribution methods (use the best available):**\n\n| Method | Accuracy | When to Use |\n|--------|----------|------------|\n| CRM source field | High | If reps consistently tag lead source |\n| Campaign ID match | High | If outreach tool logs campaign ID on the deal |\n| Email\u002Fname match | Medium | Match deal contact email to campaign lead lists |\n| Time-based proximity | Low | Deal created within 7 days of an initiative = attributed |\n| Ask the user | High | For small volume, just ask \"where did this deal come from?\" |\n\n### Output Contract\n\n```\ninitiative_metrics: [\n  {\n    id: string                         # Matches inventory\n    name: string\n    category: string\n    channel: string\n    metrics: {\n      # Activity metrics (what we did)\n      activity_volume: integer          # Emails sent, connections sent, leads captured, etc.\n      activity_label: string            # \"emails sent\", \"connections sent\", etc.\n\n      # Response metrics (what happened)\n      responses: integer                # Replies, accepts, form fills, etc.\n      response_rate: percentage\n      response_label: string            # \"replies\", \"accepted\", \"submitted\", etc.\n\n      # Meeting metrics (pipeline entry)\n      meetings_booked: integer\n      meeting_rate: percentage           # Meetings \u002F activity_volume\n      meetings_qualified: integer | null\n      qualification_rate: percentage | null\n\n      # Pipeline metrics (business impact)\n      pipeline_created: number | null    # Dollar value\n      deals_created: integer | null\n      avg_deal_size: number | null\n\n      # Revenue metrics (if deals closed)\n      deals_won: integer | null\n      revenue_closed: number | null\n\n      # Efficiency metrics\n      cost: number | null                # If cost data available\n      cost_per_meeting: number | null\n      cost_per_pipeline_dollar: number | null\n      roi: number | null                 # Revenue \u002F cost\n\n      # Comparison period\n      vs_prior: {\n        activity_change: percentage\n        response_rate_change: percentage\n        meetings_change: percentage\n        pipeline_change: percentage\n      } | null\n    }\n  }\n]\n```\n\n### Human Checkpoint\n\n```\n## Metrics Pulled\n\n| Initiative | Activity | Responses | Meetings | Pipeline | Revenue |\n|-----------|----------|-----------|----------|----------|---------|\n| Q1 Series A Outbound | 2,500 sent | 125 replies (5%) | 18 | $240K | $0 |\n| LinkedIn ABM | 300 requests | 180 accepted (60%) | 8 | $120K | $45K |\n| SaaStr Conference | 150 leads | 45 follow-ups | 12 | $180K | $0 |\n| Blog content | 5 posts | 28 leads | 4 | $50K | $0 |\n| Partner intros | 15 intros | 12 meetings | 12 | $200K | $80K |\n\nPipeline attribution notes:\n- X deals could not be attributed to a specific initiative\n- Y deals have multi-touch attribution (counted in primary source)\n\nData look accurate? Any corrections?\n```\n\n---\n\n## Step 3: Analyze Initiative Performance\n\n**Purpose:** Score each initiative, compare them against each other, and identify what's working, what's not, and where the gaps are. Pure LLM reasoning + computation.\n\n### Input Contract\n\n```\ninitiative_metrics: [...]             # From Step 2\ntargets: { ... }                      # From config\nteam_members: [...]                   # From config\nperiod: { ... }\n```\n\n### Analysis Sections\n\n#### A) Initiative Scorecards\n\nFor each initiative, produce a scorecard:\n\n```\nInitiative: [Name]\nCategory: [Category] | Channel: [Channel]\nStatus: [Active\u002FPaused\u002FCompleted]\n\nActivity:    [X sent\u002Fcaptured\u002Fetc.]    [+\u002F-Y% vs prior]\nResponse:    [X replies\u002Faccepts]       [Z% rate] [above\u002Fat\u002Fbelow benchmark]\nMeetings:    [X booked]               [Z% conversion]\nPipeline:    $[X]                     [+\u002F-Y% vs prior]\nRevenue:     $[X]                     [if applicable]\nEfficiency:  $[X] cost per meeting    [if cost data available]\n\nGrade: [A\u002FB\u002FC\u002FD\u002FF]\nVerdict: [One sentence — \"Strong performer, scale up\" \u002F \"Underperforming, diagnose copy\" \u002F etc.]\n```\n\n**Grading criteria:**\n\n| Grade | Criteria |\n|-------|---------|\n| **A** | Above benchmark on response rate AND meeting conversion AND pipeline creation. Clear ROI. |\n| **B** | At or above benchmark on most metrics. Producing pipeline. Room to optimize. |\n| **C** | Mixed results. Some metrics above, some below. Needs specific fixes. |\n| **D** | Below benchmark on most metrics. Producing minimal pipeline. Needs overhaul or kill decision. |\n| **F** | Failing across all metrics. Negative ROI. Should be stopped or completely rebuilt. |\n\n#### B) Cross-Initiative Comparison\n\nRank all initiatives on consistent metrics:\n\n| Ranking Dimension | Why It Matters |\n|-------------------|---------------|\n| **Meetings per dollar** (if cost data available) | Which channel gives most meetings for the spend |\n| **Meetings per activity unit** | Email sends vs. LinkedIn requests vs. event attendance — what converts best |\n| **Pipeline per meeting** | Which channels produce bigger deals once meetings happen |\n| **Speed to pipeline** | Time from initiative start to first pipeline dollar |\n| **Win rate by source** | Which channels produce deals that actually close |\n\n#### C) Funnel Analysis (Full Funnel View)\n\nMap the complete funnel across ALL initiatives combined:\n\n```\nTotal activity → Total responses → Total meetings → Qualified → Pipeline → Won\n[X emails+      [Y replies+       [Z meetings]    [W qual]    [$P]      [$R]\n connections+    accepts+\n leads+etc.]     leads]\n\nConversion rates at each stage:\nActivity → Response: X%\nResponse → Meeting: X%\nMeeting → Qualified: X%\nQualified → Pipeline: X%\nPipeline → Won: X%\n```\n\n#### D) Gap Analysis\n\nCompare actuals to targets:\n\n| Target | Actual | Gap | Status |\n|--------|--------|-----|--------|\n| Meetings booked: X | Y | +\u002F-Z | On track \u002F Behind \u002F Ahead |\n| Pipeline created: $X | $Y | +\u002F-$Z | On track \u002F Behind \u002F Ahead |\n| Revenue closed: $X | $Y | +\u002F-$Z | On track \u002F Behind \u002F Ahead |\n\nIf behind on any target:\n- Which initiatives need to increase output?\n- How much incremental activity is needed to close the gap?\n- At current conversion rates, how many more [emails\u002Fevents\u002Fintros] to hit the target?\n\n#### E) Effort vs. Impact Matrix\n\nClassify each initiative into a 2x2:\n\n```\n                    HIGH IMPACT\n                        │\n    SCALE UP            │           OPTIMIZE\n    (High impact,       │       (High impact,\n     low effort)        │        high effort)\n                        │\n────────────────────────┼─────────────────────\n                        │\n    MAINTAIN            │           QUESTION\n    (Low impact,        │       (Low impact,\n     low effort)        │        high effort)\n                        │\n                    LOW IMPACT\n```\n\n- **Scale Up:** High pipeline\u002Fmeetings relative to effort. Pour fuel on this fire.\n- **Optimize:** Producing results but resource-intensive. Find ways to make it more efficient.\n- **Maintain:** Low effort, modest results. Keep running, don't invest more.\n- **Question:** High effort, low results. Diagnose why or shut it down.\n\n#### F) Trend Analysis (If Comparison Period Available)\n\n| Metric | Prior Period | Current Period | Trend | Commentary |\n|--------|-------------|----------------|-------|-----------|\n| Total meetings | X | Y | +\u002F-Z% | [Accelerating\u002FDecelerating] |\n| Pipeline created | $X | $Y | +\u002F-Z% | [context] |\n| Best channel | [channel] | [channel] | [Same\u002FShifted] | [context] |\n| Qualification rate | X% | Y% | +\u002F-Z pts | [context] |\n\n### Output Contract\n\n```\nanalysis: {\n  initiative_scorecards: [\n    {\n      id: string\n      name: string\n      category: string\n      grade: \"A\" | \"B\" | \"C\" | \"D\" | \"F\"\n      verdict: string\n      key_metrics_summary: string\n    }\n  ]\n\n  cross_initiative_ranking: {\n    by_meetings_per_dollar: [ { name: string, value: number } ] | null\n    by_meeting_conversion: [ { name: string, value: percentage } ]\n    by_pipeline_per_meeting: [ { name: string, value: number } ] | null\n    by_win_rate: [ { name: string, value: percentage } ] | null\n    overall_best_performer: string\n    overall_worst_performer: string\n  }\n\n  funnel: {\n    total_activity: integer\n    total_responses: integer\n    total_meetings: integer\n    total_qualified: integer | null\n    total_pipeline: number | null\n    total_won: number | null\n    stage_conversions: [ { from: string, to: string, rate: percentage } ]\n    biggest_drop_off: string          # Which stage loses the most\n  }\n\n  gap_analysis: {\n    targets_summary: [ { metric: string, target: number, actual: number, gap: number, status: string } ]\n    behind_on: string[]               # Which targets are behind\n    incremental_needed: string        # \"Need X more meetings from Y channel to close the gap\"\n  } | null\n\n  effort_impact_matrix: {\n    scale_up: [ { name: string, reason: string } ]\n    optimize: [ { name: string, reason: string } ]\n    maintain: [ { name: string, reason: string } ]\n    question: [ { name: string, reason: string } ]\n  }\n\n  trends: {\n    overall_direction: \"improving\" | \"stable\" | \"declining\"\n    notable_shifts: string[]\n  } | null\n}\n```\n\n---\n\n## Step 4: Generate Insights & Recommendations\n\n**Purpose:** Distill the analysis into actionable insights — what to double down on, what to fix, what to kill, and what to start. Pure LLM reasoning.\n\n### Process\n\n#### A) What's Working (Double Down)\n\nIdentify initiatives or patterns that are clearly producing results:\n\n| Signal | Recommendation |\n|--------|---------------|\n| Initiative has A\u002FB grade + above-benchmark metrics | \"Scale [initiative]: increase volume by X%. It's converting at Y% — the highest across all channels.\" |\n| One channel produces 50%+ of qualified meetings | \"Double down on [channel]. It accounts for X% of qualified meetings at Y cost per meeting.\" |\n| Specific audience segment responding well | \"The [segment] audience converts at 2x the overall rate. Build a dedicated campaign for this segment.\" |\n| Referral\u002Fpartner channel has highest win rate | \"Invest in the referral program. Win rate is X% vs. Y% for cold outbound. Each intro is worth $Z in expected pipeline.\" |\n\n#### B) What's Not Working (Fix or Kill)\n\n| Signal | Recommendation |\n|--------|---------------|\n| Initiative has D\u002FF grade | \"Consider killing [initiative]. It's consumed [resources] and produced [minimal results]. Reallocate to [better performer].\" |\n| Channel has high activity but no pipeline | \"Diagnose [channel]. High volume (X sent) but near-zero pipeline. Either targeting, copy, or the channel itself isn't working.\" |\n| Large gap between meetings and qualified meetings | \"Meeting quality issue. X meetings booked but only Y qualified (Z%). Review ICP targeting and qualification criteria.\" |\n| High effort, low impact quadrant | \"[Initiative] is in the 'Question' quadrant. It's consuming [effort] for [minimal return]. Fix within 2 weeks or shut down.\" |\n\n#### C) What's Missing (Start)\n\n| Signal | Recommendation |\n|--------|---------------|\n| Only 1-2 channels active | \"Channel concentration risk. X% of pipeline comes from one channel. Test [suggested new channel] as a hedge.\" |\n| No inbound or content effort | \"100% outbound. Consider starting a lightweight inbound play (blog, LinkedIn content) to build a compounding pipeline source.\" |\n| No referral program | \"Referrals typically convert at 3-5x cold outbound. Start a structured referral ask to existing customers and partners.\" |\n| Strong outbound but no event presence | \"Consider attending [industry event]. Events produce higher-ACV pipeline for [segment].\" |\n\n#### D) Resource Allocation Recommendation\n\nBased on the effort-impact analysis, recommend how to allocate the team's time next period:\n\n```\nRecommended time allocation (next period):\n- [Channel A]: Increase from X% → Y% of team time (reason)\n- [Channel B]: Maintain at X% (reason)\n- [Channel C]: Reduce from X% → Y% or eliminate (reason)\n- [New Channel]: Allocate Z% for testing (reason)\n```\n\n### Output Contract\n\n```\ninsights: {\n  double_down: [\n    { initiative: string, recommendation: string, expected_impact: string, data_point: string }\n  ]\n  fix_or_kill: [\n    { initiative: string, recommendation: string, deadline: string, data_point: string }\n  ]\n  start: [\n    { recommendation: string, rationale: string, effort_estimate: string }\n  ]\n  resource_allocation: {\n    current: [ { channel: string, effort_percentage: percentage } ]\n    recommended: [ { channel: string, effort_percentage: percentage, change: string, reason: string } ]\n  }\n  key_risks: string[]                 # Top 3 risks to next period's targets\n}\n```\n\n---\n\n## Step 5: Generate Report\n\n**Purpose:** Produce a presentation-ready report that the team can review together. Two formats: the full detailed report and a slide-ready summary.\n\n### Input Contract\n\n```\ninitiative_inventory: [...]           # From Step 1\ninitiative_metrics: [...]             # From Step 2\nanalysis: { ... }                     # From Step 3\ninsights: { ... }                     # From Step 4\ntargets: { ... }                      # From config\nreport_audience: string               # From config\nperiod: { ... }\n```\n\n### Report Structure\n\nAdapt depth and tone based on `report_audience`:\n\n| Section | Team | Leadership | Board |\n|---------|------|-----------|-------|\n| Executive summary | Brief | Detailed | Concise + metrics |\n| Initiative scorecards | Full detail | Summary | Top\u002Fbottom only |\n| Cross-initiative comparison | Full tables | Rankings | Top 3 chart |\n| Funnel analysis | Detailed with actions | Stage conversion focus | High-level conversion |\n| Stuck\u002Fproblem areas | Detailed with fix plans | Summary with owners | Mention only |\n| Recommendations | Tactical, this-week actions | Strategic, this-quarter | Investment themes |\n\n```\n# Sales Performance Review — [Period Type]: [Start Date] to [End Date]\n\n## Executive Summary\n\n**Period overview:** [2-3 sentences: what happened, headline result]\n\n### Scorecard\n| Metric | Target | Actual | Status | Trend |\n|--------|--------|--------|--------|-------|\n| Meetings booked | X | Y | [ahead\u002Fbehind] | [+\u002F-Z% vs prior] |\n| Qualified meetings | X | Y | [ahead\u002Fbehind] | [+\u002F-Z%] |\n| Pipeline created | $X | $Y | [ahead\u002Fbehind] | [+\u002F-Z%] |\n| Revenue closed | $X | $Y | [ahead\u002Fbehind] | [+\u002F-Z%] |\n\n### Headline Insights\n1. **Best performer:** [Initiative] — [one-line result with key number]\n2. **Biggest concern:** [Issue] — [one-line description]\n3. **Biggest opportunity:** [What to do next] — [expected impact]\n\n---\n\n## Initiative Performance\n\n### Overview\n| # | Initiative | Channel | Grade | Meetings | Pipeline | Verdict |\n|---|-----------|---------|-------|----------|----------|---------|\n| 1 | [name] | Email | A | 18 | $240K | Scale up |\n| 2 | [name] | LinkedIn | B | 8 | $120K | Optimize |\n| 3 | [name] | Event | B+ | 12 | $180K | Repeat |\n| 4 | [name] | Content | C | 4 | $50K | Needs time |\n| 5 | [name] | Referral | A | 12 | $200K | Invest more |\n\n### Detailed Scorecards\n\n#### [Initiative 1 Name] — Grade: [X]\n**What it is:** [1-sentence description]\n**Target audience:** [Who]\n\n| Metric | Value | Benchmark | Status |\n|--------|-------|-----------|--------|\n| [Activity] | X | — | — |\n| Response rate | X% | Y% | [above\u002Fbelow] |\n| Meetings booked | X | — | — |\n| Meeting conversion | X% | Y% | [above\u002Fbelow] |\n| Pipeline created | $X | — | — |\n| Cost per meeting | $X | — | [if available] |\n\n**What worked:** [Specific things that performed well]\n**What didn't:** [Specific issues]\n**Recommendation:** [Scale \u002F Optimize \u002F Fix \u002F Kill]\n\n[Repeat for each initiative]\n\n---\n\n## Cross-Initiative Comparison\n\n### Efficiency Rankings\n| Rank | Initiative | Meetings Booked | Meeting Conversion | Pipeline per Meeting | Cost per Meeting |\n|------|-----------|----------------|-------------------|---------------------|-----------------|\n| 1 | [name] | X | Y% | $Z | $W |\n| 2 | [name] | X | Y% | $Z | $W |\n| ... |\n\n### Effort vs. Impact Matrix\n```\nSCALE UP (high impact, efficient):\n  • [Initiative] — [why]\n  • [Initiative] — [why]\n\nOPTIMIZE (high impact, resource-heavy):\n  • [Initiative] — [why]\n\nMAINTAIN (low effort, moderate results):\n  • [Initiative] — [why]\n\nQUESTION (high effort, low results):\n  • [Initiative] — [why]\n```\n\n---\n\n## Full Funnel Analysis\n\n### Aggregate Funnel\n```\n[Total Activity] → [Responses] → [Meetings] → [Qualified] → [Pipeline] → [Won]\n    X,XXX             XXX            XX           XX          $XXX K      $XX K\n              X.X%          X.X%          XX%          XX%          XX%\n```\n\n### Funnel by Channel\n| Channel | Activity | → Response | → Meeting | → Qualified | → Pipeline | → Won |\n|---------|----------|-----------|-----------|-------------|-----------|-------|\n| Email | X | Y% | Z% | W% | $V | $U |\n| LinkedIn | X | Y% | Z% | W% | $V | $U |\n| Events | X | Y% | Z% | W% | $V | $U |\n| Inbound | X | Y% | Z% | W% | $V | $U |\n| Referral | X | Y% | Z% | W% | $V | $U |\n\n**Biggest drop-off:** [Stage] — [X% of pipeline is lost here. Why and what to do.]\n\n---\n\n## Gap Analysis (vs. Targets)\n\n| Target | Goal | Actual | Gap | To Close the Gap |\n|--------|------|--------|-----|-----------------|\n| Meetings | X | Y | -Z | Need Z more from [best-converting channel] |\n| Pipeline | $X | $Y | -$Z | At avg deal size of $W, need Z more qualified meetings |\n| Revenue | $X | $Y | -$Z | Need to close X more deals from current pipeline |\n\n**Path to target:** [Specific plan — \"If we increase [channel] volume by X% and maintain current conversion, we close the gap in Y weeks.\"]\n\n---\n\n## Trends (vs. Prior Period)\n\n| Metric | Prior Period | Current Period | Change | Signal |\n|--------|-------------|---------------|--------|--------|\n| Total meetings | X | Y | +\u002F-Z% | [Improving\u002FDeclining] |\n| Qualification rate | X% | Y% | +\u002F-Z pts | [context] |\n| Pipeline created | $X | $Y | +\u002F-Z% | [context] |\n| Best channel | [channel] | [channel] | [Shifted?] | [context] |\n| Avg deal size | $X | $Y | +\u002F-Z% | [context] |\n\n[Commentary on what the trends mean]\n\n---\n\n## What's Working (Double Down)\n\n1. **[Initiative\u002FChannel]** — [Evidence with numbers]. Recommendation: [Specific action + expected impact].\n2. **[Initiative\u002FChannel]** — [Evidence]. Recommendation: [Action].\n3. **[Pattern]** — [Evidence]. Recommendation: [Action].\n\n## What's Not Working (Fix or Kill)\n\n1. **[Initiative\u002FChannel]** — [Evidence]. Recommendation: [Fix plan with deadline OR kill decision].\n2. **[Initiative\u002FChannel]** — [Evidence]. Recommendation: [Action].\n\n## What's Missing (Start)\n\n1. **[New initiative]** — [Rationale]. Expected effort: [X]. Expected impact: [Y].\n\n---\n\n## Recommended Resource Allocation (Next Period)\n\n| Channel | Current Effort | Recommended | Change | Reason |\n|---------|---------------|-------------|--------|--------|\n| Outbound email | X% | Y% | [+\u002F-Z%] | [reason] |\n| LinkedIn | X% | Y% | [+\u002F-Z%] | [reason] |\n| Events | X% | Y% | [+\u002F-Z%] | [reason] |\n| Content\u002FInbound | X% | Y% | [+\u002F-Z%] | [reason] |\n| Referrals | X% | Y% | [+\u002F-Z%] | [reason] |\n\n---\n\n## Action Items\n\n### This Week\n| # | Action | Owner | Deadline | Expected Impact |\n|---|--------|-------|----------|----------------|\n| 1 | [action] | [name] | [date] | [impact] |\n| 2 | [action] | [name] | [date] | [impact] |\n\n### This Month\n| # | Action | Owner | Expected Impact |\n|---|--------|-------|----------------|\n| 1 | [action] | [name] | [impact] |\n\n### Key Risks\n1. [Risk with mitigation plan]\n2. [Risk with mitigation plan]\n```\n\n---\n\n## Step 6: Export & Distribute\n\n**Purpose:** Save and optionally distribute the report.\n\n### Output Options\n\n| Destination | Format | Use Case |\n|-------------|--------|----------|\n| **Markdown file** | `.md` | Default — save to `clients\u002F\u003Cclient>\u002Freports\u002F` |\n| **Google Slides** | Presentation | Team meeting — one slide per section |\n| **Notion page** | Database entry | Running log of periodic reviews |\n| **Google Sheets** | Data tables | Supplement to the report — raw data for filtering |\n| **Email** | Summary | Send executive summary to leadership |\n| **stdout** | Display | Quick review in terminal |\n\n---\n\n## Execution Summary\n\n| Step | Tool Dependency | Human Checkpoint | Typical Time |\n|------|----------------|-----------------|--------------|\n| 0. Config | None | First run only | 5-10 min (once) |\n| 1. Inventory | Configurable (CRM, outreach tools) | Confirm all initiatives captured | 3-5 min |\n| 2. Pull Metrics | Configurable (CRM, outreach tools) | Verify metrics accuracy | 3-5 min |\n| 3. Analyze | None (computation + LLM reasoning) | None — feeds into report | Automatic |\n| 4. Insights | None (LLM reasoning) | None — feeds into report | Automatic |\n| 5. Generate Report | None (LLM reasoning) | Review final report | 5-10 min |\n| 6. Export | Configurable (file, Slides, Notion) | Optional | 1-2 min |\n\n**Total human review time: ~15-25 minutes** for a report that would take 2-4 hours of manual data gathering, spreadsheet building, and analysis.\n\n---\n\n## Cadence Guide\n\n| Review Type | Period | Best For | Focus |\n|-------------|--------|----------|-------|\n| **Weekly standup** | 7 days | Sales team | Activity metrics, stuck items, this week's priorities |\n| **Fortnightly review** | 14 days | Sales manager | Initiative performance, early trend detection |\n| **Monthly review** | 30 days | VP Sales \u002F Founder | Full diagnostic, cross-initiative comparison, resource allocation |\n| **Quarterly business review** | 90 days | Leadership \u002F Board | Strategic assessment, channel ROI, next quarter planning |\n\nThe report depth scales with period length. A weekly review focuses on activity and blockers. A quarterly review focuses on trends, ROI, and strategic allocation.\n\n---\n\n## Tips\n\n- **Attribution is the hardest part.** Don't let perfect be the enemy of good. If you can't do multi-touch attribution, first-touch is fine. If CRM source fields are empty, use email\u002Fname matching. Some attribution is infinitely better than none.\n- **Compare channels on the same metric.** \"We sent 2,500 emails and attended 1 conference\" is meaningless. \"Email produced 18 meetings at $0.50\u002Fmeeting. The conference produced 12 meetings at $400\u002Fmeeting\" is actionable.\n- **The effort-impact matrix drives resource allocation.** This is the most important visual in the report. It turns a complex multi-channel discussion into four simple quadrants.\n- **Include cost data when possible.** Revenue numbers without cost data tell half the story. A $200K pipeline from referrals (free) is very different from $200K from events ($50K cost).\n- **Trend direction matters more than absolute numbers.** A 3% reply rate that was 1.5% last month is great. A 5% reply rate that was 8% last month is concerning. Always show the trajectory.\n- **End every report with specific action items and owners.** A beautiful report with no actions is a waste. Every insight should map to \"who does what by when.\"\n- **Save historical reports.** The real power comes from comparing Q1 review to Q2 to Q3. Trends across review periods reveal strategic shifts that no single report can show.\n","# Sales Performance Review\n\nThe all-up periodic report. Every other analytics composite looks at one slice — a single campaign's emails, or the pipeline's current state. This one answers the question a founder or sales leader asks in every team meeting: **\"What did we do this period, and did it move the needle?\"**\n\nIt inventories every sales initiative, measures each one's contribution to pipeline and revenue, compares them against each other, and produces a presentation-ready report that the team can review together.\n\n**What makes this different from `pipeline-review` and `sequence-performance`:**\n\n| Composite | Scope | Question It Answers |\n|-----------|-------|-------------------|\n| `sequence-performance` | One email campaign | \"Is this specific campaign working?\" |\n| `pipeline-review` | Pipeline state | \"What does our pipeline look like right now?\" |\n| `sales-performance-review` | ALL initiatives across the period | \"What did we do, what worked, and where should we invest next?\" |\n\nThis composite can call `sequence-performance` for deeper campaign-level diagnosis and `pipeline-review` for pipeline state — but its primary job is the cross-initiative view.\n\n## When to Auto-Load\n\nLoad this composite when:\n- User says \"sales review\", \"periodic review\", \"what did we do this month\", \"team performance report\", \"sales standup report\"\n- User says \"prepare for the weekly\u002Fmonthly\u002Fquarterly sales meeting\"\n- User asks \"what's working\", \"where should we focus\", \"are our initiatives paying off\"\n- End of period (weekly, biweekly, monthly, quarterly) review is due\n\n---\n\n## Step 0: Configuration (One-Time Setup)\n\nOn first run, collect and store these preferences. Skip on subsequent runs.\n\n### Data Sources\n\n| Question | Purpose | Stored As |\n|----------|---------|-----------|\n| Where do you track deals\u002Fpipeline? | Pipeline attribution | `crm_tool` |\n| What outreach tools do you use? | Campaign data pull | `outreach_tools` (list) |\n| Do you track initiatives anywhere? (spreadsheet, Notion, project tool) | Initiative inventory | `initiative_tracker` |\n| What other sales channels are active? | Ensure complete coverage | `active_channels` |\n\n**Common `active_channels`:**\n```\nactive_channels: [\n  \"outbound_email\",        # Cold email campaigns\n  \"outbound_linkedin\",     # LinkedIn outreach\n  \"inbound_content\",       # Blog, SEO, content marketing\n  \"inbound_website\",       # Website conversions, demo requests\n  \"events\",                # Conferences, webinars, meetups\n  \"referrals\",             # Partner\u002Fcustomer referrals\n  \"paid_ads\",              # Google Ads, LinkedIn Ads, Meta Ads\n  \"social_organic\",        # LinkedIn posts, Twitter, community\n  \"partnerships\",          # Co-selling, integrations, channel\n  \"product_led\",           # Free trial, freemium, PLG\n  \"warm_outbound\"          # Re-engagement, nurture, expansion\n]\n```\n\n### Team & Goals\n\n| Question | Purpose | Stored As |\n|----------|---------|-----------|\n| Who is on the sales team? (names + roles) | Per-rep breakdown | `team_members` |\n| What are the period targets? | Gap analysis | `targets` |\n| What is the review cadence? | Default period length | `review_cadence` |\n| Who is the audience for this report? | Adjust depth\u002Ftone | `report_audience` |\n\n**Targets structure:**\n```\ntargets: {\n  meetings_booked: integer | null\n  qualified_opportunities: integer | null\n  pipeline_created: number | null       # Dollar value\n  deals_closed: integer | null\n  revenue_closed: number | null\n  other: [                              # Custom KPIs\n    { name: string, target: number }\n  ]\n}\n```\n\n**Report audience options:**\n- `\"team\"` — Sales team standup. Tactical, action-oriented. \"What do we do next week?\"\n- `\"leadership\"` — VP\u002FFounder review. Strategic, trend-focused. \"Are we on track? Where to invest?\"\n- `\"board\"` — Board\u002Finvestor update. High-level, metric-heavy. \"Is the GTM motion working?\"\n\n### Initiative Categories\n\nDefine the categories of initiatives the team runs. This creates the taxonomy for the report.\n\n```\ninitiative_categories: [\n  {\n    name: \"Outbound Email Campaigns\"\n    data_source: \"smartlead\"           # or \"instantly\", \"outreach\", etc.\n    metrics_available: [\"sent\", \"opens\", \"replies\", \"meetings\"]\n  },\n  {\n    name: \"LinkedIn Outreach\"\n    data_source: \"manual_tracking\"     # or \"dripify\", \"expandi\"\n    metrics_available: [\"connections_sent\", \"accepted\", \"replies\", \"meetings\"]\n  },\n  {\n    name: \"Events & Webinars\"\n    data_source: \"spreadsheet\"\n    metrics_available: [\"attended\", \"leads_captured\", \"meetings\", \"pipeline\"]\n  },\n  {\n    name: \"Inbound \u002F Content\"\n    data_source: \"hubspot\"             # or \"website_analytics\"\n    metrics_available: [\"visitors\", \"leads\", \"mqls\", \"meetings\"]\n  },\n  {\n    name: \"Referrals & Partnerships\"\n    data_source: \"crm\"\n    metrics_available: [\"intros\", \"meetings\", \"pipeline\", \"closed\"]\n  }\n]\n```\n\n**Store config in:** `clients\u002F\u003Cclient-name>\u002Fconfig\u002Fsales-performance-review.json` or equivalent.\n\n---\n\n## Step 1: Inventory All Initiatives\n\n**Purpose:** Build a complete inventory of every sales initiative executed during the review period. Nothing should be missing from the report.\n\n### Input Contract\n\n```\nperiod: {\n  type: \"weekly\" | \"fortnightly\" | \"monthly\" | \"quarterly\" | \"custom\"\n  start_date: string\n  end_date: string\n  comparison_period: boolean          # Default: true\n}\ninitiative_categories: [...]          # From config\ndata_sources: { ... }                 # From config\n```\n\n### Process\n\nFor each initiative category, pull the list of specific initiatives run during the period:\n\n#### A) Outbound Email Campaigns\n\nPull from configured outreach tool:\n\n| Tool | How to List Campaigns |\n|------|---------------------|\n| **Smartlead** | `get_campaigns` → filter by date range |\n| **Instantly** | API or CSV export of campaigns active in period |\n| **Others** | API, CSV, or user provides list |\n\nFor each campaign, capture:\n- Campaign name\n- Launch date\n- Status (active \u002F paused \u002F completed)\n- Target audience description\n- Total leads loaded\n- Current metrics snapshot (sent, opens, replies — detailed analysis comes in Step 3)\n\n#### B) LinkedIn Outreach\n\nPull from LinkedIn automation tool or manual tracking:\n- Campaign\u002Fsequence name\n- Connection requests sent\n- Messages sent\n- Period of activity\n\n#### C) Events & Webinars\n\nPull from tracking spreadsheet, CRM, or user provides:\n- Event name\n- Date\n- Type (conference, webinar, meetup, hosted event)\n- Attendees\u002Fleads captured\n- Follow-up status\n\n#### D) Inbound \u002F Content\n\nPull from website analytics, CRM, or marketing tool:\n- Content published (blog posts, case studies, whitepapers)\n- Website traffic \u002F lead form submissions\n- Demo requests\n- MQL count\n\n#### E) Referrals & Partnerships\n\nPull from CRM or manual tracking:\n- Referral sources (who referred)\n- Intro count\n- Meeting count\n\n#### F) Any Other Initiatives\n\nAsk the user: \"Were there any other sales initiatives this period not captured above?\"\n- Ad campaigns launched\n- Product-led growth experiments\n- New channel tests\n- One-off outreach efforts (conference follow-up blast, etc.)\n\n### Output Contract\n\n```\ninitiative_inventory: [\n  {\n    id: string                         # Generated identifier\n    name: string                       # Initiative name\n    category: string                   # Which category it belongs to\n    channel: string                    # \"email\", \"linkedin\", \"event\", \"inbound\", \"referral\", etc.\n    launch_date: string\n    status: \"active\" | \"paused\" | \"completed\"\n    description: string                # 1-2 sentence summary of what this initiative was\n    target_audience: string            # Who it was aimed at\n    data_source: string                # Where the data came from\n    raw_data_available: boolean        # Can we pull detailed metrics?\n  }\n]\n```\n\n### Human Checkpoint\n\n```\n## Initiative Inventory — [Period]\n\nFound X initiatives across Y categories:\n\n| # | Initiative | Category | Channel | Launched | Status |\n|---|-----------|----------|---------|----------|--------|\n| 1 | Q1 Series A Outbound | Outbound Email | Email | Jan 15 | Active |\n| 2 | LinkedIn ABM Campaign | LinkedIn Outreach | LinkedIn | Jan 20 | Active |\n| 3 | SaaStr Conference | Event | In-person | Feb 5 | Completed |\n| 4 | Blog: \"State of X\" report | Inbound Content | Content | Feb 10 | Active |\n| 5 | Partner intro program w\u002F Acme | Referral | Partner | Jan 1 | Active |\n\nMissing anything? Any initiatives not captured here?\n```\n\n---\n\n## Step 2: Pull Initiative-Level Metrics\n\n**Purpose:** For each initiative in the inventory, pull the detailed performance metrics. This is the data collection step — no analysis yet.\n\n### Input Contract\n\n```\ninitiative_inventory: [...]           # From Step 1\nperiod: { ... }\noutreach_tools: [...]                 # From config\ncrm_tool: string                     # From config\n```\n\n### Process\n\nFor each initiative, pull metrics appropriate to its channel:\n\n#### Outbound Email Metrics\n\n| Metric | Source |\n|--------|--------|\n| Emails sent | Outreach tool |\n| Unique recipients | Outreach tool |\n| Open rate | Outreach tool |\n| Reply rate | Outreach tool |\n| Positive reply rate | Outreach tool (if categorized) or estimate from reply analysis |\n| Bounce rate | Outreach tool |\n| Meetings booked | Outreach tool + CRM cross-reference |\n| Pipeline created ($) | CRM — deals sourced from this campaign |\n| Deals won ($) | CRM — closed deals sourced from this campaign |\n\n#### LinkedIn Outreach Metrics\n\n| Metric | Source |\n|--------|--------|\n| Connection requests sent | LinkedIn tool or manual count |\n| Connections accepted | LinkedIn tool |\n| Accept rate | Calculated |\n| Messages sent | LinkedIn tool |\n| Replies received | LinkedIn tool |\n| Reply rate | Calculated |\n| Meetings booked | Manual tracking or CRM |\n| Pipeline created ($) | CRM |\n\n#### Event Metrics\n\n| Metric | Source |\n|--------|--------|\n| Attendees \u002F leads captured | Event tool, badge scans, signup list |\n| Follow-ups sent | Outreach tool or manual |\n| Meetings booked from event | CRM or manual |\n| Pipeline created ($) | CRM |\n| Cost of event | Finance\u002Fbudget tracking |\n| Cost per meeting | Calculated |\n\n#### Inbound \u002F Content Metrics\n\n| Metric | Source |\n|--------|--------|\n| Content pieces published | CMS or manual count |\n| Website visitors (organic) | Analytics tool |\n| Lead form submissions | CRM or marketing tool |\n| Demo requests | CRM |\n| MQLs generated | CRM or marketing tool |\n| Pipeline created ($) | CRM |\n\n#### Referral \u002F Partnership Metrics\n\n| Metric | Source |\n|--------|--------|\n| Intros received | Manual tracking or CRM |\n| Meetings from intros | CRM |\n| Conversion rate (intro → meeting) | Calculated |\n| Pipeline created ($) | CRM |\n| Deals won ($) | CRM |\n\n### Pipeline Attribution\n\n**Critical step:** Connect initiatives to pipeline and revenue. For each deal in the CRM created during the period:\n- What initiative sourced it? (first touch attribution)\n- What initiative influenced it? (multi-touch, if trackable)\n- Current stage\n- Dollar value\n\nThis creates the bridge between \"what we did\" and \"what it produced.\"\n\n**Attribution methods (use the best available):**\n\n| Method | Accuracy | When to Use |\n|--------|----------|------------|\n| CRM source field | High | If reps consistently tag lead source |\n| Campaign ID match | High | If outreach tool logs campaign ID on the deal |\n| Email\u002Fname match | Medium | Match deal contact email to campaign lead lists |\n| Time-based proximity | Low | Deal created within 7 days of an initiative = attributed |\n| Ask the user | High | For small volume, just ask \"where did this deal come from?\" |\n\n### Output Contract\n\n```\ninitiative_metrics: [\n  {\n    id: string                         # Matches inventory\n    name: string\n    category: string\n    channel: string\n    metrics: {\n      # Activity metrics (what we did)\n      activity_volume: integer          # Emails sent, connections sent, leads captured, etc.\n      activity_label: string            # \"emails sent\", \"connections sent\", etc.\n\n      # Response metrics (what happened)\n      responses: integer                # Replies, accepts, form fills, etc.\n      response_rate: percentage\n      response_label: string            # \"replies\", \"accepted\", \"submitted\", etc.\n\n      # Meeting metrics (pipeline entry)\n      meetings_booked: integer\n      meeting_rate: percentage           # Meetings \u002F activity_volume\n      meetings_qualified: integer | null\n      qualification_rate: percentage | null\n\n      # Pipeline metrics (business impact)\n      pipeline_created: number | null    # Dollar value\n      deals_created: integer | null\n      avg_deal_size: number | null\n\n      # Revenue metrics (if deals closed)\n      deals_won: integer | null\n      revenue_closed: number | null\n\n      # Efficiency metrics\n      cost: number | null                # If cost data available\n      cost_per_meeting: number | null\n      cost_per_pipeline_dollar: number | null\n      roi: number | null                 # Revenue \u002F cost\n\n      # Comparison period\n      vs_prior: {\n        activity_change: percentage\n        response_rate_change: percentage\n        meetings_change: percentage\n        pipeline_change: percentage\n      } | null\n    }\n  }\n]\n```\n\n### Human Checkpoint\n\n```\n## Metrics Pulled\n\n| Initiative | Activity | Responses | Meetings | Pipeline | Revenue |\n|-----------|----------|-----------|----------|----------|---------|\n| Q1 Series A Outbound | 2,500 sent | 125 replies (5%) | 18 | $240K | $0 |\n| LinkedIn ABM | 300 requests | 180 accepted (60%) | 8 | $120K | $45K |\n| SaaStr Conference | 150 leads | 45 follow-ups | 12 | $180K | $0 |\n| Blog content | 5 posts | 28 leads | 4 | $50K | $0 |\n| Partner intros | 15 intros | 12 meetings | 12 | $200K | $80K |\n\nPipeline attribution notes:\n- X deals could not be attributed to a specific initiative\n- Y deals have multi-touch attribution (counted in primary source)\n\nData look accurate? Any corrections?\n```\n\n---\n\n## Step 3: Analyze Initiative Performance\n\n**Purpose:** Score each initiative, compare them against each other, and identify what's working, what's not, and where the gaps are. Pure LLM reasoning + computation.\n\n### Input Contract\n\n```\ninitiative_metrics: [...]             # From Step 2\ntargets: { ... }                      # From config\nteam_members: [...]                   # From config\nperiod: { ... }\n```\n\n### Analysis Sections\n\n#### A) Initiative Scorecards\n\nFor each initiative, produce a scorecard:\n\n```\nInitiative: [Name]\nCategory: [Category] | Channel: [Channel]\nStatus: [Active\u002FPaused\u002FCompleted]\n\nActivity:    [X sent\u002Fcaptured\u002Fetc.]    [+\u002F-Y% vs prior]\nResponse:    [X replies\u002Faccepts]       [Z% rate] [above\u002Fat\u002Fbelow benchmark]\nMeetings:    [X booked]               [Z% conversion]\nPipeline:    $[X]                     [+\u002F-Y% vs prior]\nRevenue:     $[X]                     [if applicable]\nEfficiency:  $[X] cost per meeting    [if cost data available]\n\nGrade: [A\u002FB\u002FC\u002FD\u002FF]\nVerdict: [One sentence — \"Strong performer, scale up\" \u002F \"Underperforming, diagnose copy\" \u002F etc.]\n```\n\n**Grading criteria:**\n\n| Grade | Criteria |\n|-------|---------|\n| **A** | Above benchmark on response rate AND meeting conversion AND pipeline creation. Clear ROI. |\n| **B** | At or above benchmark on most metrics. Producing pipeline. Room to optimize. |\n| **C** | Mixed results. Some metrics above, some below. Needs specific fixes. |\n| **D** | Below benchmark on most metrics. Producing minimal pipeline. Needs overhaul or kill decision. |\n| **F** | Failing across all metrics. Negative ROI. Should be stopped or completely rebuilt. |\n\n#### B) Cross-Initiative Comparison\n\nRank all initiatives on consistent metrics:\n\n| Ranking Dimension | Why It Matters |\n|-------------------|---------------|\n| **Meetings per dollar** (if cost data available) | Which channel gives most meetings for the spend |\n| **Meetings per activity unit** | Email sends vs. LinkedIn requests vs. event attendance — what converts best |\n| **Pipeline per meeting** | Which channels produce bigger deals once meetings happen |\n| **Speed to pipeline** | Time from initiative start to first pipeline dollar |\n| **Win rate by source** | Which channels produce deals that actually close |\n\n#### C) Funnel Analysis (Full Funnel View)\n\nMap the complete funnel across ALL initiatives combined:\n\n```\nTotal activity → Total responses → Total meetings → Qualified → Pipeline → Won\n[X emails+      [Y replies+       [Z meetings]    [W qual]    [$P]      [$R]\n connections+    accepts+\n leads+etc.]     leads]\n\nConversion rates at each stage:\nActivity → Response: X%\nResponse → Meeting: X%\nMeeting → Qualified: X%\nQualified → Pipeline: X%\nPipeline → Won: X%\n```\n\n#### D) Gap Analysis\n\nCompare actuals to targets:\n\n| Target | Actual | Gap | Status |\n|--------|--------|-----|--------|\n| Meetings booked: X | Y | +\u002F-Z | On track \u002F Behind \u002F Ahead |\n| Pipeline created: $X | $Y | +\u002F-$Z | On track \u002F Behind \u002F Ahead |\n| Revenue closed: $X | $Y | +\u002F-$Z | On track \u002F Behind \u002F Ahead |\n\nIf behind on any target:\n- Which initiatives need to increase output?\n- How much incremental activity is needed to close the gap?\n- At current conversion rates, how many more [emails\u002Fevents\u002Fintros] to hit the target?\n\n#### E) Effort vs. Impact Matrix\n\nClassify each initiative into a 2x2:\n\n```\n                    HIGH IMPACT\n                        │\n    SCALE UP            │           OPTIMIZE\n    (High impact,       │       (High impact,\n     low effort)        │        high effort)\n                        │\n────────────────────────┼─────────────────────\n                        │\n    MAINTAIN            │           QUESTION\n    (Low impact,        │       (Low impact,\n     low effort)        │        high effort)\n                        │\n                    LOW IMPACT\n```\n\n- **Scale Up:** High pipeline\u002Fmeetings relative to effort. Pour fuel on this fire.\n- **Optimize:** Producing results but resource-intensive. Find ways to make it more efficient.\n- **Maintain:** Low effort, modest results. Keep running, don't invest more.\n- **Question:** High effort, low results. Diagnose why or shut it down.\n\n#### F) Trend Analysis (If Comparison Period Available)\n\n| Metric | Prior Period | Current Period | Trend | Commentary |\n|--------|-------------|----------------|-------|-----------|\n| Total meetings | X | Y | +\u002F-Z% | [Accelerating\u002FDecelerating] |\n| Pipeline created | $X | $Y | +\u002F-Z% | [context] |\n| Best channel | [channel] | [channel] | [Same\u002FShifted] | [context] |\n| Qualification rate | X% | Y% | +\u002F-Z pts | [context] |\n\n### Output Contract\n\n```\nanalysis: {\n  initiative_scorecards: [\n    {\n      id: string\n      name: string\n      category: string\n      grade: \"A\" | \"B\" | \"C\" | \"D\" | \"F\"\n      verdict: string\n      key_metrics_summary: string\n    }\n  ]\n\n  cross_initiative_ranking: {\n    by_meetings_per_dollar: [ { name: string, value: number } ] | null\n    by_meeting_conversion: [ { name: string, value: percentage } ]\n    by_pipeline_per_meeting: [ { name: string, value: number } ] | null\n    by_win_rate: [ { name: string, value: percentage } ] | null\n    overall_best_performer: string\n    overall_worst_performer: string\n  }\n\n  funnel: {\n    total_activity: integer\n    total_responses: integer\n    total_meetings: integer\n    total_qualified: integer | null\n    total_pipeline: number | null\n    total_won: number | null\n    stage_conversions: [ { from: string, to: string, rate: percentage } ]\n    biggest_drop_off: string          # Which stage loses the most\n  }\n\n  gap_analysis: {\n    targets_summary: [ { metric: string, target: number, actual: number, gap: number, status: string } ]\n    behind_on: string[]               # Which targets are behind\n    incremental_needed: string        # \"Need X more meetings from Y channel to close the gap\"\n  } | null\n\n  effort_impact_matrix: {\n    scale_up: [ { name: string, reason: string } ]\n    optimize: [ { name: string, reason: string } ]\n    maintain: [ { name: string, reason: string } ]\n    question: [ { name: string, reason: string } ]\n  }\n\n  trends: {\n    overall_direction: \"improving\" | \"stable\" | \"declining\"\n    notable_shifts: string[]\n  } | null\n}\n```\n\n---\n\n## Step 4: Generate Insights & Recommendations\n\n**Purpose:** Distill the analysis into actionable insights — what to double down on, what to fix, what to kill, and what to start. Pure LLM reasoning.\n\n### Process\n\n#### A) What's Working (Double Down)\n\nIdentify initiatives or patterns that are clearly producing results:\n\n| Signal | Recommendation |\n|--------|---------------|\n| Initiative has A\u002FB grade + above-benchmark metrics | \"Scale [initiative]: increase volume by X%. It's converting at Y% — the highest across all channels.\" |\n| One channel produces 50%+ of qualified meetings | \"Double down on [channel]. It accounts for X% of qualified meetings at Y cost per meeting.\" |\n| Specific audience segment responding well | \"The [segment] audience converts at 2x the overall rate. Build a dedicated campaign for this segment.\" |\n| Referral\u002Fpartner channel has highest win rate | \"Invest in the referral program. Win rate is X% vs. Y% for cold outbound. Each intro is worth $Z in expected pipeline.\" |\n\n#### B) What's Not Working (Fix or Kill)\n\n| Signal | Recommendation |\n|--------|---------------|\n| Initiative has D\u002FF grade | \"Consider killing [initiative]. It's consumed [resources] and produced [minimal results]. Reallocate to [better performer].\" |\n| Channel has high activity but no pipeline | \"Diagnose [channel]. High volume (X sent) but near-zero pipeline. Either targeting, copy, or the channel itself isn't working.\" |\n| Large gap between meetings and qualified meetings | \"Meeting quality issue. X meetings booked but only Y qualified (Z%). Review ICP targeting and qualification criteria.\" |\n| High effort, low impact quadrant | \"[Initiative] is in the 'Question' quadrant. It's consuming [effort] for [minimal return]. Fix within 2 weeks or shut down.\" |\n\n#### C) What's Missing (Start)\n\n| Signal | Recommendation |\n|--------|---------------|\n| Only 1-2 channels active | \"Channel concentration risk. X% of pipeline comes from one channel. Test [suggested new channel] as a hedge.\" |\n| No inbound or content effort | \"100% outbound. Consider starting a lightweight inbound play (blog, LinkedIn content) to build a compounding pipeline source.\" |\n| No referral program | \"Referrals typically convert at 3-5x cold outbound. Start a structured referral ask to existing customers and partners.\" |\n| Strong outbound but no event presence | \"Consider attending [industry event]. Events produce higher-ACV pipeline for [segment].\" |\n\n#### D) Resource Allocation Recommendation\n\nBased on the effort-impact analysis, recommend how to allocate the team's time next period:\n\n```\nRecommended time allocation (next period):\n- [Channel A]: Increase from X% → Y% of team time (reason)\n- [Channel B]: Maintain at X% (reason)\n- [Channel C]: Reduce from X% → Y% or eliminate (reason)\n- [New Channel]: Allocate Z% for testing (reason)\n```\n\n### Output Contract\n\n```\ninsights: {\n  double_down: [\n    { initiative: string, recommendation: string, expected_impact: string, data_point: string }\n  ]\n  fix_or_kill: [\n    { initiative: string, recommendation: string, deadline: string, data_point: string }\n  ]\n  start: [\n    { recommendation: string, rationale: string, effort_estimate: string }\n  ]\n  resource_allocation: {\n    current: [ { channel: string, effort_percentage: percentage } ]\n    recommended: [ { channel: string, effort_percentage: percentage, change: string, reason: string } ]\n  }\n  key_risks: string[]                 # Top 3 risks to next period's targets\n}\n```\n\n---\n\n## Step 5: Generate Report\n\n**Purpose:** Produce a presentation-ready report that the team can review together. Two formats: the full detailed report and a slide-ready summary.\n\n### Input Contract\n\n```\ninitiative_inventory: [...]           # From Step 1\ninitiative_metrics: [...]             # From Step 2\nanalysis: { ... }                     # From Step 3\ninsights: { ... }                     # From Step 4\ntargets: { ... }                      # From config\nreport_audience: string               # From config\nperiod: { ... }\n```\n\n### Report Structure\n\nAdapt depth and tone based on `report_audience`:\n\n| Section | Team | Leadership | Board |\n|---------|------|-----------|-------|\n| Executive summary | Brief | Detailed | Concise + metrics |\n| Initiative scorecards | Full detail | Summary | Top\u002Fbottom only |\n| Cross-initiative comparison | Full tables | Rankings | Top 3 chart |\n| Funnel analysis | Detailed with actions | Stage conversion focus | High-level conversion |\n| Stuck\u002Fproblem areas | Detailed with fix plans | Summary with owners | Mention only |\n| Recommendations | Tactical, this-week actions | Strategic, this-quarter | Investment themes |\n\n```\n# Sales Performance Review — [Period Type]: [Start Date] to [End Date]\n\n## Executive Summary\n\n**Period overview:** [2-3 sentences: what happened, headline result]\n\n### Scorecard\n| Metric | Target | Actual | Status | Trend |\n|--------|--------|--------|--------|-------|\n| Meetings booked | X | Y | [ahead\u002Fbehind] | [+\u002F-Z% vs prior] |\n| Qualified meetings | X | Y | [ahead\u002Fbehind] | [+\u002F-Z%] |\n| Pipeline created | $X | $Y | [ahead\u002Fbehind] | [+\u002F-Z%] |\n| Revenue closed | $X | $Y | [ahead\u002Fbehind] | [+\u002F-Z%] |\n\n### Headline Insights\n1. **Best performer:** [Initiative] — [one-line result with key number]\n2. **Biggest concern:** [Issue] — [one-line description]\n3. **Biggest opportunity:** [What to do next] — [expected impact]\n\n---\n\n## Initiative Performance\n\n### Overview\n| # | Initiative | Channel | Grade | Meetings | Pipeline | Verdict |\n|---|-----------|---------|-------|----------|----------|---------|\n| 1 | [name] | Email | A | 18 | $240K | Scale up |\n| 2 | [name] | LinkedIn | B | 8 | $120K | Optimize |\n| 3 | [name] | Event | B+ | 12 | $180K | Repeat |\n| 4 | [name] | Content | C | 4 | $50K | Needs time |\n| 5 | [name] | Referral | A | 12 | $200K | Invest more |\n\n### Detailed Scorecards\n\n#### [Initiative 1 Name] — Grade: [X]\n**What it is:** [1-sentence description]\n**Target audience:** [Who]\n\n| Metric | Value | Benchmark | Status |\n|--------|-------|-----------|--------|\n| [Activity] | X | — | — |\n| Response rate | X% | Y% | [above\u002Fbelow] |\n| Meetings booked | X | — | — |\n| Meeting conversion | X% | Y% | [above\u002Fbelow] |\n| Pipeline created | $X | — | — |\n| Cost per meeting | $X | — | [if available] |\n\n**What worked:** [Specific things that performed well]\n**What didn't:** [Specific issues]\n**Recommendation:** [Scale \u002F Optimize \u002F Fix \u002F Kill]\n\n[Repeat for each initiative]\n\n---\n\n## Cross-Initiative Comparison\n\n### Efficiency Rankings\n| Rank | Initiative | Meetings Booked | Meeting Conversion | Pipeline per Meeting | Cost per Meeting |\n|------|-----------|----------------|-------------------|---------------------|-----------------|\n| 1 | [name] | X | Y% | $Z | $W |\n| 2 | [name] | X | Y% | $Z | $W |\n| ... |\n\n### Effort vs. Impact Matrix\n```\nSCALE UP (high impact, efficient):\n  • [Initiative] — [why]\n  • [Initiative] — [why]\n\nOPTIMIZE (high impact, resource-heavy):\n  • [Initiative] — [why]\n\nMAINTAIN (low effort, moderate results):\n  • [Initiative] — [why]\n\nQUESTION (high effort, low results):\n  • [Initiative] — [why]\n```\n\n---\n\n## Full Funnel Analysis\n\n### Aggregate Funnel\n```\n[Total Activity] → [Responses] → [Meetings] → [Qualified] → [Pipeline] → [Won]\n    X,XXX             XXX            XX           XX          $XXX K      $XX K\n              X.X%          X.X%          XX%          XX%          XX%\n```\n\n### Funnel by Channel\n| Channel | Activity | → Response | → Meeting | → Qualified | → Pipeline | → Won |\n|---------|----------|-----------|-----------|-------------|-----------|-------|\n| Email | X | Y% | Z% | W% | $V | $U |\n| LinkedIn | X | Y% | Z% | W% | $V | $U |\n| Events | X | Y% | Z% | W% | $V | $U |\n| Inbound | X | Y% | Z% | W% | $V | $U |\n| Referral | X | Y% | Z% | W% | $V | $U |\n\n**Biggest drop-off:** [Stage] — [X% of pipeline is lost here. Why and what to do.]\n\n---\n\n## Gap Analysis (vs. Targets)\n\n| Target | Goal | Actual | Gap | To Close the Gap |\n|--------|------|--------|-----|-----------------|\n| Meetings | X | Y | -Z | Need Z more from [best-converting channel] |\n| Pipeline | $X | $Y | -$Z | At avg deal size of $W, need Z more qualified meetings |\n| Revenue | $X | $Y | -$Z | Need to close X more deals from current pipeline |\n\n**Path to target:** [Specific plan — \"If we increase [channel] volume by X% and maintain current conversion, we close the gap in Y weeks.\"]\n\n---\n\n## Trends (vs. Prior Period)\n\n| Metric | Prior Period | Current Period | Change | Signal |\n|--------|-------------|---------------|--------|--------|\n| Total meetings | X | Y | +\u002F-Z% | [Improving\u002FDeclining] |\n| Qualification rate | X% | Y% | +\u002F-Z pts | [context] |\n| Pipeline created | $X | $Y | +\u002F-Z% | [context] |\n| Best channel | [channel] | [channel] | [Shifted?] | [context] |\n| Avg deal size | $X | $Y | +\u002F-Z% | [context] |\n\n[Commentary on what the trends mean]\n\n---\n\n## What's Working (Double Down)\n\n1. **[Initiative\u002FChannel]** — [Evidence with numbers]. Recommendation: [Specific action + expected impact].\n2. **[Initiative\u002FChannel]** — [Evidence]. Recommendation: [Action].\n3. **[Pattern]** — [Evidence]. Recommendation: [Action].\n\n## What's Not Working (Fix or Kill)\n\n1. **[Initiative\u002FChannel]** — [Evidence]. Recommendation: [Fix plan with deadline OR kill decision].\n2. **[Initiative\u002FChannel]** — [Evidence]. Recommendation: [Action].\n\n## What's Missing (Start)\n\n1. **[New initiative]** — [Rationale]. Expected effort: [X]. Expected impact: [Y].\n\n---\n\n## Recommended Resource Allocation (Next Period)\n\n| Channel | Current Effort | Recommended | Change | Reason |\n|---------|---------------|-------------|--------|--------|\n| Outbound email | X% | Y% | [+\u002F-Z%] | [reason] |\n| LinkedIn | X% | Y% | [+\u002F-Z%] | [reason] |\n| Events | X% | Y% | [+\u002F-Z%] | [reason] |\n| Content\u002FInbound | X% | Y% | [+\u002F-Z%] | [reason] |\n| Referrals | X% | Y% | [+\u002F-Z%] | [reason] |\n\n---\n\n## Action Items\n\n### This Week\n| # | Action | Owner | Deadline | Expected Impact |\n|---|--------|-------|----------|----------------|\n| 1 | [action] | [name] | [date] | [impact] |\n| 2 | [action] | [name] | [date] | [impact] |\n\n### This Month\n| # | Action | Owner | Expected Impact |\n|---|--------|-------|----------------|\n| 1 | [action] | [name] | [impact] |\n\n### Key Risks\n1. [Risk with mitigation plan]\n2. [Risk with mitigation plan]\n```\n\n---\n\n## Step 6: Export & Distribute\n\n**Purpose:** Save and optionally distribute the report.\n\n### Output Options\n\n| Destination | Format | Use Case |\n|-------------|--------|----------|\n| **Markdown file** | `.md` | Default — save to `clients\u002F\u003Cclient>\u002Freports\u002F` |\n| **Google Slides** | Presentation | Team meeting — one slide per section |\n| **Notion page** | Database entry | Running log of periodic reviews |\n| **Google Sheets** | Data tables | Supplement to the report — raw data for filtering |\n| **Email** | Summary | Send executive summary to leadership |\n| **stdout** | Display | Quick review in terminal |\n\n---\n\n## Execution Summary\n\n| Step | Tool Dependency | Human Checkpoint | Typical Time |\n|------|----------------|-----------------|--------------|\n| 0. Config | None | First run only | 5-10 min (once) |\n| 1. Inventory | Configurable (CRM, outreach tools) | Confirm all initiatives captured | 3-5 min |\n| 2. Pull Metrics | Configurable (CRM, outreach tools) | Verify metrics accuracy | 3-5 min |\n| 3. Analyze | None (computation + LLM reasoning) | None — feeds into report | Automatic |\n| 4. Insights | None (LLM reasoning) | None — feeds into report | Automatic |\n| 5. Generate Report | None (LLM reasoning) | Review final report | 5-10 min |\n| 6. Export | Configurable (file, Slides, Notion) | Optional | 1-2 min |\n\n**Total human review time: ~15-25 minutes** for a report that would take 2-4 hours of manual data gathering, spreadsheet building, and analysis.\n\n---\n\n## Cadence Guide\n\n| Review Type | Period | Best For | Focus |\n|-------------|--------|----------|-------|\n| **Weekly standup** | 7 days | Sales team | Activity metrics, stuck items, this week's priorities |\n| **Fortnightly review** | 14 days | Sales manager | Initiative performance, early trend detection |\n| **Monthly review** | 30 days | VP Sales \u002F Founder | Full diagnostic, cross-initiative comparison, resource allocation |\n| **Quarterly business review** | 90 days | Leadership \u002F Board | Strategic assessment, channel ROI, next quarter planning |\n\nThe report depth scales with period length. A weekly review focuses on activity and blockers. A quarterly review focuses on trends, ROI, and strategic allocation.\n\n---\n\n## Tips\n\n- **Attribution is the hardest part.** Don't let perfect be the enemy of good. If you can't do multi-touch attribution, first-touch is fine. If CRM source fields are empty, use email\u002Fname matching. Some attribution is infinitely better than none.\n- **Compare channels on the same metric.** \"We sent 2,500 emails and attended 1 conference\" is meaningless. \"Email produced 18 meetings at $0.50\u002Fmeeting. The conference produced 12 meetings at $400\u002Fmeeting\" is actionable.\n- **The effort-impact matrix drives resource allocation.** This is the most important visual in the report. It turns a complex multi-channel discussion into four simple quadrants.\n- **Include cost data when possible.** Revenue numbers without cost data tell half the story. A $200K pipeline from referrals (free) is very different from $200K from events ($50K cost).\n- **Trend direction matters more than absolute numbers.** A 3% reply rate that was 1.5% last month is great. A 5% reply rate that was 8% last month is concerning. Always show the trajectory.\n- **End every report with specific action items and owners.** A beautiful report with no actions is a waste. Every insight should map to \"who does what by when.\"\n- **Save historical reports.** The real power comes from comparing Q1 review to Q2 to Q3. Trends across review periods reveal strategic shifts that no single report can show.\n",{"name":5,"tags":51,"graph":53,"version":75,"description":76},[52],"research",{"provides":54,"requires":59,"connects_to":63,"capabilities":72},[55,56,57,58],"sales-performance-report","initiative-scorecards","cross-initiative-comparison","investment-recommendations",[60,61,62],"initiative-data","pipeline-data","your-company-context",[64,68],{"when":65,"skill":66,"passes":67},"A specific campaign needs deeper diagnosis","sequence-performance","campaign_id",{"when":69,"skill":70,"passes":71},"Pipeline state needs deeper analysis","pipeline-review","period, pipeline_data",[43,73,74],"attribution","reporting","1.0.0","Periodic sales performance review composite. Aggregates ALL sales initiatives taken in a given period — outbound campaigns, inbound efforts, events, partnerships, content, referrals — and measures the impact of each on pipeline and revenue. Produces a team-presentable report covering initiative-level performance, cross-initiative comparisons, pipeline attribution, what's working, what's not, and where to invest next. Tool-agnostic — pulls data from any combination of CRM, outreach tools, and tracking systems.\n","master","c73386b305dec167db7654e0e6feacb462d4f9dc","assets\u002Fskills\u002Fgtm\u002Fgtm-sales-performance-review",1,"https:\u002F\u002Fgithub.com\u002FAntifragileTech\u002Fantifragile-claude-code","https:\u002F\u002Fgithub.com\u002FAntifragileTech","2026-10-02 14:22:14",{"source":8,"skillName":5,"commands":85,"prompt":95,"zipAvailable":96},[86,89,92],{"tool":87,"command":88},"npx","npx skills add AntifragileTech\u002Fantifragile-claude-code --skill gtm-sales-performance-review",{"tool":90,"command":91},"bunx","bunx skills add AntifragileTech\u002Fantifragile-claude-code --skill gtm-sales-performance-review",{"tool":93,"command":94},"pnpm","pnpm dlx skills add AntifragileTech\u002Fantifragile-claude-code --skill gtm-sales-performance-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FAntifragileTech\u002Fantifragile-claude-code\u002Fblob\u002Fmaster\u002Fassets\u002Fskills\u002Fgtm\u002Fgtm-sales-performance-review\u002FSKILL.md",true,[98],{"path":99,"resourceType":100,"resourceTypeDesc":101,"sizeBytes":102,"sourceHtmlUrl":103},"skill.meta.json","REFERENCE","参考文档",272,"https:\u002F\u002Fgithub.com\u002FAntifragileTech\u002Fantifragile-claude-code\u002Fblob\u002Fmaster\u002Fassets\u002Fskills\u002Fgtm\u002Fgtm-sales-performance-review\u002Fskill.meta.json",[105,129,144,159,171,184],{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":122,"publishedAt":46},"01M6DT9Q6VYA615SCXR757TZZ7","writing-skills","Use when creating new skills, editing existing skills, or verifying skills work before deployment","https:\u002F\u002Fgithub.com\u002FAntifragileTech\u002Fantifragile-claude-code\u002Fblob\u002Fmaster\u002Fassets\u002Fskills\u002Fthinking\u002Fwriting-skills\u002FSKILL.md",[111,116,119],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":117,"categoryName":118,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":120,"categoryName":121,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000036","内容创作者",[123,124,125,126,127,128],"writing skills","writing","use","editing","work","deployment",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":137,"publishedAt":46},"01M6DT9GFHDNY90P41WGAE1TV0","writing-plans","Use when you have a spec or requirements for a multi-step task, before touching code","https:\u002F\u002Fgithub.com\u002FAntifragileTech\u002Fantifragile-claude-code\u002Fblob\u002Fmaster\u002Fassets\u002Fskills\u002Fthinking\u002Fwriting-plans\u002FSKILL.md",[135,136],{"categoryNo":117,"categoryName":118,"taxonomyType":114,"taxonomyTypeDesc":115},{"categoryNo":120,"categoryName":121,"taxonomyType":20,"taxonomyTypeDesc":21},[138,139,124,140,141,125,142,143],"plans","writing plans","requirements","task","code","spec",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":152,"publishedAt":46},"01M6DT9C6PFGD86WS3HY7YE3XG","docs:write-concisely","Apply writing rules to any documentation that humans will read. Makes your writing clearer, stronger, and more professional.","https:\u002F\u002Fgithub.com\u002FAntifragileTech\u002Fantifragile-claude-code\u002Fblob\u002Fmaster\u002Fassets\u002Fskills\u002Fthinking\u002Fwrite-concisely\u002FSKILL.md",[150,151],{"categoryNo":117,"categoryName":118,"taxonomyType":114,"taxonomyTypeDesc":115},{"categoryNo":120,"categoryName":121,"taxonomyType":20,"taxonomyTypeDesc":21},[153,154,155,156,157,158,124],"docs:write concisely","write","docs","read","Rules","documentation",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":46},"01M6DT98AWQ27P0N1CG97WAG66","kaizen:why","Iterative Five Whys root cause analysis drilling from symptoms to fundamentals","https:\u002F\u002Fgithub.com\u002FAntifragileTech\u002Fantifragile-claude-code\u002Fblob\u002Fmaster\u002Fassets\u002Fskills\u002Fthinking\u002Fwhy\u002FSKILL.md",[],[161,166,167,168,169,32,170],"why","kaizen","issue","five whys","root cause analysis",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":177,"publishedAt":46},"01M6DT93EH25NAX19R3WGE1P53","verification-loop","A comprehensive verification system for Claude Code sessions.","https:\u002F\u002Fgithub.com\u002FAntifragileTech\u002Fantifragile-claude-code\u002Fblob\u002Fmaster\u002Fassets\u002Fskills\u002Fthinking\u002Fverification-loop\u002FSKILL.md",[],[178,179,180,181,142,182,183],"verification loop","verification","loop","sessions","claude code sessions","system",{"skillNo":185,"name":186,"nameZh":6,"description":187,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":188,"categories":189,"keywords":190,"publishedAt":46},"01M6DT90GW7Z7VCN98P9DVYSNC","verification-before-completion","Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always","https:\u002F\u002Fgithub.com\u002FAntifragileTech\u002Fantifragile-claude-code\u002Fblob\u002Fmaster\u002Fassets\u002Fskills\u002Fthinking\u002Fverification-before-completion\u002FSKILL.md",[],[191,179,192,127,125,193,194,195],"verification before completion","commands","evidence","claim","complete"]