meddpicc-gap-audit
Installation
SKILL.md
Use this skill when a deal is coming up for a forecast call, a stage change, when someone asks what's actually missing on it, or after a new call or email that might change qualification. Input: one or more meeting transcripts or email threads for the deal — this skill has nothing to work from without at least one. The deal's current CRM/qualification field values are optional, supplied separately, and used only for reconciliation, not as the primary input. Produces a per-component status — verified, unverified, or confirmed risk — for every MEDDPICC/MEDDIC component, each backed by the exact evidence that produced it.
The play
- Start from the meeting transcript(s) or email thread(s) supplied for this deal — that's the material everything else is extracted from. If the deal's current qualification data (CRM fields, a deal doc, notes) was also supplied, note it as the baseline to reconcile against later; if it wasn't, say so explicitly rather than silently skipping reconciliation.
- Read the transcripts/emails and map language to each MEDDPICC component (Metrics, Economic Buyer, Decision Criteria, Decision Process, Paper Process, Identify Pain, Champion, Competition) as you go. For every mapping, quote the exact line or lines that justify it. A paraphrase is not a citation.
- If more than one transcript or email is supplied for the deal, order them chronologically before mapping anything. Where a component has evidence in more than one source, the most recent statement is the current status — unless it actually reverses an earlier one (a champion's enthusiasm cooling, a budget that was confirmed becoming unconfirmed). A reversal is a finding in its own right — cite both the earlier and later statements rather than quietly keeping only the newer one. Added detail that doesn't conflict (a second call naming specific frameworks after a first call named compliance generally) is enrichment, not a reversal — no flag needed.
- Before mapping anything from a transcript, resolve who's speaking. See
references/speaker-attribution.mdfor the fallback chain — domain metadata, then contact-list match, then a content-cue guess that must be confirmed before use. When a CRM connection is available, its own contact and owner records for the deal are usually the strongest source for the contact-list rung — check there before falling back to a guess. - For every mapping, check that the speaker actually matches the side the component expects — a seller describing their own product is not evidence of the buyer's pain, need, or criteria, even when the topic overlaps. Discard or re-flag any mapping that fails this check rather than citing it anyway.
- If CRM/qualification values were supplied in step 1, reconcile each mapped value against the existing value for that component: does the source material support it, contradict it, or say nothing? Where the CRM is blank and the source speaks directly to that component, that's a fillable gap with the citation already attached. Where the CRM and the source disagree, surface the disagreement explicitly — never quietly overwrite one with the other — and say what kind of disagreement it is: a hard factual conflict (a number, a name) is a different problem than a qualitative maturity mismatch (a status claim the source doesn't support). Apply the same defensibility check to the CRM's existing value, too — a vague entry doesn't get a pass just because nothing in the source material contradicts it. If no CRM values were supplied, skip this step and say so in the output rather than presenting the extraction as a reconciled audit.
- Grade every component on two separate axes: is it defensible (a real citation exists, not a restated field or a paraphrase), and is the actual answer favorable. A well-cited "no budget confirmed" is defensible but still a real risk — flag it as a confirmed risk, not a data gap, and never let a good citation round an unfavorable answer up to verified.
- Cross-check gap severity against deal stage. A missing component early on is routine. The same gap at a mature stage — verbal commit, contract-out — is urgent; surface it as a stage/qualification mismatch on its own, not folded quietly into the individual component's score.
- If a live CRM connection exists, the default is still to only report — a connection is not permission. Only if the person running this skill explicitly asks to update the CRM, go field by field: show the field name, its current value, the proposed new value, and the citation behind it, and get explicit confirmation on that specific change before writing it. Let them skip any field they don't want touched. Never write a value that has no citation behind it, even on request — say it's unconfirmed instead of writing it.