revenue-leakage-scanning

$npx mdskill add t0ddc3by/claude-for-customer-success/revenue-leakage-scanning

Scans deal structures for revenue leakage before contract close.

  • Detects underpriced services, missing expansion clauses, and misaligned renewal terms.
  • Reads config from CLAUDE.md and company-profile.md for avg_deal_acv and primary_segment.
  • Uses confidence bands from revops-domain-model.md and G-code guardrails to evaluate risk.
  • Prompts for cold-start interview if config is missing or contains placeholders.

SKILL.md

.github/skills/revenue-leakage-scanningView on GitHub ↗
---
name: revenue-leakage-scanning
version: 1.0.0
deployment_target: plugin
status: PROPOSED
description: "Identifies deal structures leaving money on the table before close: underpriced professional services, missing expansion clauses in multi-year deals, renewal terms misaligned with ARR classification, missing success milestone gates for expansion. Fires at Negotiation stage — before close locks the structure. Triggers: 'revenue leakage', 'missing expansion clause', 'mispriced services', 'deal structure review', 'are we leaving money on the table'."
---

[PROPOSED]

# Revenue Leakage Scanning

Structural leakage is easier to fix before the contract is signed.
Primary detection window: Negotiation stage — before close.

**Reference:** Confidence bands → `../../../shared/revops-domain-model.md §2`
**Config reads:** `avg_deal_acv`, `primary_segment`

---

## Pre-flight

Read `~/.claude/plugins/config/claude-for-customer-success/rev-ops/CLAUDE.md` and
`~/.claude/plugins/config/claude-for-customer-success/company-profile.md`.

If either is missing or contains `[PLACEHOLDER]` markers, stop and prompt for
`/rev-ops:cold-start-interview`.

Note from config: `avg_deal_acv`, `primary_segment`

**G-code dependency:** All G-code guardrails referenced in this skill (G1–G9) are defined in the CLAUDE.md config loaded above. If Pre-flight halts or config is missing, G-codes are undefined — do not proceed with partial config.
---

## Use when
- Deal is at Negotiation stage and structure needs review before close locks terms
- PS pricing, expansion clauses, or renewal terms need structural review
- User asks whether a deal structure is leaving money on the table

## Do NOT use for
- Post-close deal review (lower leverage — flag this explicitly)
- ARR classification decisions (use deal-classification)
- Deal health or risk scoring (use deal-health-scoring)

## Typical Activation
"Revenue leakage scan", "are we leaving money on the table", "missing expansion clause", "mispriced services", "deal structure review for [account]"

---

## Reasoning Protocol

Before generating output, apply these primers:

1. **CLASSIFY**: What type of revenue leakage scan is this?
   - Single-deal scan (one account at Negotiation stage — full four-pattern check)
   - Deal-cohort scan (multiple deals — pattern frequency across pipeline)
   - Pre-close structural review (deal at Negotiation — action window open)
   - Closed-deal audit (deal already closed — lower leverage; flag this explicitly)

2. **CONSTRAINTS**: What limits the solution space?
   1. Confirm activation — user reviewing deal structure for a specific deal or cohort
   2. Pull deal structure fields, PS line items, contract terms, and product configuration from HubSpot
   3. Check deal stage — flag immediately if deal is already closed (post-close is lower leverage)
   4. Evaluate all four leakage patterns; quantify estimated ARR impact where possible
   5. Apply G1 — leakage estimates shared beyond RevOps require forecast qualification language
   6. Apply G6 — data-as-of timestamp required on all HubSpot reads
   7. Surface findings with specific pre-close actions while action window is open

3. **EXPERT CHECK**: What would a veteran deal desk analyst verify before surfacing leakage findings?
   - Is the PS ratio benchmark contextualized? A ≤25% PS-to-ACV ratio is a signal, not a rule —
     implementation complexity notes must corroborate before flagging underpricing. Without
     complexity context, the flag is noise, not signal.
   - Is the expansion clause gap specific? "Missing expansion clause" needs the contract term
     length confirmed — flagging a missing expansion right on a 1-year deal is low value; on
     a 3-year deal it's a material ARR growth constraint.
   - Is the ARR classification mismatch actionable before close? Flagging renewal-term / ARR
     classification misalignment only matters if there's time to add a price increase clause —
     confirm with the AE that the contract is not yet countersigned.
   - Is the success milestone gate absence framed as a CS enablement gap, not a CS failure?
     Missing milestone gates hurt expansion motion — the fix is a contract amendment, not a
     coaching conversation.

4. **ANTI-PATTERNS**: Common mistakes to avoid:
   - Running a scan on a closed deal without explicitly flagging the reduced leverage window
   - Surfacing PS underpricing estimates without G1 qualification when output goes to Finance
   - Pulling HubSpot deal data without data-as-of timestamp (G6 violation)
   - Flagging all four patterns as equally urgent — prioritize by estimated ARR impact and
     ease of fix before close

**After execution**, verify:
- G1 qualification present on all leakage estimates shared beyond RevOps
- G6 data-as-of label applied to all HubSpot reads
- Deal stage confirmed — action window status declared (open / closed)
- Leakage findings prioritized by estimated ARR impact
- Confidence: High when HubSpot connected and deal structure fields complete; Moderate when fields missing or deal is post-close
    - Confidence: [High] when HubSpot connected and deal structure fields complete / [Medium] when fields missing or deal is post-close / [Low] if all inputs are manual or unverified

---

## Four Leakage Patterns

```
Pattern 1 — Professional services underpriced
  Signal: implementation_complexity notes suggest high effort;
          PS line item ≤25% of ACV (typical PS ratio for complexity level)
  Impact estimate: [estimated PS underprice amount]

Pattern 2 — Expansion clause missing
  Signal: multi-year contract (≥2 years) without usage-based expansion clause
          or seat-based expansion rights
  Impact: No contractual mechanism to grow ARR within the contract term

Pattern 3 — Renewal terms / ARR classification mismatch
  Signal: deal counted as New ARR but renewal terms allow flat renewal
          with no price increase clause
  Impact: ARR classification may overstate true growth quality

Pattern 4 — Success milestone gate missing
  Signal: no EBR/QBR or milestone-based check-in tied to expansion conversation
  Impact: CS has no contractual trigger for expansion motion
```

---

## Output

```
REVENUE LEAKAGE SCAN — [Account Name] — [Stage]
[HubSpot ✓ live — as of YYYY-MM-DD] [Confidence: Moderate]

Deal: [link]  ACV: $XXXk  Stage: [stage]  Close: [date]

Leakage findings:
  [Pattern type]  Estimated impact: $XXXk  Action: [specific fix before close]
  [Pattern type]  Impact: [structural]      Action: [specific fix]

No leakage patterns detected: [if clean]

Window: [deal is at Negotiation — action window is open / deal is closed — lower leverage]

[DRAFT — RevOps internal]
[G1: Leakage estimates are models. Not revenue commitments.]
```

## Reference Files

| File | Purpose |
|------|---------|
| `references/reasoning-blueprint.md` | Problem classification taxonomy, domain heuristics, common failure modes, and expert judgment patterns for this skill |

## Security & Permissions

**Network access:** None direct — all external data access is mediated by host-provided MCP connector tools (HubSpot, CS platform, Slack, Linear). This skill makes no direct outbound HTTP calls.
**Filesystem scope:** None — this skill does not read or write local files. All data is provided at runtime via parameters or MCP connector responses.
**Subprocess execution:** None.
**Dynamic code execution:** None — pseudocode in this skill represents the logic contract and is not executed at runtime.
**Data sensitivity:** Inputs may contain confidential deal and pipeline data. Handle with RevOps-level confidentiality.

## Trust & Verification

**Input trust model:** All user-provided parameters are treated as untrusted at intake. Numeric inputs are validated for plausible range before use in calculations. String inputs are not evaluated as code.
**Output trust model:** All outputs are proposals or analytical inputs — no outputs constitute approved decisions, revenue commitments, or system actions without explicit human confirmation.
**Connector data:** Data retrieved via MCP connectors is treated as read-only observed state. Timestamps and data-as-of labels are applied to all connector-sourced values per G6.
**Write-tier confirmation:** Any proposed write to HubSpot, Linear, or Slack is surfaced as a draft requiring explicit user confirmation before execution.

## Guardrails

- G1: Leakage estimates require qualification when shared beyond RevOps
- Most valuable when run at Negotiation stage — flag this explicitly on closed deals

More from t0ddc3by/claude-for-customer-success

SkillDescription
account-research>
annual-planning-workflowOrchestrates the six-phase annual (or mid-year) planning cycle: forecast scenarios → UoG three-scenario capacity modeling → quota sensitivity → comp simulation → baseline save → change communication. Each phase gates on human approval before the next begins. Invokes unit-of-growth-calculator for capacity modeling. Triggers: 'annual planning', 'planning cycle', 'run the plan', 'quota comp planning', 'mid-year replan'.
blocker-review>
call-prep>
change-communication-packagingProduces a three-part communication package for sensitive planning changes: (1) data-backed rationale memo for reps, (2) FAQ with top 5 anticipated objections and data responses, (3) rollout sequence with audience, channel, and order. Triggered automatically by annual-planning-workflow for territory, quota, or comp changes. Requires RevOps lead review before any distribution. Triggers: 'communicate changes', 'territory announcement', 'quota rationale', 'comp change communication', 'help me tell reps about [change]'.
churn-rcaRoot cause analysis for individual customer churn events and cohort-level churn pattern analysis. Produces structured RCA with root cause taxonomy, contributing factors, timeline reconstruction, and remediation pathway. Scoped to full cancellation — contract contraction redirected to renewals:downgrade-analysis.
closed-won-to-cs-capacity-modelingConverts rolling sales forecast into CS resource demand using UoG formulas. Runs three-scenario capacity check (P10/P50/P90 from scenario-modeling). Compares projected CSM demand to current headcount and UoG annual plan baseline. Surfaces CS capacity gaps with a hiring lead time flag. Updates when SA1 forecast moves >10%. Triggers: 'CS capacity', 'can CS absorb', 'CSM headcount needed', 'CS ceiling', 'will CS be able to handle new logos'.
cold-start-interview>
comp-simulationModels comp plan payout scenarios before plan is finalized. Stress-tests OTE, accelerators, and threshold structures against attainment distributions (50/65/75/85/100%). Surfaces cost-to-company and unintended payout behaviors. G3 applies — all outputs require HR + Finance dual review before rep distribution. Triggers: 'comp simulation', 'model comp payouts', 'comp plan cost', 'stress test comp plan', 'what does the plan cost at 80/100/120%'.
crm-hygiene-auditOverall CRM health score plus rep-level hygiene scorecard across three dimensions: completeness, accuracy, and recency. Produces weekly hygiene report for RevOps review before sharing with Sales managers. Never writes to CRM — all corrections are proposals. Triggers: 'CRM hygiene', 'data quality', 'hygiene report', 'field completeness', 'CRM health score'.