Skip to content
Back to skills

Deal Health Scoring

ASecurity

Scores each open opportunity on five dimensions (activity recency, stakeholder coverage, stage-age ratio, competitive signal, rep forecast accuracy history). Composite 0–100 score. Deals below 50 flagged for next-best-action. Triggers: 'deal health', 'health score', 'which deals are at risk', 'pipeline health', 'risky deals this quarter'.

  • 64 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 6, 2026
businessrustgorailssecurity

Works with

  • mcp

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned June 6, 2026

npx -y skills add t0ddc3by/claude-for-customer-success --skill deal-health-scoring --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Deal Health Scoring?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Deal Health Scoring
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/t0ddc3by-deal-health-scoring/badge)](https://www.skillsdirectory.com/skills/t0ddc3by-deal-health-scoring)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: deal-health-scoring
version: 1.0.0
deployment_target: plugin
status: PROPOSED
description: "Scores each open opportunity on five dimensions (activity recency, stakeholder coverage, stage-age ratio, competitive signal, rep forecast accuracy history). Composite 0–100 score. Deals below 50 flagged for next-best-action. Triggers: 'deal health', 'health score', 'which deals are at risk', 'pipeline health', 'risky deals this quarter'."
---

[PROPOSED]

# Deal Health Scoring

Five-dimension health score per open opportunity. Below 50 triggers
automatic handoff to `next-best-action-recommendation`.

**Reference:** Health score dimensions and confidence bands →
`../../../shared/revops-domain-model.md §2`
**Config reads:** `avg_sales_cycle_days`, `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_sales_cycle_days`, `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
- User needs a structured health score for one or more active pipeline deals — applies to both Sales new-logo pipeline and CS expansion pipeline
- Deal review requires objective signal aggregation (engagement, velocity, stakeholder thread, competitive)
- Sales manager or CS leader needs to identify at-risk deals before a forecast or pipeline review call

## Do NOT use for
- Deal classification by type or segment (use deal-classification)
- Pipeline coverage ratio analysis (use pipeline-coverage-analysis)
- Closed deal outcome tracing (use deal-to-outcome-tracing)

## Typical Activation
"Score this deal", "deal health for [account]", "which deals are at risk", "health check on my pipeline", "flag unhealthy expansion deals", "CS pipeline health"

## Application context
This skill applies to **both pipelines** — Sales new-logo deals and CS-originated expansion deals.
The scoring model is identical; interpretation differs:
- **New-logo deals:** stakeholder roles are AE-defined (EB, Champion, Technical Contact)
- **CS expansion deals:** stakeholder roles are CSM-defined — CS sponsor, economic buyer at the account, and any internal CS champion
At-risk expansion deals below 50 route to `next-best-action-recommendation` for CS-specific intervention options.

---

## Reasoning Protocol

Before generating output, apply these primers:

1. **CLASSIFY**: What type of deal health request is this?
   - Single deal score (one opportunity, full five-dimension breakdown)
   - Portfolio scan (rep, segment, or all open pipeline — composite + distribution)
   - At-risk identification (deals below threshold — flag + escalation path)
   - CS expansion pipeline health (CSM-owned deals — same model, CS stakeholder roles)

2. **CONSTRAINTS**: What limits the solution space?
   1. Confirm activation — user wants deal health view or at-risk identification
   2. Check HubSpot connector — activity history required; declare fallback if absent
   3. Apply G5 — health score is analytical input; rep and manager own the response
   4. Apply G6 — surface data-as-of on all activity reads
   5. For any score triggering a risk flag, confirm escalation path exists (G7)
   6. Confirm output destination and scope (single deal, rep, segment, all pipeline)

3. **EXPERT CHECK**: What would a veteran RevOps analyst verify first?
   - Is activity data fresh enough to score? Stale HubSpot activity produces misleading
     health signals — declare data age before presenting scores.
   - Are stakeholder roles correctly mapped to pipeline type? CS expansion deals use
     CS-defined roles (CS sponsor, economic buyer, CS champion) — not Sales AE roles.
   - Is the G7 escalation path named for every at-risk deal? "Flag to manager" without
     naming the manager is not an actionable escalation path.
   - Is a portfolio scan scoped before pulling data? Full pipeline scans on large CRMs
     may return partial data — declare scope and any data limits upfront.

4. **ANTI-PATTERNS**: Common mistakes to avoid:
   - Presenting health score as a directive or override (G5 violation — analytical input only)
   - Surfacing scores without data-as-of timestamp (G6 violation)
   - Flagging at-risk deals without an escalation path (G7 violation)
   - Applying Sales stakeholder role definitions to CS expansion deals — different roles,
     same scoring model

**After execution**, verify:
- G5 qualifier present on all outputs: health scores are analytical inputs
- G6 data-as-of label applied to all HubSpot activity reads
- G7 escalation path named for every at-risk deal (score < 50)
- Confidence: High when HubSpot is connected and activity data is current; Moderate when
  data is stale or connector is unavailable
    - Confidence: [High] when HubSpot is connected and activity data is current / [Medium] when data is stale or connector is unavailable / [Low] if all inputs are manual or unverified

---

## Scoring Model

| Dimension | Weight | Commit signal (full points) | Degraded |
|-----------|--------|-----------------------------|---------|
| Activity recency | 25% | Contact ≤7 days | −5pts per 7 days beyond |
| Stakeholder coverage | 25% | EB + Champion + TC engaged | −8pts per missing role |
| Stage-age ratio | 20% | At/ahead of historical avg | −4pts per 25% beyond avg |
| Competitive signal | 15% | No competitor / counter-play logged | −8pts if competitor active and no response |
| Rep forecast accuracy | 15% | Trailing commit accuracy ≥70% | Scaled linearly to 0 at <30% |

---

## Output

```
DEAL HEALTH SCORES — [Scope]
[HubSpot ✓ live — as of YYYY-MM-DD] [Confidence: High/Moderate]

Deal             ACV      Score   Signal    Top risk factor
[Account A]      $XXXk    82      Healthy   —
[Account B]      $XXXk    64      Watch     Stakeholder: no EB contact in 14d
[Account C]      $XXXk    41      AT-RISK   Stage stalled; competitive active
[Account D]      $XXXk    28      AT-RISK   All three dimensions degraded

At-risk (< 50): [N] deals, $XXXk total ACV
→ Run /rev-ops:next-best-action-recommendation for intervention options

Portfolio health distribution:
  Healthy (≥75):   [N] deals  $XXXk
  Watch (50–74):   [N] deals  $XXXk
  At-risk (<50):   [N] deals  $XXXk

[DRAFT — RevOps internal] [Confidence: High/Moderate]
[G5: Health scores are analytical inputs. Rep and manager own the response.]
```

---

## 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

- G5: Health score is not a directive — always include the G5 qualifier
- G6: Activity data-as-of timestamp required
- G7: At-risk flags include escalation path: "Flag to [rep's manager] for review"

Files in this skill

  • README.md1.6 KB
  • SKILL.md8.4 KB
  • references/reasoning-blueprint.md7.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.