Turn revenue data into a wrap-up that drives action.
A weekly or monthly recap that ends in decisions, not a dashboard screenshot: position vs plan, what moved, the risks, the next moves.
Inside: Position vs plan, what moved, sized risks, and owned next moves.
Install it in one line, or paste it in.
~/.claude/skills/ and runs automatically when it is relevant.Connect your context. Set it to your motion.
it reads closed and committed revenue automatically, deal by deal.
pulls the plan, the trend, and the prior periods without a copy-paste.
separates new, expansion, and churn cleanly.
This was built for a B2B SaaS org reporting on a recurring-revenue number. Set these to your stack:
Report on any metric you like. The skill measures position against your plan and explains the movement, so point it at your number, not anyone else's.
| Set this | What it is | Default / Example |
|---|---|---|
| CADENCE | how often you report | weeklymonthly |
| METRIC | the headline number | new ARRnet new ARRbookingsMRR |
| PLAN source | where the target lives | a BI toola plan sheeta quota field |
| SEGMENTS | how you cut the number | new businessexpansionchurnby region |
| PACING basis | how you read mid-period | linearor your historical shape |
| PRIOR periods | how far back the trend runs | trailing 3 to 6 periods |
| VARIANCE flag | gap to plan worth naming | +/- 10% (re-tune to your business) |
Everything the skill does, in full.
Takes your revenue numbers and writes the recap a leader actually reads: where you stand against plan, what moved since last time, the two or three risks that matter, and the exact next moves. It is a report that ends in decisions, not a chart with no verdict.
- 1Position vs plan
State the headline number, the target, and the gap, in that order. Ahead, on, or behind, with the percentage. If the period is not over, show pacing: where the number sits versus where a normal period would have it by now. Never call a mid-period number a miss without a pacing basis.
- 2What moved
Compare to last period and name the drivers. Did new business carry it, did expansion, did churn drag it down? Attribute the change to a cause you can see in the data, not a vibe. If you cannot see the cause, say so.
- 3The risks
Two or three, not ten. A risk is something that threatens the next period's number: thin pipeline, a slipping large deal, a churn spike, a segment falling behind. Each risk gets a size, so the reader knows what is at stake.
- 4The next moves
Every report ends in moves, each one owned and specific. "Chase the three deals inside the period" beats "improve pipeline." A recap with no moves is a screenshot.
- No "miss" or "beat" on a mid-period number without a stated pacing basis.
- Every driver ties to a number you can show, never an unsourced claim.
- Risks are sized. A risk with no magnitude is a worry, not a risk.
- Next moves are owned. An action with no owner does not happen.
REVENUE REPORT · Month to date
Headline New ARR $420K vs $500K plan · 84%, behind
Pacing On track for ~$465K at current run rate
Moved +18% vs last month, carried by expansion ($140K)
New business flat, churn steady
Risks
1. Two deals worth ~$90K slipped past the close date. Period-defining.
2. New-business pipeline for next month is thin, ~0.8x coverage.
Next moves
1. Sales lead: pull the two slipped deals into a same-week decision.
2. Marketing: name the source of next month's pipeline gap by Friday.The variance flag (+/- 10%) and the trailing-period window are defaults, not laws. They suited a monthly SaaS cadence. If your business is lumpier, widen the flag. If you report weekly, shorten the window. The logic does not change. The thresholds are yours.
Where an operator takes this next.
The recap earns a read. Here is the version that writes itself every period.
The report shows up with the next move attached before anyone has to ask for it.
Schedule a Claude task against your BI export so the report is in your leader's inbox before the pipeline review starts.
Connect Salesforce so the risks section lists the actual opportunities and owners instead of a dollar figure.
Send the finished report to Slack instead of a doc nobody opens until the next meeting.
One skill is the on-ramp.
A single skill does one job. Chained into a playbook, or run as a full build, it becomes a system. Here is where this one plugs in.