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
4513 skills

Claude Code

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

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
@lagrowthmachine
Ships withgtm-system

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

Stars on GitHub

Momentum

stars in total
45
Star history of LaGrowthMachine/gtm-system on GitHub, a chart by star-history.com

Other skills on gtm-system.

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about objection-analyzer.

Which coding agents can use objection-analyzer?
objection-analyzer installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.