/revops — revenue operations audit

SkillDatabases & data

Audits a client's revenue operations layer — CRM hygiene, MQL→SQL routing, lead scoring, sales-cycle stage definitions, funnel reporting — and produces a prioritized fix-list. Distinct from /lifecycle-marketing (which runs campaigns) and /sales-enablement (which equips reps with assets) — this skill addresses the plumbing between the two. Triggered by "revops audit", "HubSpot cleanup", "MQL SQL routing", "lead scoring fix", "CRM hygiene", "funnel reporting broken". Paired triage half /revops-incident-response is built — that skill decides which leak to fix first; this one measures.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the /revops — revenue operations audit skill

What this skill tells your AI

The instructions your AI receives, as published by matteotitta/genesys-skills in skills/primitives/sales-enablement/revops/SKILL.md and read by ahel’s review.

Audit the plumbing between marketing and sales. RevOps lives in the gaps: CRM data quality, MQL→SQL handoff, lead scoring, stage definitions, funnel reporting. When this layer is broken, marketing spend leaks at the handoff and sales blames marketing for "bad leads".

This is the measurement half of an audit-triage pair. /revops-incident-response is the triage half, built 2026-07-16 per .claude/rules/audit-triage-pairing.md — it decides which leak to fix first, estimates fix-time, and sequences Day-0/1/14. Measure here; decide there.


Doctrine inherited (Step 7 — 0626 rollout, locked 2026-06-04)

Output complies with:

Refinements applied to this skill:

CodeRefinementHow it lands in revops
R1Source placementAudit output is internal-reference (rep/marketing team). Inline [VERIFIED:...] tags stay for QA auditability.
R3Product-update toneAudit findings frame as "X is broken / Y is leaking" — operator-direct, never "we are thrilled to report."
R9Action-oriented section names"Audit the funnel / Find the leak / Hand off to triage" — verb-led.

Note: this skill is internal-reference; R2/R5/R6/R7/R8 do not apply (no customer-facing surface).


When to invoke

  • MQL→SQL conversion rate has dropped or never been measured.
  • Sales says "marketing leads are bad"; marketing says "sales doesn't follow up".
  • CRM is leaking duplicate records / dead opportunities / unrouted leads.
  • Lead scoring model exists but no one trusts the score.
  • Funnel reporting shows different numbers depending on who's asking.

Do NOT invoke when:

  • The product hasn't found PMF — fix product before fixing RevOps.
  • Marketing isn't running any campaigns — there's no funnel to audit yet.

Workflow

Step 1 — CRM hygiene audit

Check the data foundation:

CheckQuestionHealthy threshold
Duplicate recordsWhat % of contacts have a duplicate?< 5%
Stale recordsWhat % haven't been touched in 12+ months?< 30% (or actively archived)
Field completeness on key fields (title, company, segment)What % have all 3?> 80%
Closed-lost re-entry processDocumented and followed?Yes
Source attribution on every contactTagged with traffic source / campaign?> 95%

Output: count + % per check. Anything below the threshold is a P1 fix.

Step 2 — MQL→SQL routing audit

The handoff is where most RevOps pain lives. Audit:

  • Shared definition. Is MQL defined? Is SQL defined? Are both signed off by marketing AND sales? If no shared doc exists, that's finding #1.
  • Routing mechanic. When an MQL converts, where does it go? (Round-robin? Territory? Specific AE?) Documented?
  • SLA. How fast must sales touch a new SQL? (Best-practice: <5 min for inbound demo; <24h for content-driven.) Tracked?
  • Disposition tracking. When sales rejects an SQL, is the reason captured back to marketing? (No-reject-feedback loops are blind.)

Step 3 — Lead scoring audit

If a lead scoring model exists:

  • What inputs feed it? (Firmographic, behavioral, intent, fit.)
  • When was it last calibrated? (Models > 12 months old are usually wrong.)
  • What's the correlation between score and actual close? (If close rate at score 80 isn't 2× score 40, the model is noise.)
  • Is the score visible / actionable to sales? (Hidden scores = unused scores.)

If no model exists, propose a starter (firmographic fit × behavioral intent × time-decay), not a perfect one.

Step 4 — Sales-cycle stage definitions

Every stage needs:

  • Exit criteria (what must be true to advance).
  • Owner (who advances).
  • Standard duration (so stale deals get flagged).

Common gaps:

  • "Discovery" → "Proposal" with no exit criteria → reps advance prematurely.
  • "Negotiation" with no standard duration → deals park here for quarters.
  • "Closed Won" with no source-attribution capture → no feedback loop to marketing.

Step 5 — Funnel reporting audit

The single most-asked question in RevOps: "what's our funnel?". Audit:

  • Is there ONE source of truth? (HubSpot? Salesforce? A spreadsheet?)
  • Do marketing + sales + finance see the same numbers?
  • Are conversion rates between stages calculated consistently (cohort-based, not snapshot)?
  • Is the reporting cadence regular? (Monthly minimum for B2B; weekly for high-velocity.)

Step 6 — Prioritized fix-list

Score each finding on Impact × Ease (1–5 each):

FindingRecommendationImpactEaseScorePriority
No shared MQL/SQL definitionWorkshop with marketing + sales + RevOps; sign off in 1 page5420P0
32% of contacts have duplicatesHubSpot dedupe + ongoing dedupe rule4312P1
Lead scoring model 24 months oldRefresh inputs + recalibrate against last 6mo closed deals428P2
...

Top 3 land in the action queue.


Worked example — ClientCo HubSpot cleanup

Findings:

  • No shared MQL/SQL definition (P0).
  • 18% duplicate contacts in HubSpot (P0).
  • Lead routing: round-robin within an SDR team that's been restructured 3 months ago — routing rules never updated (P0).
  • No SLA on inbound demo requests — measured at 4-hour median response (P1).
  • Lead scoring model exists, score correlation with close = 0.1 (statistical noise) — P2 because requires more work than the 3 P0s.

Top 3 action queue:

  1. Define MQL/SQL in 60-min workshop next week; sign off in 1-pager.
  2. HubSpot dedupe pass (manual review of top 200 duplicates; automated rule for future).
  3. Update routing rules to match current SDR team structure.

Anti-patterns

  • ❌ Audit without sales in the room. Marketing-only RevOps audits miss the handoff layer.
  • ❌ Propose a perfect lead-scoring model on day 1. Calibration takes 90+ days; ship the rough model and iterate.
  • ❌ Skip the funnel-reporting audit because "the dashboard exists". One dashboard ≠ one source of truth.
  • ❌ Fix downstream (stage definitions) before fixing upstream (MQL/SQL definition). Cascade.
  • ❌ Stay in the /lifecycle-marketing lane (campaigns) when the problem is plumbing.

Integration with other skills

  • Upstream: /icp-research defines the fit criteria for lead scoring; /funnel-strategy defines the stage model.
  • Downstream: Findings feed /sales-enablement (battlecards, training); priorities feed /analytics-tracking-plan (instrumentation fixes).
  • Triage half (built): /revops-incident-response per .claude/rules/audit-triage-pairing.md. Hand the prioritized fix-list to it, or send it a symptom report directly.

Attribution

This skill adapts patterns from coreyhaines31/marketingskills/revops/SKILL.md (MIT license, © Corey Haines / Conversion Factory). Adapted to Genesys operator voice; integrated with funnel-strategy + analytics-tracking-plan.


Final ship gate

Run /premortem --output before ship. See /premortem skill for the 5 execution domains (will-it-resonate / will-it-convert / will-it-stay-on-brand / will-stakeholder-push-back / will-it-degrade-over-time) and output template.

Then run /scope-guardian-reviewer — the client-deliverable ship gate: scope-creep check on proposals/SOWs (pm-loop.md). A RevOps audit surfaces every broken thing in the CRM at once; this is the gate that keeps a scoped fix-list from becoming an unscoped cleanup project.

Trivial-case escape: ## Premortem\nNo failure modes — trivial change satisfies the contract for genuinely trivial outputs.


Signals

GitHub stars
36
Forks
14
Last commit
Jul 2026
Hacker News mentions
1
Advanced
Catalog kind
skill
Gateway key
revops-matteotitta
Source
github.com/matteotitta/genesys-skills