── SKILL
cs-health-report✓ APPROVED

Roll up a customer book into moves, not colors.

Sorts a book into at-risk, renewing, expansion, and going-quiet, each with the one move it needs.

Inside: The at-risk list, renewals by date, expansion candidates, and a quiet-account detector.

01 / HOW TO USE

Install it in one line, or paste it in.

1
In Claude Code (one command)
Copy the install line, paste it into your terminal, and restart Claude Code. The skill installs itself to ~/.claude/skills/ and runs automatically when it is relevant.
2
In Claude, ChatGPT, or a Project (no terminal)
Open the file, then upload it to your chat or paste its contents in. A skill is just a markdown file of instructions, so any capable AI can follow it.
New to skills? A skill is a plain-text file that teaches your AI a workflow. Point any capable assistant at it and it follows the steps, on your data.
02 / MAKE IT YOURS

Connect your context. Set it to your motion.

CONNECT YOUR CONTEXT · AND WHY IT HELPS
a CRM

it reads the whole book automatically, renewal dates and values included.

a product-analytics tool

adds real usage momentum, so at-risk is behavior, not a guess.

a meeting or email tool

tightens the going-quiet check with real last-touch dates.

SET IT TO YOUR MOTION

This was built for a B2B SaaS org running recurring-revenue accounts. Set these to your stack:

Run any health model you like. The skill sorts your book against your own signals and thresholds, so point it at your fields, not anyone else's.

Set thisWhat it isDefault / Example
CRMyour CRM connectorSalesforceHubSpota CS platform
VALUE fieldcontract or account valueARRMRRcontract value
RENEWAL fieldwhen the contract renewsrenewal dateterm end
HEALTH signalhow you read account healtha health scoreusagesupport load
USAGE sourcewhere product momentum livesa product-analytics tool
RENEWAL windowdays out that means act now90 (re-tune to your cycle)
QUIET_DAYSno-contact days that mean going dark30 (re-tune)
03 / THE FULL SKILL

Everything the skill does, in full.

── WHAT THIS DOES

Reads a book of accounts and sorts them into the four groups a CSM works from: at risk, renewing soon, ready to expand, and going quiet. Every account that surfaces comes with the one move that changes its trajectory. It is a health rollup that ends in outreach, not a grid of green and red.

── THE METHOD
  1. 1
    At-risk accounts

    An account is at risk when the signals turn: usage falling, support load rising, a health score dropping, a key contact gone. Rank by value at risk, not by count, so the biggest exposure leads. Name why, from a signal you can see.

  2. 2
    Renewals due

    Every account inside the renewal window, sorted by date then value. A renewal is not safe because it is far away and not lost because it is close. Show days to renewal and the health signal together, so risk and timing sit on one line.

  3. 3
    Expansion candidates

    Accounts healthy and using the product hard enough to grow. Strong usage plus headroom is an expansion signal. Surface the few worth a real conversation, not every green account.

  4. 4
    Going quiet

    Accounts with no contact past QUIET_DAYS. Silence before a renewal is the risk that hides, because nothing looks wrong until it is too late. Show days dark and the next date that matters.

  5. 5
    The one move

    Each surfaced account gets a single move: book the renewal conversation, run a usage review, open the expansion talk, re-engage a quiet champion. One move per account beats a plan nobody runs.

── QUALITY GATES
  • At-risk ranks by value at risk, never by a raw count of flags.
  • No "at risk" without naming the signal that turned. A color is not a reason.
  • Renewals show days-to-renewal and a health signal on the same line.
  • Every surfaced account carries exactly one move, owned and specific.
── OUTPUT (EXAMPLE)
EXAMPLE OUTPUT
BOOK HEALTH · 24 accounts, $1.4M ARR
At risk (by value)   3 accounts, ~$180K
  Acme Corp   $90K   usage down 40% over 6 weeks, champion left
  Vertex      $55K   support tickets up, health score falling

Renewals due (90d)   5 accounts, ~$310K
  Blend Labs  $70K   renews in 22d, health steady
  Northwind   $48K   renews in 61d, usage soft

Expansion candidates 2 accounts
  Orbit Inc   $60K   power usage + seats near cap

Going quiet          4 accounts, no contact 30d+
  Delta Co    $32K   dark 44d, renews in 75d

Moves
  1. Acme Corp: book a save conversation this week, name a new champion.
  2. Delta Co: re-open contact before the renewal clock runs down.
  3. Orbit Inc: open the seat-expansion talk on the next call.
── WHERE THE NUMBERS COME FROM

The renewal window (90 days) and QUIET_DAYS (30) are defaults, not laws. They suited a mid-market SaaS book on annual terms. If your terms are monthly, shorten both. If they run multi-year, widen them. The logic does not change. The thresholds are yours.

── EXAMPLE CHAT
EXAMPLE CHAT
You
How's my book looking, 24 accounts?
CLAUDE
Rolled up. Your biggest risk isn't the account you'd expect. At risk (by value) 3 accounts, ~$180K Acme Corp $90K usage down 40% over 6 weeks, champion left Vertex $55K support tickets up, health score falling Going quiet 4 accounts, no contact 30d+ Delta Co $32K dark 44d, renews in 75d Acme leads by value at risk, not by a flashing red flag, that's why ranking by dollars instead of raw count matters. Delta Co is the quieter danger: nothing looks broken because the renewal is still 75 days out, but 44 days of silence before a renewal is exactly the pattern that hides until it's too late. One sharpener: connect a product-analytics tool so "usage down 40%" becomes a real trend line instead of a single snapshot comparison.
You
Give me the one move for each of those two.
CLAUDE
One move apiece, not a plan to triage. 1. Acme Corp: book a save conversation this week, name a new champion. 2. Delta Co: re-open contact before the renewal clock runs down. Acme needs a new relationship, not just a check-in, since the champion who left was likely the account's only real advocate. Delta just needs the silence broken now, while there's still runway before the renewal date. One sharpener: connect a meeting tool so "re-open contact" can suggest the actual best contact to reach, not a guess at who's still there.
04 / GO FURTHER

Where an operator takes this next.

The read is step one. Here's where an operator takes it once the manual version proves out.

You built the read once; now it runs itself.

01
Refresh the whole book every Monday, automatically

Point a scheduled Claude task at Salesforce and Amplitude weekly and post the four groups to the CSM team channel before standup.

02
Catch the quiet ones before they go dark

Set the going-quiet check to fire the moment an account crosses the threshold, not on a weekly cadence, via a Slack alert to the account owner.

03
Turn the moves into sent outreach

Chain this into comms-agent so "book a save conversation" becomes a drafted email or calendar hold, not just a line on a list.

05 / PART OF A BIGGER PLAY

One skill is the on-ramp.

── GET NEW SKILLS IN YOUR INBOX

One operator-built skill a week. Free.