Skip to content
Marketing
Skill

/objection-analyzer

Find out which objections your outbound gets, how well your team handled them, and what to say next time. Use whenever the user wants to analyze the objections in their replies, rank the most frequent ones, know how to handle a specific objection, coach reps on their objection

From plugin
gtm-system
3813 skills
Install
$ npx -y skills add LaGrowthMachine/gtm-system --skill objection-analyzer --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/objection-analyzer

Context preview

The summary Claude sees to decide when to auto-load this skill.

Find out which objections your outbound gets, how well your team handled them, and what to say next time. Use whenever the user wants to analyze the objections in their replies, rank the most frequent ones, know how to handle a specific objection, coach reps on their objection

SKILL.md

objection-analyzer.SKILL.md
name: objection-analyzer
description: "Find out which objections your outbound gets, how well your team handled them, and what to say next time. Use whenever the user wants to analyze the objections in their replies, rank the most frequent ones, know how to handle a specific objection, coach reps on their objection answers, build an objection playbook or battle cards, or fix the sequence messages that cause avoidable objections. Triggers on: 'what objections do we get', 'most common objections', 'how do I handle this objection', 'objection playbook', 'battle cards', 'coach my reps on objection handling', 'sweep my conversations', and the French 'quelles objections on reçoit', 'analyse les objections'. Pulls conversations from the La Growth Machine MCP when connected; otherwise from a CSV export. Analyzes conversations in aggregate: for one pasted thread use reply-draft-assistant, for per-rep ranking or general team coaching use team-performance-dashboard. For SDR, RevOps, Growth, Head of Sales and founders. Maintained by La Growth Machine."
category: catch-opportunities
type: use-case
tags: [analysis, writing]

Objection Analyzer

Turns your outbound conversations into a ranked picture of the objections you actually get, a graded read on how your team answered them, and a battle-card playbook that sharpens every time you run it.

Output discipline — read this first

When you run this skill, **return only the deliverables — nothing else.** No preamble ("Let me…", "There's a skill for this…"), no narrating what you are about to fetch, merge or render, no restating these instructions. The user wants the read, not the pipeline.

**Answer in the language the user wrote in**, and stay in it to the end. Do not open in English and drift into French halfway through the findings.

**Ship the numbers as a widget, not as a wall of text.** Any run that produces figures ends in one, and the prose around it says what they mean rather than repeating them. The variants and the prose budget per mode are in `references/lgm-handoff.md`. When a run produces no figures, say so and skip the widget.

**Every number you print must come from the script's JSON, verbatim.** Never re-derive, re-round, or soften a figure into "roughly a third". Never print a rate without its `n`. If the script suppressed a rate, print the suppression, not a guess.

If something essential is missing, **ask one short specific question and stop.** Never fabricate an example reply, a count, or a trend.

Authority — read this first

**Everything you need is in this skill folder.** No file outside it to grep.

The nine objection types, the reply mix, the coaching table and the mode workflows are **inlined below**. Do not open a reference file for the common path. Everything else is on demand:

| Read | When | |---|---| | `references/coaching-rubric.md` — the 9 dimensions with 0-3 anchors, goal-aware scoring, forbidden phrases, what kills a thread | Before scoring replies, in mode 1 | | `references/lgm-handoff.md` — the three widget variants, prose budgets, pinned CTAs, LGM branches | Before rendering any output | | `references/response-templates.md` — which objections get a template, provenance, format, variables | In mode 5 | | `references/baseline-playbook.md` — the full card bodies the renderer splices in | Coaching with no data, or when asked for the reasoning behind a card | | `references/persistence.md` — the resolution ladder, state schema, card layout, purge | If `doctor` reports anything other than `home` | | `references/sibling-patch.md` — detection ladder and the exact patch | At the end of a run, when offering to wire the reply skill | | `references/objection-taxonomy.json` — machine ids, aliases, cross-skill mapping | Only to map another skill's label onto a card |

**Never compute the numbers yourself.** Counts, shares, recovery rates, medians, trends and merges come from `python3 scripts/analyze.py`. You classify and you write; the script counts. A recovery rate that is plausible and wrong sends a team to coach the wrong objection for a quarter.

What it does

Five modes. When the request is vague ("look at my objections"), run **mode 4** on a sensible default scope. When the user wants the full picture, run **mode 5**.

| Mode | What it produces | |---|---| | **1 — Analyze** | Ranked objections, recovery rate per type, reply mix with a segmentation verdict, and a graded read on how each objection was handled | | **2 — Coach** | How to handle a type: the dig question, the reframe, the exit, what not to say. Works with zero data. | | **3 — Fix campaigns** | Which sequence messages cause avoidable objections, and the rewrite | | **4 — Full** | 1, then 2 on the top three, then 3, on a scope the user named | | **5 — Sweep** | The whole corpus, every objection categorized, plus a reusable response template per frequent objection |

**Any mode takes a scope**, spoken in plain language: a window ("this week", "last 30 days"), a campaign, a channel, or one person. Resolve a named identity through `list_identities` and a campaign through `list_campaigns`; if ambiguous, list the matches and ask rather than picking one. **"My objections" is its own scope, not a smaller team report**: answer in the second person, never compare them to a named colleague, and leave per-rep ranking to `team-performance-dashboard`.

Where the playbook lives

Run `python3 scripts/analyze.py doctor` **first, every session**, and say where it landed in one line. The skill folder is only the anchor; the data lives wherever survives an update.

It takes the first writable of five tiers: `$OBJECTION_PLAYBOOK_DIR` (a shared team folder), `~/.gtm-skills/objection-analyzer/` (the default, survives a reinstall), the skill folder, the working directory, then `paste`. Full ladder in `references/persistence.md`. On `skill`, warn that an update erases it.

**In the `paste` tier there is no engine.** Say so, label every number **estimated**, drop the

Read more
Ships withgtm-system

The open-source GTM toolkit for Claude: skills and an MCP server to run outbound from the chat.

Get the whole plugin

Other skills on gtm-system.