Claude Code plugin marketplace

Ten RevOps agents that run on your own CRM.

Install them into Claude Code, point them at your Salesforce or HubSpot, and they audit what your revenue systems are actually doing — not what the dashboard says they're doing. Eight of the suite is strictly read-only. Every finding arrives with the record count and the exact query that produced it, so you can verify it yourself in under a minute.

9Agents
8Strictly read-only
2CRMs supported
0Data leaves your machine
The premise

Most GTM tooling tells you what your pipeline says. These tell you whether your pipeline can be believed.

The selection rule

Why these ten, and not the obvious ones

We graded 108 real AI workflows across a panel of 40+ B2B software companies — what they had actually shipped versus what they were still talking about. The pattern decided this roadmap.

1

Bounded tasks ship. Judgment calls stall.

Enrichment reached production in 47% of companies. Config and code generation converted at 100% of adopters. AI SDRs reached production in 3% — one company switched theirs off. Agents that do a verifiable task a human already does by hand get used. Agents that ask a human to trust a judgment get piloted and quietly abandoned.

2

So every judgment agent here has an audit attached.

The forecast agent audits whether your CRM can support a forecast before it calls one. The coach scores against your framework with verbatim quotes, not vibes. The health agent splits sentiment from commercial risk. The bounded half is what survives week three.

3

Teams assemble, they don't buy the box.

57% of that panel had assembled their own AI workflow; 10% were running a packaged AI GTM product. So these ship as plugins you install into a stack you control, reading through connectors you already authorised — not as another platform to log into.

4

Read-only is a feature, not a limitation.

30% of that panel had an active AI-governance problem. Read-only is what actually clears a security review. Exactly one agent in this suite can write, it is dry-run by default, and it cannot touch a field you haven't explicitly allow-listed.

The suite

Ten agents

Seven run on your CRM alone and install in minutes. Three get materially better when call recordings are connected — and all three still produce their CRM-side findings without them, clearly marked as partial rather than clean.

CRM Hygiene

/crm-hygiene:run
CRM onlyRead-onlyStart here

Audits whether the data underneath every one of your reports can be trusted, and scores it as a single Hygiene Index you can move quarter over quarter.

Typical findings
  • Duplicate accounts and contacts, clustered by domain and normalised company name
  • Dead custom fields — the hundreds sitting under 5% fill
  • Open pipeline owned by people who have left the company
  • Open opportunities whose close date is already in the past
  • Picklist rot: values nobody has used in a year, and near-duplicates

Pipeline Inspection

/pipeline-inspection:run
CRM onlyRead-onlyWeekly

Not "what will we close" — which deals are violating your own rules. A ranked call list for a manager's Monday, measured against your team's real medians rather than someone else's benchmark.

Typical findings
  • Deals past twice the measured median days-in-stage — with the medians shown
  • Close dates pushed three or more times, counted from field history
  • Six-figure deals with a single contact on them
  • Close dates clustered on the last day of the quarter
  • Open deals whose close date has already passed, totalled in dollars

Forecast Agent

/forecast-agent:run
CRM onlyRead-onlyAudit-first

Runs in two modes, and the audit is the default. Because the hard part was never the forecast — it's that close dates are fiction and stages aren't exit-criteria based, so the forecast was never going to hold.

Typical findings
  • A Forecast Integrity Score, with the formula shown
  • Stage conversion measured on stage entered, not current stage
  • Deals committed in two consecutive quarters
  • Worst / likely / best, and the gap versus the rep-called commit
  • The real slip distribution behind the worst case

Stage Architect

/stage-architect:run
CRM onlyRead-only

Derives what your stages actually mean from your own closed history, and puts it next to what your team believes they mean. The gap is the deliverable.

Typical findings
  • Adjacent stages with indistinguishable conversion — one stage wearing two hats
  • Stages skipped by most deals, which are therefore not stages
  • Zero-dwell stages that exist for process compliance only
  • Time-in-stage at median, p75 and p90, not a mean a few zombies destroyed
  • Proposed exit criteria that are buyer-verifiable, not rep-asserted

Lead Source of Truth

/lead-source:run
CRM onlyRead-only

Deliberately not multi-touch attribution — that needs your MAP and ad platforms and never installs cleanly. This measures whether the source data feeding your channel report can be trusted at all.

Typical findings
  • Null / "Other" / "Unknown" rate, broken down by how the record was created
  • Near-duplicate values — "Paid Search", "PPC", "SEM", "Google Ads"
  • Whether source survives the lead-to-opportunity conversion, measured per hop
  • UTMs that disagree with the source field, or get overwritten on later form fills
  • Source values carrying real volume and zero closed-won

System Map

/system-map:run
CRM onlyRead-onlyCheapest run

Inventories what is actually wired into your CRM and contrasts it with what your team thinks is wired in. The cheapest run in the suite and usually the most alarming.

Typical findings
  • Two or more automations writing the same field on the same object
  • Automation and connected apps owned by people who left
  • Integration users still holding write access and no longer used
  • Flows, triggers, workflow rules and scheduled jobs, with last-modified dates
  • The third-party tools genuinely connected, versus the ones you listed

Executive Reporting

/executive-reporting:run
CRM onlyRead-onlyBoard-facing

Builds the pack leadership actually runs the business on — and audits whether your CRM can support it before it publishes a number. Every metric lands against a goal; every metric opens into the rows underneath it.

Typical findings
  • A stage that isn't being stamped — conversion into it computes above 100%, so the rate is withheld rather than printed
  • The gap between the conversion rate you quote and the one your data supports
  • Cohorts too young to report, suppressed instead of flattering the quarter
  • Bookings concentrated in one rep, or a book concentrated in ten accounts
  • The share of bookings closing with no channel attached at all

Sales Coach

/sales-coach:run
CallsRead-onlyManager-first

Coaches against your qualification framework — MEDDPICC, MEDDIC, BANT, SPICED, Challenger or your own. The primary output is one team pattern report for the manager, because reps ignore per-call feedback and managers act on patterns.

Typical findings
  • The dimension your team fails most often, with the specific calls that show it
  • Every score carrying a verbatim quote and a timestamp — no evidence, no score
  • Tenure-aware coaching: ramping reps judged differently from tenured ones
  • Talk ratio, longest monologue, question rate, next-step-set rate
  • Framework gaps correlated against the deals that later slipped

Customer Health

/customer-health:run
Calls optionalRead-only

Scores every account twice — sentiment and commercial risk — because they diverge, and the divergence is the point. The account that churns is very often the happy one with an unsigned renewal forty days out.

Typical findings
  • The happy-but-unsigned quadrant, called out explicitly
  • Champion departures detected from contact status and transcript absence
  • Renewals inside the notice window with no renewal opportunity open
  • Meeting-attendance decay — the senior people quietly stopping
  • A kickoff baseline captured at setup, so later runs can prove movement

Meeting to CRM

/meeting-to-crm:run
CallsProposes writesDaily

Reads the call and proposes the CRM updates the rep would have typed, as an approvable diff. The boring one — which is exactly why it's the one that gets used every day. Dry-run by default; it never writes on the turn it proposes.

What it proposes
  • Next step and next-step date, from what was actually agreed on the call
  • Your qualification-framework fields, mapped to your real field API names
  • New stakeholders heard on the call, as contact roles
  • Competitor mentions, pain, decision process and timeline
  • Every proposal carries the quote and timestamp that justifies it
Architecture

How they actually work

  1. They use the connectors you've already authorised.

    No new credentials, no new integration to provision, no data warehouse. The agents call the Salesforce or HubSpot MCP server already connected in your Claude Code, under your own permissions. If you can't see a record, neither can the agent.

  2. Setup interviews your CRM before it interviews you.

    Every agent ships a :setup skill that first reads your schema, picklists, field fill-rates, record counts and fiscal settings — then asks only the questions the data couldn't answer, phrased in terms of what it found.

  3. Analysis is deterministic and offline.

    Claude fetches; local Python transforms. The maths — conversion rates, medians, fill rates, deltas — runs in a standard-library script on your machine with no network access. Same inputs, same numbers, every time.

  4. Output is a local file, not a dashboard.

    Each run writes a markdown report, a self-contained HTML report that opens with the wifi off, the raw responses, a machine-readable findings file, and a manifest recording exactly what was read. Nothing is uploaded anywhere.

  5. Run one is a baseline. Run two is the value.

    Every run snapshots itself. From the second run on, every score and every finding carries its delta. Run one says so plainly rather than pretending to be a verdict.

They share one profile. The first agent you set up writes a shared org profile — your CRM, fiscal calendar, quota-carrying rep count, segments, deal floor. Every other agent reads it and only asks for what's missing. You describe your business once, not ten times.
The setup interview

What they ask you — and what they refuse to ask

An agent that opens with "what are your deal stages?" is an agent that hasn't looked. Every question below is asked only after the CRM has been read, and is phrased in terms of what was found.

It reads first

Objects and record counts, every picklist it will use, field fill-rates over twelve months, the custom-field inventory, active versus inactive users, fiscal year settings, and how much field history your org actually retains.

"I found 412 custom fields on Opportunity. 289 are under 5% filled. Are any of those deliberately sparse, or is that all rot?"

Then it asks what data can't answer

Which fields are required by policy rather than by schema. Which dedupe key you trust. What "commit" actually means to your team. Where "next step" lives. Who owns data quality.

"Your measured median in Negotiation is 34 days, p75 is 61. Should I flag at 68, or do you want a different bar?"

It captures your beliefs on purpose

Stage Architect asks what you believe your conversion rates are. System Map asks which tools you believe are connected. Then the run measures reality. The gap between the two is the most useful output either one produces.

"Your measured Commit-to-Won rate over eight quarters is 71%, but your current Commit total implies you're calling it at 95%. Which should I forecast against?"

It never assumes the defaults that bite

Never that your fiscal year starts in January. Never that quota lives in the CRM. Never that headcount equals quota-carrying reps. Never that you have Gong. Where it uses an industry default it labels it as one.

"I can't find quota anywhere in your CRM. Enter it here and I'll compute coverage — otherwise I'll omit coverage rather than guess at it."
Safety posture

What these can and cannot do

Read-only

Nine of the ten cannot write to your CRM at all. Not restricted by configuration — they have no write path.

One writer, fenced

Meeting-to-CRM is dry-run by default, proposes a diff and stops, writes only allow-listed fields, won't overwrite non-empty values unless told to, refuses to run on a schedule, and logs every applied write.

Nothing leaves

No telemetry, no phone-home, no uploads. The only network traffic is the connectors you authorised. Reports are files on your disk.

Fails loudly

If a required source returns zero records the run aborts with a diagnosis. A report claiming "no issues found" because authentication failed is worse than a crash.

Verifiable

Every finding carries its record count, sample record IDs, and the exact query behind it. If you can't reproduce a number, don't believe it.

Redactable

Turn on PII redaction and names and emails become stable pseudonyms in both reports, while the local raw data stays intact.

Install

Two commands

You need Claude Code, Python 3.9 or newer, and a Salesforce or HubSpot MCP connector already authorised. Nothing else — the analysis scripts use only the Python standard library, so there is nothing to pip install.

# 1. add the marketplace (from the unzipped folder, or your git remote) /plugin marketplace add ./leanscale-gtm-agents # 2. install the agents you want /plugin install crm-hygiene@leanscale-gtm /plugin install system-map@leanscale-gtm # 3. set each one up — it reads your CRM, then asks what it couldn't work out /crm-hygiene:setup # 4. run it /crm-hygiene:run
Where to start

Every agent exposes exactly two commands — :setup and :run — so the fourth one you install behaves like the first. Begin with CRM Hygiene and System Map: they need nothing but the CRM connector and produce the fastest undeniable finding.

Download

Get the plugins

Take the whole marketplace, or a single agent. Both install the same way — unzip, then /plugin marketplace add <folder>.

AgentCommandNeeds
CRM Hygiene/crm-hygiene:runCRMDownload
Pipeline Inspection/pipeline-inspection:runCRMDownload
Forecast Agent/forecast-agent:runCRMDownload
Stage Architect/stage-architect:runCRM + stage historyDownload
Lead Source of Truth/lead-source:runCRMDownload
System Map/system-map:runCRM metadata accessDownload
Executive Reporting/executive-reporting:runCRMDownload
Sales Coach/sales-coach:runCall transcriptsDownload
Customer Health/customer-health:runCRM · transcripts optionalDownload
Meeting to CRM/meeting-to-crm:runCRM + transcriptsDownload

Transcripts can come from Gong, Fireflies, Chorus, Grain, Otter, Zoom, a Google Drive folder, or a plain directory of exported files. No agent requires a specific conversation-intelligence vendor — most teams don't have one, and the ones that do shouldn't have to switch.