Build a customer health scorecard for a specific account. Use when asked to score account health, assess renewal risk, build a health dashboard, or evaluate...
---
name: cs-health-scorecard
description: "Build a customer health scorecard for a specific account. Use when asked to score account health, assess renewal risk, build a health dashboard, or evaluate an account's likelihood to renew or expand. Produces a structured health scorecard with a RAG status, dimension scores, key risks, and recommended actions."
homepage: https://mohitagw15856.github.io/pm-claude-skills/skill/cs-health-scorecard.html
metadata:
{
"openclaw": { "emoji": "๐ค" }
}
---
# Customer Health Scorecard Skill
Produce a structured, data-driven health scorecard for a customer account โ giving the CSM and leadership a clear view of renewal risk, expansion potential, and the actions needed to move the account in the right direction.
## Required Inputs
Ask for these if not already provided:
- **Account name** and tier (enterprise / mid-market / SMB)
- **Contract value** (ARR) and **renewal date**
- **Product usage data** โ logins, DAU/MAU ratio, key feature adoption
- **Support data** โ open tickets, CSAT or NPS score, recent escalations
- **Engagement data** โ last QBR date, executive sponsor status, champion name
- **Commercial data** โ payment history, expansion conversations, seats used vs. licensed
- **Any known risks or recent changes** at the account
## Scoring Framework
Score each dimension 1โ5. Weight as shown. Calculate weighted total out of 100.
| Dimension | Weight | What to Score |
|---|---|---|
| **Product Adoption** | 30% | DAU/MAU ratio, breadth of features used, power users identified |
| **Engagement** | 20% | QBR cadence, executive sponsor active, champion strength |
| **Outcomes** | 20% | Customer hitting their stated goals / success metrics |
| **Support Health** | 15% | Ticket volume trend, unresolved escalations, CSAT |
| **Commercial** | 15% | On-time payments, seats utilised, expansion signals |
**Score โ RAG conversion:**
- 80โ100: Green (healthy, renew likely)
- 60โ79: Amber (at risk, needs attention)
- 0โ59: Red (high churn risk, escalate)
## Programmatic Helper
This skill ships with a stdlib-only Python script that applies the weights above and converts the weighted total to a RAG status โ so the headline score is computed identically every time and weights always sum to 100%.
```bash
# Five scores 1-5 in order: adoption engagement outcomes support commercial
python3 scripts/health_score.py --scores 4 3 4 2 5 --account "Acme Corp"
# Or from JSON (lets you override the default weights per account/segment)
python3 scripts/health_score.py --input account.json
```
It returns the per-dimension weighted points, the **total out of 100**, and the **RAG band** (Green โฅ80, Amber 60โ79, Red <60) with a one-line next step. Run it to set the headline number, then write the dimension detail and actions below around it. Add `--json` for downstream tooling.
## Output Format
---
# Customer Health Scorecard: [Account Name]
**CSM:** [Name] | **Tier:** [Enterprise / Mid-Market / SMB]
**ARR:** ยฃ/$/โฌ[X] | **Renewal date:** [Date] | **Days to renewal:** [N]
**Overall health:** [Green / Amber / Red] โ [Score]/100
**Last updated:** [Date]
---
## Health Score Summary
| Dimension | Score (1โ5) | Weight | Weighted Score | Trend |
|---|---|---|---|---|
| Product Adoption | [1โ5] | 30% | [X] | โ / โ / โ |
| Engagement | [1โ5] | 20% | [X] | โ / โ / โ |
| Outcomes | [1โ5] | 20% | [X] | โ / โ / โ |
| Support Health | [1โ5] | 15% | [X] | โ / โ / โ |
| Commercial | [1โ5] | 15% | [X] | โ / โ / โ |
| **Total** | โ | 100% | **[X]/100** | |
---
## Dimension Detail
### Product Adoption โ [Score]/5
- **DAU/MAU ratio:** [X]% (benchmark: >25% = healthy)
- **Key features adopted:** [List features in use]
- **Features not adopted:** [List unused high-value features]
- **Power users identified:** [Yes / No โ how many]
- **Assessment:** [1โ2 sentences on adoption health]
### Engagement โ [Score]/5
- **Last QBR:** [Date] โ [Outcome summary]
- **Next QBR:** [Scheduled / Overdue]
- **Executive sponsor:** [Active / Passive / Vacant]
- **Champion:** [Name, role, strength: strong / moderate / weak]
- **Assessment:** [1โ2 sentences]
### Outcomes โ [Score]/5
- **Customer's stated goals:** [List 2โ3 goals from onboarding or last QBR]
- **Progress against goals:** [On track / Partial / Off track]
- **Evidence of value:** [Metric or quote that demonstrates ROI]
- **Assessment:** [1โ2 sentences]
### Support Health โ [Score]/5
- **Open tickets:** [N] (priority breakdown: P1: X, P2: X, P3: X)
- **CSAT / NPS:** [Score] (benchmark: >8 CSAT / >30 NPS = healthy)
- **Unresolved escalations:** [Yes / No โ details if yes]
- **Ticket trend (last 90 days):** Increasing / Stable / Decreasing
- **Assessment:** [1โ2 sentences]
### Commercial โ [Score]/5
- **Seats licensed:** [N] | **Seats active:** [N] ([X]% utilisation)
- **Payment history:** [On time / Late โ details]
- **Expansion signals:** [Yes โ describe / No]
- **Downgrade or cancellation signals:** [Yes โ describe / No]
- **Assessment:** [1โ2 sentences]
---
## Top Risks
| Risk | Severity | Mitigation |
|---|---|---|
| [Risk description] | High / Medium / Low | [Specific action to mitigate] |
---
## Recommended Actions
**Immediate (this week):**
1. [Action โ owner โ deadline]
**This month:**
1. [Action โ owner โ deadline]
**Before renewal:**
1. [Action โ owner โ deadline]
---
## Renewal Forecast
| Scenario | Probability | ARR at risk |
|---|---|---|
| Full renewal at current ARR | [X]% | ยฃ/$/โฌ0 |
| Renewal with contraction | [X]% | ยฃ/$/โฌ[X] |
| Churn | [X]% | ยฃ/$/โฌ[full ARR] |
**Recommended renewal play:** [Expand / Hold / Save / Manage out]
---
## Scoring Rubric (0โ40)
Score any output of this skill before handing it over; 32+ is ship-quality.
| Dimension | 0 | 5 | 10 |
|---|---|---|---|
| Score integrity | Weighted total doesn't compute from the dimension scores and stated weights, or the RAG band contradicts the total | Arithmetic is correct but weights were adjusted silently, or the headline RAG smooths over a dimension that tells a different story | Total computes exactly (score ร weight on the 1โ5 scale, out of 100), RAG matches the 80/60 bands, and any dimension that contradicts the overall status is called out rather than averaged away |
| Evidence per dimension | Dimension scores asserted with no supporting data ("engagement feels weak") | Most dimensions cite data, but at least one score leans on gut feel or a stale data point presented as current | Every dimension score is anchored to named, dated evidence (usage figures, ticket counts, QBR dates, seat utilisation) and benchmarks are applied where the format provides them |
| Risk specificity | Risks are labels ("low engagement", "churn risk") with no people, dates, or dollar amounts | Risks are real but partially vague โ severity assigned without a mitigation, or mitigations without owners | Every risk names the person/event/amount involved ("champion departs 25 July, no successor"), carries a severity, and has a mitigation someone could start this week |
| Renewal calibration | Forecast missing, probabilities don't sum to 100%, or the recommended play ignores the score | Forecast present and sums correctly, but ARR-at-risk figures don't reconcile to contract line items, or the play is generic | Probabilities sum to 100%, ARR at risk maps to actual contract components, the play (Expand/Hold/Save/Manage out) follows from the score and risks, and actions are owned, dated, and sequenced against the renewal date |
## Quality Checks
- [ ] Score is based on data, not gut feel โ each dimension has evidence
- [ ] Risks are specific (not "low engagement" โ something like "executive sponsor left in March, no replacement identified")
- [ ] Actions have owners and deadlines
- [ ] Renewal probability is calibrated against pipeline reality
- [ ] Trend arrows reflect direction of change vs. last scorecard, not just current state
## Anti-Patterns
- [ ] Do not score health dimensions on gut feel โ every score needs specific supporting evidence
- [ ] Do not give a Green status to accounts with unresolved P1 issues or missed milestones
- [ ] Do not list risks vaguely โ "low engagement" without specifics is not actionable
- [ ] Do not leave recommended actions without named owners and deadlines
- [ ] Do not conflate product usage frequency with product value delivery
don't have the plugin yet? install it then click "run inline in claude" again.