── SKILL
book-of-business-analyst✓ APPROVED

See your whole book in one rollup.

Scores every account on health, lays out renewals due, shows product adoption, and flags accounts going quiet.

Inside: The health composite, the renewals-due view, and the adoption heatmap.

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

the whole book with owners, value, and renewal dates, live.

a product-analytics tool

per-account usage and active users, which power the health composite and the going-dark detector.

SET IT TO YOUR MOTION

Map your portfolio first. Tell the skill which owner field equals "my book," which contract-value field is the source of truth for ARR, and what your product line names are. The method runs against those placeholders.

Set thisWhat it isDefault / Example
CRMWhere accounts, owners, and contract values liveSalesforceHubSpotor your CRM
Renewal date fieldThe field the renewal queue readsA "renewal end date" field
Product linesThe set of products you check penetration againstCoreAdd-on AAdd-on BAdd-on C
Health-score inputsThe signals that combine into the compositeEngagement tieractive userschampion stabilitysupport sentiment
Dark-days thresholdTrailing window of no activity that flags an account30 days
03 / THE FULL SKILL

Everything the skill does, in full.

── WHAT THIS DOES

This skill turns your customer book into one rollup view. It pulls every account you own, scores each on a health composite, lays out the renewals coming due, shows which products each account has adopted and which it has not, flags accounts going quiet, and ranks the best expansion plays. It is built for the start of the week, when you need to know where to spend your time. It is a rollup, not a per-deal deep dive.

── THE METHOD
  1. 1
    1. Pull the book. Every account where the owner field matches the portfolio owner, with contract value, renewal date, and product lines.
    1. Score the health composite per account. Combine the inputs you mapped into one of four bands: HEALTHY, WATCH, AT-RISK, GHOST. Every band carries the reasons that produced it.
    2. Build the renewal queue. Bucket open renewals into 90, 120, 180-day horizons, each with a verdict.
    3. Build the multi-product penetration view. Per product line, count adopted vs total. The largest gap is the biggest opportunity.
    4. Run the going-dark detector. Flag accounts past the dark-days threshold or with falling active users. Pair each with contract value and renewal date.
    5. Compute retention contribution per account. Year-over-year value delta net of churn and downgrades, rolled to a portfolio figure.
    6. Rank expansion candidates. Single-product accounts at an adoption ceiling carrying the signals to take the next product.
    7. Close with named next moves tied to specific accounts.
── QUALITY GATES
  • The health composite is sourced. Never "Acme is at risk," always "at risk because engagement dormant, zero activity in 30 days, champion left in March."
  • The renewal queue carries a risk overlay (HEALTHY / WATCH / SAVE_NEEDED).
  • Book comparisons are honest. Surface book mix, not just headline numbers. One owner may hold the harder accounts.
  • If a query needs a signal you have not mapped, the skill stops and says what to connect.
── OUTPUT (EXAMPLE)
EXAMPLE OUTPUT
PORTFOLIO ROLLUP  ·  47 accounts  ·  $4.2M ARR

Health composite:
  HEALTHY:  31 ($2.8M)   WATCH: 9 ($820K)
  AT-RISK:   5 ($412K)   GHOST: 2 ($168K)

Renewal pipeline:
  Next 90d:  6 renewals · $678K · 4 HEALTHY · 1 WATCH · 1 SAVE_NEEDED
  Next 120d: 11 renewals · $1.2M

Multi-product penetration:
  Core:     42 of 47 (89%)
  Add-on C:  8 of 47 (17%)  (34 expansion candidates, biggest gap)

Going-dark this week:
  - Account One   (-87% active users, $42K ARR, renewing 2026-08)

Retention contribution YTD: +$340K net · 108% net retention

Top expansion candidates:
  1. Account Four ($187K), Core only, ready for Add-on C
── WHERE THE NUMBERS COME FROM

The defaults are illustrative. Re-tune to your book: the four health bands and their inputs, the 90/120/180-day renewal horizons, the 30-day dark threshold, the product lines and what counts as adopted, and the retention math (the year-over-year delta and what you net out). Match each to your own retention reality.

── EXAMPLE CHAT
EXAMPLE CHAT
You
How's my book looking this week? Here's my account export. [pastes CSV]
CLAUDE
Rolled it up. PORTFOLIO ROLLUP · 47 accounts · $4.2M ARR Health composite: HEALTHY: 31 ($2.8M) WATCH: 9 ($820K) AT-RISK: 5 ($412K) GHOST: 2 ($168K) Going-dark this week: - Account One (-87% active users, $42K ARR, renewing 2026-08) Top expansion candidates: 1. Account Four ($187K), Core only, ready for Add-on C The one to move on first: Account One isn't just AT-RISK, it's going dark with a renewal five months out, which is exactly the window where a save attempt still works. Wait until the renewal call and it's too late to matter.
You
What's dragging the AT-RISK bucket?
CLAUDE
Every AT-RISK account in this run is flagged for a named reason (dormant engagement, zero activity in 30 days, or a departed champion), never just "at risk" with no evidence behind it. One sharpener: connect your product-analytics tool and the going-dark detector runs on real usage trend instead of the single snapshot you pasted.
04 / GO FURTHER

Where an operator takes this next.

A weekly rollup by hand catches this week's fires. Here's the version that never lets one slip.

The rollup is the read. The system is what makes sure nobody has to remember to ask for it.

01
Run it every Monday automatically

Connect Salesforce and your product-analytics tool to a scheduled Claude task that regenerates the rollup before your week starts, no manual export required.

02
Alert the moment an account goes dark

Wire Amplitude usage drops into a Slack DM to the account owner the day the threshold trips, not the week you happen to run the report.

03
Push expansion candidates to the AE

Feed the ranked list into Salesforce as a task or a Clay enrichment trigger so a single-product account at the adoption ceiling becomes a warm handoff, not a line item nobody actions.

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.