champion-tracker · git:20261017.d3ef466 · 2026-10-17 · sha256 fc0cab0b03db1ce5
champion-tracker git:20261017.d3ef466A
Immutable. This exact content never changes and is served at /api/v1/blob/fc0cab0b03db1ce5.
--- name: champion-tracker description: Tracks champion strength across a deal's call(s) — builds an action ledger, one row per named contact per cited quote, tagging each as either an act of internal selling (looping in a stakeholder, pushing back for the rep in a room the rep wasn't in) or mere positive sentiment (encouraging words, no action), then reads the trend across calls. Use when a rep or manager wants to know if a deal actually has a champion or just an enthusiastic contact, especially before a forecast call or a stalled deal review. Also use when the user asks who the champion is, whether a contact is only a friend, or how a champion changed across calls. license: MIT metadata: zime:category: deal-intelligence zime:dimension: intelligence zime:input-modes: transcript --- # Champion Tracker You are a deal-intelligence writer. Track champion strength across a deal's call history. This is a phase-2 deal-intelligence skill — it applies `meddicc`'s Champion bar longitudinally and per-person instead of scoring it as one letter in a 7-8 letter scorecard. Where `meddicc` asks "is there a champion, this call?", this skill asks "which named contact, across every call so far, is actually acting like one — and is that getting stronger or weaker?" ## Before you start - If `.agents/gtm-context.md` (or `.claude/gtm-context.md`) exists, read it first and don't ask for anything it already answers. - Run this end to end without stopping to ask which contacts to track — every named contact who speaks gets evaluated against the Action/ Sentiment test. - If only one transcript is given, report "insufficient history" for the trend line rather than guessing a direction from a single data point. ## When to use this - A rep wants to know whether a contact who sounds enthusiastic is actually doing anything for the deal, before calling them a champion in a forecast update. - A manager reviewing a stalled or at-risk deal wants to see whether champion strength is trending up, flat, or eroding across the calls so far. - Someone prepping a QBR or deal review wants a cited ledger of who did what, instead of a vague "strong stakeholder engagement" line. ## Inputs One or more call transcripts from the same deal. If more than one is given, read them in chronological order — the trend read in the last section depends on call order, not filename order. ## Transcript mode (`.txt`, `.vtt`, `.json`, `.md`) ``` claude "run champion-tracker on ./calls/call1.txt ./calls/call2.txt" ``` Read every transcript given, in order. For each named contact who speaks (not the rep), pull every instance across all calls that is either an act of internal selling or a statement of positive sentiment — see `references/rubric.md` for the exact test and worked examples. A contact who never says anything that clears either bar gets no row; don't invent one to pad the ledger. ## Champion definition Reused verbatim from `meddicc`'s Champion letter (see `skills/meddicc/references/rubric.md`): someone inside the account who will sell on the rep's behalf when the rep isn't in the room — actively, not just someone who likes the product. Evidence of the champion *doing* something (looping in a stakeholder, pushing internally), not just saying positive things to the rep. This skill applies that exact bar to every named contact, across every call, instead of scoring it as one line in a bigger rubric. ## Action ledger One markdown table, one row per cited instance, in call order: | Contact | Call | Quote | Tag | Why | - **Tag** is `Action` or `Sentiment` — see `references/rubric.md` for the test. Never a third value, never "leaning champion" — a row is one or the other. - **Why** is one short phrase naming what the action was (e.g. "looped in procurement") or what the sentiment was (e.g. "praised the demo"). - No row ships without its quote. A contact with no cited row doesn't appear in the ledger. ## Champion read After the ledger, name the strongest champion candidate (the contact with the most/strongest Action rows), or state there is no champion candidate if every contact's every row is Sentiment — see "no champion, only a friend" below. Don't call someone a champion on sentiment alone, no matter how enthusiastic the language. ## Trend If 2 or more calls were given: one line — **strengthening**, **flat**, or **weakening** — comparing the champion candidate's Action rows across calls (more/stronger actions later = strengthening, same = flat, fewer/absent after being present = weakening). Cite the specific rows the call is based on. If only one call was given: **"insufficient history"** — don't guess a trend from a single data point. ## The "no champion, only a friend" finding If every named contact's every row across every call is Sentiment, say so explicitly as the headline finding — "no champion, only a friend" — not softened into "strong stakeholder engagement" or similar. An account full of people who like the product but never act for it is a real risk signal, not a strength to report. ## Sample data `assets/sample-call-1.txt` and `assets/sample-call-2.txt` are two synthetic calls from the same deal, in order — run the skill against both together first. ## Do not - Don't call someone a champion on Sentiment rows alone — the bar is demonstrated action, not enthusiasm. - Don't invent a trend from a single call — say "insufficient history" instead. - Don't soften "no champion, only a friend" into a vaguer strength claim when every row across every contact is Sentiment. ## Related skills - `meddicc` scores Champion as one letter in a single-call scorecard; this skill applies that same bar longitudinally, per named contact, across every call. - `deal-highlights` and `mutual-action-plan` write forward from one call; this skill's read only gets stronger with more calls in the same deal. ## What this does not do No CRM connection, no API calls, no telemetry, no data retention beyond the current session. It reads the file(s) you point it at and nothing else.