If you're building call-review or deal-inspection tooling in-house, start here. 41 Agent Skills that audit sales call transcripts and CRM exports against GTM rubrics: one file in, one evidence-cited audit out. Runs locally, no credentials, no data leaves your machine. Works with Claude Code, Cursor, Windsurf, OpenAI Codex, or any agent that reads the Agent Skills spec.
Two axes: deal stage (discovery through renewal) and initiative (MEDDICC, BANT, pain identification: frameworks that run at any stage).
The rule every skill here is built on: an uncited finding doesn't ship. Every dimension a skill marks Covered, Partial, or Missed points at a direct quote or timestamp from the transcript in front of it, never a plausible guess dressed up as a finding.
MIT, no gating, no telemetry, no lead capture. Fork it, rewrite the rubrics for your motion, ship it internally: that's the intended use. Built and maintained by Zime; we'd rather hand over the rubrics than argue anyone out of building.
Contributions welcome: see CONTRIBUTING.md. Found a bug or have a question? Open an issue.
- See it work
- Quick install
- How these fit together
- Available skills
- Repository structure
- Where this stops
- FAQ
- Installation
- Built by Zime
- License
Real output from three skills, one per output shape, each run against its
own bundled sample data: nothing invented for this README. Skim the
tables; the full run (quotes and all) is one click away in each
<details>.
Same synthetic call, two ways: a plain "review this call" prompt with no
skill, and deep-discovery against
skills/deep-discovery/assets/sample-transcript.txt.
Without the skill, unaided, prompted "review this discovery call": a free-form paragraph. No repeatable structure, no consistent evidence format, findings and commentary interleaved; a different rep reading the same call would flag different things.
With deep-discovery, same 9 dimensions every run, each Covered/
Partial/Missed tied to a quote:
| Dimension | Result |
|---|---|
| 1. Pain & business impact | ✅ Covered |
| 2. Current state & tooling | ✅ Covered |
| 3. Trigger — why now | ✅ Covered |
| 4. Desired outcome | ✅ Covered |
| 5. Decision process | ✅ Covered |
| 6. Budget & timeline | |
| 7. Procurement & buying path | ✅ Covered |
| 8. Competitive landscape | ✅ Covered |
| 9. Rapport | ✅ Covered |
8/9 Covered, 1 Partial, zero Missed, and zero fault-finding bias: a call that genuinely covered discovery well comes back reading well.
Full output, with quotes behind every result
1. Pain & business impact — Covered
"spends probably 8-10 hours a week just chasing down exception
statuses"
2. Current state & tooling — Covered
"Dispatchers log exceptions in a shared spreadsheet"
3. Trigger — why now — Covered
"we lost a mid-size account last quarter over a missed exception,
and our board asked for a logistics-ops review this quarter"
[... 4. Desired outcome, 5. Decision process — both Covered, trimmed ...]
6. Budget & timeline — Partial
CFO approval threshold ($40k) surfaced, but that's an approval
gate, not deal-specific budget. No explicit decision-date beyond
"before Q3 planning."
7. Procurement & buying path — Covered
"anything touching our TMS goes through a security review with
our IT director. Usually takes about three weeks"
[... 8. Competitive landscape, 9. Rapport — both Covered, trimmed ...]
Reads-well-too check: 8/9 Covered, 1 Partial, zero Missed — matches a
call that clearly covered discovery well. No fault-finding bias here.
Highest-leverage next steps:
1. Nail a real budget number, not just the approval gate.
2. Pin a hard decision date, not "before Q3 planning."
Invoke it by name, like any Claude Code skill:
/deep-discovery skills/deep-discovery/assets/sample-transcript.txt
Without the skill: eyeball 8 CRM export rows by hand, no ranking, no consistent signal, no tiebreak logic.
With deal-risk-digest against
skills/deal-risk-digest/assets/sample-pipeline-deal-risk.csv: ranked,
most at-risk first, every flag cited to the cell behind it.
| Deal | Risk | Signal |
|---|---|---|
| Fairview Logistics | 🔴 High (6) | past-due + unlikely, stage age, vague next step, single-threaded |
| Cobalt Freight Partners | 🔴 High (3) | past-due + unlikely |
| Ashgrove Dental Partners | 🟡 Medium (2) | blank next step, single-threaded |
| Driftwood Realty Group | 🟡 Medium (1) | stage age |
| Terra Foods Co-op | 🟡 Medium (1) | blank next step |
| Solstice Robotics | 🟡 Medium (1) | single-threaded |
| Meridian Health Systems | 🟢 Low (0) | none |
| Bluewater Analytics | 🟢 Low (0) | none |
Closing read: 2 of 8 deals rated High risk. The most common signal across flagged deals is past-due-and-unlikely (a close date already behind today, paired with under-50% probability).
Full output, with the CSV cell behind every flag
All columns present, no signals skipped.
| Deal | Risk | Reasons | Evidence |
|---|---|---|---|
| Fairview Logistics | High (6pts) | past-due+unlikely, stage age, vague next step, single-threaded | close_date = 2025-03-01 (past), probability = 25%; stage_entered_date = 2025-01-10 (584 days in stage); next_step = "Follow up"; contacts = "Greg Malone" |
| Cobalt Freight Partners | High (3pts) | past-due+unlikely | close_date = 2025-02-14 (past), probability = 20% |
| Ashgrove Dental Partners | Medium (2pts) | blank next step, single-threaded | next_step = (empty); contacts = "Dr. Lila Fenn" |
| Driftwood Realty Group | Medium (1pt) | stage age | stage_entered_date = 2025-05-01 (473 days in stage) |
| Terra Foods Co-op | Medium (1pt) | blank next step | next_step = (empty) |
| Solstice Robotics | Medium (1pt) | single-threaded | contacts = "Priya Shah" |
| Meridian Health Systems | Low (0pts) | none | — |
| Bluewater Analytics | Low (0pts) | none | — |
- 2 of 8 deals rated High risk
- Most common risk signal across them: past-due and unlikely (close date past + probability below 50%)
/deal-risk-digest skills/deal-risk-digest/assets/sample-pipeline-deal-risk.csv
Without the skill: a rep's own notes just say "good engagement from both stakeholders," no way to tell who's actually selling internally vs. who just likes the product.
With champion-tracker against
skills/champion-tracker/assets/sample-call-1.txt and sample-call-2.txt:
one cited action ledger, one verdict per contact.
| Contact | Call | Tag | Why |
|---|---|---|---|
| Priya | 1 | 💬 Sentiment | "I'll flag this to procurement next week," a plan, not done yet |
| Devon | 1 | 💬 Sentiment | "Really excited about this," enthusiasm |
| Priya | 2 | ✅ Action | Looped in procurement, confirmed |
| Priya | 2 | ✅ Action | Pushed back on price for the deal in a leadership sync the rep wasn't in |
| Devon | 2 | 💬 Sentiment | "I'll definitely be a happy user," enthusiasm, still no action |
Champion read: Priya ✅, 3 confirmed Action rows by call 2. Devon
Full ledger, all 12 rows across both calls
| Contact | Call | Quote | Tag | Why |
|---|---|---|---|---|
| Priya | 1 | "I'll flag this to our procurement team next week so they can start looking at the contract terms" | Sentiment | future promise, not yet done |
| Devon | 1 | "Honestly this would save us so much time." | Sentiment | praised time savings |
| Priya | 1 | "The integration piece looks straightforward, which is a relief." | Sentiment | positive remark |
| Devon | 1 | "Yeah I'm honestly really excited about this. Our team has been asking for something like this for months." | Sentiment | enthusiasm |
| Priya | 1 | "I think it's a good fit. Let me get procurement looped in and we'll see what they come back with." | Sentiment | still a plan, not confirmed |
| Devon | 1 | "No, this all looks great. Can't wait to get this rolled out." | Sentiment | enthusiasm |
| Priya | 2 | "Good news — I looped in procurement last week, they're already reviewing the contract." | Action | looped in procurement (confirmed) |
| Priya | 2 | "When Marcus in finance pushed back on the price in our Monday leadership sync, I pushed back and walked the room through why this is worth it." | Action | pushed back internally, room rep wasn't in |
| Devon | 2 | "Yeah this is going to make everyone's life easier once it's live. I'm honestly thrilled about it." | Sentiment | enthusiasm |
| Devon | 2 | "I mean, I'll definitely be a happy user. This is exactly the kind of thing we've needed." | Sentiment | enthusiasm, no action |
| Priya | 2 | "I also set up a short call with our security team for Thursday so we can clear that before the contract review finishes." | Action | legwork, scheduled internal blocker-clearing |
| Devon | 2 | "Agreed, sounds like it's all coming together nicely." | Sentiment | enthusiasm |
/champion-tracker skills/champion-tracker/assets/sample-call-1.txt skills/champion-tracker/assets/sample-call-2.txt
Same pattern, every skill: clone once, then invoke any skill by name against its own bundled sample.
git clone https://github.com/zime-ai/zime-gtm-skills.git
cd zime-gtm-skillsThen, inside Claude Code or Claude Desktop:
/<skill-name> skills/<skill-name>/assets/<sample-file>
Every skill ships its own sample data and documents the exact filename(s)
and command in its SKILL.md's "Sample data" section. Click through from
the skill's row in Available skills below.
# Claude Code plugin (recommended)
/plugin marketplace add zime-ai/zime-gtm-skills
/plugin install gtm-skills@zime-gtm-skills# or clone and copy into any agent that reads the Agent Skills format
git clone https://github.com/zime-ai/zime-gtm-skills.git
cp -r zime-gtm-skills/skills/* .agents/skills/See Installation below for the submodule option and the
.claude/skills/ vs .agents/skills/ distinction.
41 skills: 23 stage motions laid out across the deal lifecycle, 10 cross-stage initiative skills, and 8 deal-intelligence skills that write something forward — a plan, a digest, a drafted email — instead of grading a call.
New business
┌────────────────┐ ┌────────────────┐ ┌────────────────────┐
│ sql-to-qualify │ ──▶ │ deep-discovery │ ──▶ │ meeting-to-qualify │
└────────────────┘ └────────────────┘ └────────────────────┘
│
▼
┌─────────────────────┐ ┌──────────────┐ ┌────────────────┐
│ technical-discovery │ ◀── │ improve-demo │ ◀── │ qualify-to-poc │
└─────────────────────┘ └──────────────┘ └────────────────┘
│
▼
┌─────────────────────┐ ┌─────────────┐ ┌─────────────────────┐
│ pilot-to-conversion │ ──▶ │ poc-success │ ──▶ │ negotiation-closing │
└─────────────────────┘ └─────────────┘ └─────────────────────┘
│
▼
Post-sale
┌────────────────────┐ ┌──────────────────┐
│ onboarding-journey │ ──▶ │ customer-success │
└────────────────────┘ └──────────────────┘
Runs alongside, not in the chain:
• persona-based-discovery — persona-adapted lens on discovery
• first-call-rampup — coaching, at any stage
• churn-prevention — renewal risk, post-sale
• upsell-expansion — expansion opportunity, post-sale
Unlike some agent-skill collections, there's no foundational context skill every other one depends on, and no required order. Each skill is independent: one call transcript (or CRM export) in, one evidence-cited audit out.
Every skill runs fine with zero setup — it reads whatever file you point it at and nothing else. But without any company context, a skill has no way to know your ICP, your product's actual differentiators, or which competitor names to expect, so it audits each call in a vacuum.
If a file named .agents/gtm-context.md or .claude/gtm-context.md exists
in your working directory, every skill in this repo reads it first and
doesn't ask for anything it already answers — no flag, no config, just drop
the file in and it's picked up automatically. See
gtm-context.example.md for the shape: ICP,
product/pricing basics, named competitors, and internal terminology or
stage names that differ from the generic ones a skill assumes by default.
This file is yours, never the repo's — it isn't tracked or read by anything except the skill itself at run time, and nothing in it leaves your machine beyond whatever your agent's own model call already sends.
41 skills across new business, post-sale, cross-stage initiative, and deal intelligence
New business
| Skill | Audits | Input |
|---|---|---|
| new-business-registration | A new-logo deal-registration record for completeness — entity identification, duplicate/conflict check, source attribution, ICP fit, expiry window | CRM export (.csv) or transcript |
| end-client-registration | A partner/reseller's end-client deal registration — partner identity, end-client entity kept distinct, engagement scope, conflict check against direct pipeline, permission to engage, commercial terms, expiry | CRM export (.csv) or transcript |
| sql-to-qualify | Whether a freshly-assigned SQL is a real opportunity — right contact, pain in their own words, rough budget/urgency fit, competitive awareness, concrete next meeting | transcript or CRM export |
| deep-discovery | Early-stage discovery call quality — pain, trigger, decision process, budget/timeline, procurement, competition, rapport | transcript (.txt/.vtt/.json/.md) or CRM export (.csv) |
| persona-based-discovery | Whether a discovery call was actually tailored to the buyer persona in the room — role ID, pain framing, proof points, objection handling, next step | transcript or CRM export |
| meeting-to-qualify | Whether a deal is real — authority, budget plausibility, urgency, fit, competitive situation, concrete next step | transcript or CRM export |
| technical-discovery | Whether a POC is set up to succeed — current stack, future-state fit, scope clarity, technical stakeholders, resourcing | transcript or CRM export |
| improve-demo | Demo quality — tailoring, stakeholder presence, engagement, competitive differentiation, clear next step | transcript or CRM export |
| qualify-to-poc | Whether a POC kickoff is set up to succeed before it starts — success criteria, technical scope, stakeholder commitment, timeline/exit criteria, resourcing | transcript or CRM export |
| pilot-to-conversion | Pilot/POC health — plan alignment, technical readiness, user engagement, results against criteria, conversion path | transcript or CRM export |
| poc-success | A completed POC/pilot's exit review — each success criterion verdict-ed with evidence, end-user validation, sponsor sign-off, production-readiness blockers, commercial next step | transcript or CRM export |
| negotiation-closing | Late-stage deal momentum — pricing reaction, procurement progress, contracting awareness, closure timeline | transcript or CRM export |
| first-call-rampup | New-rep foundational technique — opening, open-ended questioning, pain uncovering, pitch clarity, rapport | transcript only |
| prospect-pipeline-check | A prospect-stage pipeline export for deals with no two-way engagement — no reply, no meeting held, single-threaded and unanswered, aged with no activity | CRM export (.csv) or connector |
| qualify-pipeline-check | A pipeline export for deals advanced past Qualify with no economic buyer, stated pain, budget signal, next step, or a close date that fits the procurement cycle | CRM export (.csv) or connector |
| evaluation-pipeline-check | A pipeline export for technical evaluations running with no success criteria, technical champion, or end date — plus evaluations running long or stalled against the export's own norms | CRM export (.csv) or connector |
| poc-pilot-pipeline-check | A pipeline export for POCs and pilots with no written exit criteria, conversion date, or executive sponsor, and POCs already past their own end date | CRM export (.csv) or connector |
| negotiation-pipeline-check | A pipeline export for negotiation-stage deals with no paper process started, no approver on a discount, no named signer, or a close date that has already slipped | CRM export (.csv) or connector |
| won-pipeline-check | A closed-won export for missing handoff data — CS owner, kickoff date, signed value/term, contract reference — and won/close date inconsistencies | CRM export (.csv) or connector |
Post-sale
| Skill | Audits | Input |
|---|---|---|
| onboarding-journey | New-customer onboarding health — setup experience, sentiment, engagement, milestone clarity | transcript or CRM export |
| customer-success | Periodic QBR/health-review depth — value vs. original goals, usage breadth, issue resolution, strategic alignment | transcript or CRM export |
| churn-prevention | Renewal risk — value realization, usage depth, champion strength, sentiment, service friction | transcript or CRM export |
| upsell-expansion | Expansion readiness — account health check first, opportunity clarity, champion strength, strategic alignment | transcript or CRM export |
Initiative (cross-stage)
| Skill | Audits | Input |
|---|---|---|
| meddicc | MEDDICC coverage — Metrics, Economic buyer, Decision criteria, Decision process, Identify pain, Champion, Competition | transcript or CRM export |
| meddpicc | MEDDPICC coverage — MEDDICC plus Paper Process: legal/procurement/security review, signature path, redlines | transcript or CRM export |
| faint | FAINT coverage — Funds, Authority, Interest, Need, Timing, for buyers with no articulated need yet | transcript or CRM export |
| sandler | Sandler Submarine coverage — bonding & rapport, up-front contract, pain, budget, decision, fulfillment, post-sell | transcript or CRM export |
| challenger | Challenger Sale coverage — teach, tailor, take control, and the commercial-teaching pitch arc | transcript or CRM export |
| bant | BANT coverage — Budget, Authority, Need, Timeline — lighter-weight, early-stage qualification | transcript or CRM export |
| pain-finder | Ranked pain points with confidence and evidence | transcript |
| next-step-commitment | Whether a call ended in a real, dated, two-sided commitment vs. a vague "we'll circle back" | transcript or CRM export |
| adoption-leaderboard | Ranks reps by adoption of five fixed winning behaviors (rapport, upsell signals, renewal risk, customer experience, value realization) across recent calls, lowest first | transcript or connector |
| sell-the-dream | Whether a call builds a future-state vision before pitching product, scored against Andy Raskin's "5 Elements of a Great Sales Narrative" and flagged for feature-first sequencing violations | transcript |
Deal intelligence
| Skill | Audits | Input |
|---|---|---|
| mutual-action-plan | Writes a mutual action plan from a call — milestones from today to signature, each with an owner on both sides and a date, tagged heard or inferred |
transcript or CRM export |
| deal-risk-digest | Ranks a whole pipeline export by risk — past-due close date against low probability, stage age, vague next step, single-threaded contact | CRM export (.csv) |
| deal-highlights | Writes a short highlights digest of one call — a commitment, an objection, a buying signal, a competitive mention, a risk — each cited with its quote | transcript |
| follow-up-email-drafter | Drafts the follow-up email a rep sends after a call, grounded in what was heard vs. proposed, with grounding notes flagging which lines to confirm before sending | transcript |
| win-loss-brief | Writes a brief on why one closed deal was won or lost — outcome plus 3-5 cited drivers, each tagged clear or tentative | transcript or CRM export |
| executive-briefing | Writes the short brief a rep sends upward on one deal — snapshot, status, risk, and the ask — each claim cited to a quote or a CSV column/cell | transcript or CRM export |
| champion-tracker | Builds a cited action ledger of who's actually acting like a champion across a deal's calls vs. who's just enthusiastic, and reads the trend | transcript |
| competitor-battlecard | Writes a battlecard for the competitor a buyer actually named on a call — their framing, the rep's counter, and what went unanswered, citing only the transcript | transcript |
All 23 stage motions are covered; the initiative set is 10 skills today. New skills welcome, see CONTRIBUTING.md. For how these are tested, and what that testing can and can't prove, see EVALS.md.
zime-gtm-skills/
├── .claude-plugin/
│ ├── marketplace.json # /plugin marketplace add zime-ai/zime-gtm-skills
│ └── plugin.json
├── skills/
│ └── skill-name/
│ ├── SKILL.md # required
│ ├── references/ # optional, the rubric lives here
│ ├── assets/ # synthetic sample transcript/CSV
│ └── evals/ # declarative evals.json
├── validate-skills.sh # local, zero-dep frontmatter/layout check
├── scripts/ # check-docs-sync.sh, scan-content.py, pr-prep.sh
├── tests/ # fixture tests for the validators above
├── evals/ # eval methodology assets, see EVALS.md
├── CONTRIBUTING.md
├── MAINTAINING.md # process + decisions, for picking this repo back up
├── ROADMAP.md # what's built, what's next
├── LICENSE
└── README.md
Everything here runs on one file, in one session, with no memory. That's a design ceiling, and it's worth knowing before you build on it:
- One call at a time. You point a skill at a transcript. Auditing every call an org makes, as it happens, is a pipeline problem, not a rubric problem.
- Snapshot, not trend. Each run is independent. Nothing here tracks the same rubric across a rep's quarter, a team, or a pipeline over time.
- Reads exports, never writes back. A CRM
.csvgoes in. Nothing updates a deal record or feeds a forecast. - Rubrics are hand-written, not calibrated. These dimensions come from experience and community correction, not from regression against your own won/lost data. A sound default, not a model fit to your motion.
- No rep or manager surface. This is an engineer running a command. Assignment, coaching loops, adoption tracking are out of scope.
Past that ceiling you're building a platform, not a skill, and that's a much larger piece of work. It's the problem Zime works on.
Do I need an API key or any credentials? No. Every skill is a markdown rubric your agent reads and applies to a file you already have. Nothing here calls out to a service, and nothing you feed a skill leaves your machine beyond whatever your agent's own model call already sends.
My agent isn't picking up the skill. Claude Code reads
.claude/skills/, not .agents/skills/ — if you installed via Option 2 or
3 below for Claude Code specifically, copy (or symlink) into .claude/skills/
instead. For other agents, confirm they read the
Agent Skills spec format and that the skill
directory is where that agent expects it.
A skill's output doesn't look right. If it's the rubric itself — a missed dimension, a wrong classification — that's the most useful kind of issue, see CONTRIBUTING.md. If it's install or tooling breaking, open a bug report.
/plugin marketplace add zime-ai/zime-gtm-skills
/plugin install gtm-skills@zime-gtm-skillsgit clone https://github.com/zime-ai/zime-gtm-skills.git
cp -r zime-gtm-skills/skills/* .agents/skills/Or copy just the one skill you want: cp -r zime-gtm-skills/skills/deep-discovery .agents/skills/.
Tip
Claude Code reads .claude/skills/, not .agents/skills/ — see the
FAQ if your agent isn't picking the skill up.
git submodule add https://github.com/zime-ai/zime-gtm-skills.git .agents/zime-gtm-skillsUpdate later with git submodule update --remote.
Zime builds sales-call analytics; this repo is the rubric layer we'd rather hand over than gatekeep. If it's useful, a star helps other GTM/RevOps teams find it. Business inquiries: support@zime.ai.
MIT, see LICENSE.
Maintained by Zime.