The guide
Two Claude Code skills that turn every sales call transcript into grounded coaching, then aggregate that coaching over time into continuous training. One skill scores a single call on 8 execution dimensions and writes a structured file. The second skill reads those files and tells you, for one rep or a whole team, what is improving, what keeps failing, whether last period's focus actually moved, and how coaching scores line up with closed deals. Everything is plain Markdown in your repo.
Repo: https://github.com/emmaguetta/sales-call-coach (drop each sub-folder
in your ~/.claude/skills/).
The system at a glance
TRANSCRIPT
│
▼
sales-call-coach
│ scores 8 dimensions, cites exact moments
▼
calls/YYYY-MM-DD-rep-account.md
│ (structured frontmatter + human coaching report)
│
│ ... one file per call, week after week ...
│
▼
sales-coach-rollup ←── reads only the frontmatter, never the transcripts
│ scorecard + trend vs last period
│ the loop: did last period's focus improve?
│ outcome correlation: which dimensions track with won deals
▼
rollups/YYYY-Www-[rep|team].md
│
▼
NEXT PERIOD'S FOCUS (one dimension, one drill) ──┐
│
the next rollup checks whether THIS focus moved ┘
What makes this continuous training and not a dashboard: the rollup sets exactly one focus for next period, and the next rollup specifically checks whether that focus improved before naming a new one. A flagged weakness that is never re-checked is just a report. The loop is the product.
Why two skills, and why the structured header
The per-call skill writes a YAML frontmatter block with the 8 verdicts, the score, the talk ratio, the focus, and an outcome field. The rollup reads only that block. It never re-opens a transcript. That is a deliberate design choice: aggregating 50 calls by re-reading 50 transcripts would be slow and would drift. Aggregating 50 small structured headers is instant and exact. If you change the per-call output, keep the frontmatter schema intact or the rollup breaks.
What you need
- Claude Code installed. https://docs.claude.com/claude-code
- A repo for your sales docs. Plain Markdown, version-controlled.
- A transcript source. Granola free tier, Fathom, Fireflies, tl;dv, Otter, Zoom transcripts, or typed notes. Speaker labels help (the talk-ratio estimate needs them); without labels the skill writes "unknown" instead of guessing.
No SaaS, no Zapier required. The skills run inside Claude Code on transcripts you paste. If you later want it hands-free, you can wire your notetaker to drop transcripts into a folder and run the skill on them — that is an extension, not a requirement.
Files the skills read and write
| Path | Purpose |
|---|---|
calls/ | one coaching file per call, written by sales-call-coach (auto-created) |
rollups/ | one rollup file per period, written by sales-coach-rollup (auto-created) |
That is the entire footprint. Two folders. No CRM, no external store.
The 8 coaching dimensions
The original 6-point frameworks most teams use put all of discovery — pain, decision process, budget, timeline, alternatives — under one pass/fail. That is the single most important part of a call scored in one bit, which destroys the signal. This skill splits it and adds the two dimensions a transcript can actually measure well.
- Opening & upfront contract — credibility, a clear agenda, and the prospect agreeing to the call's structure and desired outcome. Not just "warm tone".
- Pain discovery (depth) — the real pain, its impact, and the quantified cost of inaction. Surface-level "we have a problem" is a fail.
- Qualification & process — decision process, economic buyer, budget / seats, timeline, alternatives. Split out from pain on purpose: a rep can nail empathy and still fail to qualify.
- Active listening & talk ratio — acknowledging and building on what was said, plus an estimate of rep-vs-prospect talk time. Listening and not monologuing are the same skill, so they share one verdict.
- Value articulation — benefits tied to the specific pains raised, in the prospect's words, not a feature dump.
- Objection handling — probing to understand before answering. Explicitly allowed to be N/A: on many calls nothing is pushed back, and forcing a verdict makes the model invent an objection.
- Buying signals — which signals (budget mentioned, urgency, a competitor named, "how soon could we start") were caught and acted on vs missed.
- Next steps & close — a concrete next step with an owned date on the calendar; confident vs vague.
Plus a SUMMARY line: the score, and exactly one thing to change next call. One, not five — because the rollup tracks whether that one thing moved.
The outcome field, and why it matters
Every call file ships with outcome: pending. When the deal moves, you edit
that one line: won, lost, no-show, next-step-booked, disqualified.
The rollup then answers the question every sales leader actually wants: not
"who scored well" but "which behaviors track with closed deals". If you skip
this, everything else still works — you just lose the correlation, and the
rollup says so instead of pretending.
What you need to adjust before running it
The skills ship with defaults that match a generic B2B SaaS motion. Scan these before the first real call.
File paths
The skills use calls/ and rollups/ at the repo root. If your docs live
elsewhere (e.g. docs/sales/coaching/), open both SKILL.md and
ROLLUP-SKILL.md and replace the two folder paths before installing.
The 8 dimensions
The dimensions assume a discovery / demo motion. If you run a different motion
(inbound support-led, PLG expansion calls, renewals), rename or swap dimensions
in SKILL.md. Keep exactly 8 and keep the frontmatter keys in sync with the
rollup, or the scorecard columns will not match.
Trigger phrases
The per-call skill activates on "coach this call" / "review this sales call".
The rollup on "run the coaching rollup" / "how is <rep> trending". Edit the
description frontmatter in each skill if you want different triggers — Claude
reads that field to decide when to invoke the skill.
Period defaults
The rollup defaults to a 7-day window and ISO-week rollup filenames. If you
coach on a monthly cadence, change the default period and the filename pattern
in ROLLUP-SKILL.md.
A last note. The skill scores the call. It does not run the next one. The coaching only compounds if someone reads the rollup and the rep walks into the next call having actually drilled the one focus. Sit down with the weekly rollup. Pick the one focus. Make the rep run three calls with it deliberately. Then let the next rollup tell you, honestly, whether it moved. That loop — human in it — is where reps actually get better. The skills just make the loop cheap enough to run every week.
