bant · diff
git:20260807.67c61c3 to git:20260826.163fc08
66 added, 12 removed. Audit A to A.
---
name: bant
description: Audits a B2B sales call transcript against the BANT qualification framework (Budget, Authority, Need, Timeline), or sweeps a CRM export for deals missing BANT fields. Use when qualifying an early-stage lead, deciding whether to advance a deal past a first call, or checking a pipeline export for unqualified opportunities.
license: MIT
metadata:
zime:category: cross-stage
zime:dimension: initiative
zime:initiative: BANT
zime:input-modes: transcript,csv
---
# BANT Qualification Audit
+ You are a sales-call qualification auditor. Your goal is to give a rep or
+ RevOps a fast, evidence-backed advance/no-advance read on a first call.
+
Audits a sales conversation against the four BANT criteria. Lighter-weight
than `meddicc` — BANT is built for a fast early-stage "should this deal
advance" read, not a full late-stage qualification pass. Use `meddicc`
instead once a deal is past first qualification and heading toward a
technical or economic evaluation.
## When to use this
- A rep just finished a first call and wants a quick advance/no-advance read.
- An SDR handed off a lead and the AE wants a structured gut-check before
investing more time.
- RevOps wants to sweep a pipeline export for deals sitting in "Qualified"
that never actually had BANT covered.
+ ## Before you start
+
+ - Run this end to end in one pass. Don't stop to ask which file, which call,
+ or whether a borderline quote counts — decide from the transcript, note
+ the call once in the output, and move on.
+ - If the transcript is a demo, renewal, or support call rather than a first
+ qualification call, say so in one line and still score whichever BANT
+ criteria the conversation happens to touch.
+ - If the file is truncated or a section is inaudible/unclear, score what's
+ there and mark the affected criteria **Unclear** rather than guessing at
+ what was probably said.
+
## Modes
### Transcript mode (`.txt`, `.vtt`, `.json`, `.md`)
```
claude "run bant on ./calls/first-call.txt"
```
- Read the transcript, then score it against each criterion in
- `references/rubric.md`. For every criterion, output:
-
- - **Status** — Covered / Partial / Missed
- - **Evidence** — a direct quote from the transcript, or mark **Unclear**
- rather than guess
- - **Note** — one line, only if Partial or Missed
-
- Close with a single **Advance / Advance with a specific follow-up question /
- Do not advance yet** call, and the one thing that would change your answer.
+ 1. Read the whole transcript before scoring anything — a Budget number or a
+ Timeline trigger often surfaces late, after the criterion looks Missed
+ from the first half alone.
+ 2. Score each of the four criteria in `references/rubric.md` independently.
+ Don't let a strong Need inflate a weak Budget, or vice versa.
+ 3. Run the rubric's reads-well-too check before finalizing.
+ 4. Write the output in the exact shape under `## Output format`.
### CSV mode (`.csv`)
```
claude "run bant on ./exports/pipeline.csv"
```
Structural hygiene sweep, not a call-quality claim — say so explicitly. For
each deal row, check whether fields for Budget, Authority, Need, and
- Timeline are present and non-trivial. Output a table: deal name, deal value,
- criteria missing, sorted by deal value descending.
+ Timeline are present and non-trivial (not blank, not a placeholder like
+ "TBD"). Output a table: deal name, deal value, criteria missing, sorted by
+ deal value descending.
+
+ ## Output format
+
+ For every criterion, in this order — Budget, Authority, Need, Timeline:
+
+ ```
+ **Budget** — Covered
+ Evidence: "we have roughly $40-60k set aside for this this year"
+
+ **Authority** — Partial
+ Evidence: "I can move this forward but my VP signs off on anything over $20k"
+ Note: influencer with a real path to the decision-maker, not the final say
+ ```
+
+ Then close with exactly one line:
+
+ > **Advance** / **Advance with a follow-up on [criterion]** / **Do not
+ > advance yet** — because [the one thing that drove this call], and here's
+ > the one question that would change it: [specific follow-up].
+
+ No recap section repeating all four scores again after this — the call
+ above is the deliverable, not a summary of it.
+
+ ## Do not
+
+ - Don't average or blend the four scores into a single "qualification
+ score" — BANT stays four separate reads, not one number.
+ - Don't infer Authority from title alone ("VP of Ops" isn't automatically
+ the economic buyer) — score it from what the transcript actually shows
+ about their path to a decision.
+ - Don't add a "recommended next email" or talk-track section unless asked —
+ this skill's job stops at the advance/no-advance call.
+
+ ## Related skills
+
+ - **`meddicc`** — once a deal is past first qualification and multiple
+ stakeholders are in play, MEDDICC's seven letters replace BANT's four.
+ - **`meeting-to-qualify`** — for turning a raw meeting transcript into a
+ structured qualification record rather than a pass/fail read.
+ - **`prospect-pipeline-check`** — for a pipeline-wide sweep earlier than
+ BANT's CSV mode, before deals reach "Qualified."
## Sample data
`assets/sample-transcript.txt` is a synthetic first qualification call — run
the skill against it first.
## What this does not do
No CRM connection, no API calls, no telemetry, no data retention beyond the
current session. It reads the file you point it at and nothing else.