nrr-narrative
Skill2 starsChanged 3 months agoMITView on GitHub
Use when the user says "NRR", "net revenue retention", "why did NRR drop", "retention slide for the board", "explain our retention numbers", "what is our NRR hiding". Produces a one-page, board-ready retention narrative: the bridge from starting to ending ARR, gross retention beside net, cohort or blended, concentration, what recurs, what the number hides, and three sentences for the slide. Not for the forward number (use renewal-forecast) or the account reads underneath it (use portfolio-review).
In this repository54 other files it gives its agents.
- account-contextSkill
- account-planSkill
- account-reviewSkill
- adoption-planSkill
- advocacy-askSkill
- book-reviewSkill
- book-triageSkill
- business-reviewSkill
- call-prepSkill
- call-recapSkill
- champion-lossSkill
- churn-postmortemSkill
- coachingSkill
- commitmentsSkill
- coverage-modelSkill
- csm-hiringSkill
- csm-rampSkill
- csql-motionSkill
- cs-scorecardSkill
- cs-startSkill
- customer-updateSkill
- day-planSkill
- email-criticSkill
- escalationSkill
- exec-conversationSkill
- expansion-caseSkill
- expansion-scanSkill
- handoffSkill
- hard-conversationSkill
- health-scoreSkill
- internal-askSkill
- invoice-chaseSkill
- mutual-action-planSkill
- offboardingSkill
- onboarding-planSkill
- one-pagerSkill
- playbook-builderSkill
- portfolio-reviewSkill
- price-increaseSkill
- renewal-forecastSkill
- renewal-negotiationSkill
- renewal-riskSkill
- renewal-runwaySkill
- sales-handoffSkill
- save-planSkill
- stakeholder-mapSkill
- status-updateSkill
- survey-follow-upSkill
- team-rollupSkill
- usage-emailSkill
- value-ledgerSkill
- voice-of-customerSkill
- what-do-i-oweSkill
- skill-nameSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
If the user gave a period and the ARR movements (or starting and ending ARR for the same customers), go straight to "Do this".
- Distinctive: line 63
A changed definition goes first: If the audience finds it themselves, the rest of the deck stops being believed.
- Distinctive: line 64
Disclose concentration yourself: If three accounts supplied most of the expansion, the number is three renewals, and it will not repeat on …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
NRR Narrative
A one-page retention story a board can follow and a CFO cannot poke a hole in, built by taking the number apart before explaining it.
Start here
If the user gave a period and the ARR movements (or starting and ending ARR for the same customers), go straight to "Do this".
Otherwise ask for these in ONE message, then proceed with whatever comes back:
- The period, starting ARR from existing customers, and any of: expansion, price uplift, contraction, churn.
- Cohort cuts if they exist, the three largest expansions, and where churn sat (segment, channel, cohort).
- The audience, and the decision the number feeds.
Missing movements are estimated and tagged (assumed, confirm); a movement that cannot be split goes under "What I could not check". If an "Account context" block exists in the conversation, use it for pricing model (consumption pricing changes the arithmetic).
Do this
- Decompose before narrating. Starting ARR + expansion + price - contraction - churn = ending ARR for the same customers. Check it adds. Keep price and expansion apart: one is demand, the other is a charge.
- Compute the pair. GRR = (start - contraction - churn) / start. NRR = (start + expansion + price - contraction - churn) / start. Add NRR without price. Put GRR first, and put the prior period beside it.
- Say the basis. Cohort or blended, and any definition change this period. If blended, say what it flatters: customers landed recently have not reached a renewal yet.
- Find the concentration. Share of expansion from the top three accounts. Where contraction and churn sit. Concentrated loss is a segment problem. Even loss is a product or pricing problem.
- Separate what recurs. A one-time price uplift does not repeat. Multi-year terms defer churn, so also compute GRR on the base that was free to leave this period.
- Name what the number hides, in your own words before anyone asks. Add one leading indicator that moves ahead of the number, with its mechanism, and the decision or spend the narrative supports.
- Write three sentences first: what happened, why, what we are doing. Then the page. If it cannot be said in three, the analysis is not done.
Output
Lead with the headline. Use this skeleton exactly:
[Headline: GRR x%, NRR y% for the period, and the one-line story]
Bridge ($k): start | + expansion | + price | - contraction | - churn | = end
GRR | NRR | NRR without price (this period beside prior period)
Basis: cohort or blended. Definition changes: [none, or what changed and the restated figures]
Concentration: [expansion from top three; where loss sits; cohort cut]
What recurs and what does not: [price, multi-year deferral, GRR on the base free to leave]
What the number hides: [bullets, disclosed not defended]
Leading indicator: [metric, mechanism, current reading, cadence]
Ask or decision: [what the board is being asked to back, and the target]
Three sentences for the slide
What I could not check
- [gap]A filled example is in examples/sample.md. Match its shape and length.
Rules
- GRR before NRR, always together. Expansion in a few accounts can hold NRR flat while the base shrinks, and the gap between the two is the story.
- Price is not expansion. Expansion shows customers want more. Price shows you charged more. A board that finds the merge later distrusts every other number.
- Contraction gets its own number. Accounts that stayed and shrank are easy to leave out and are often the larger negative.
- Blended flatters a fast-growing base. The faster new business lands, the more young customers sit in the denominator before their first renewal. Show a cohort cut.
- Deferred churn is not avoided churn. Customers on multi-year terms cannot leave this year, so show retention on the exposed base too.
- A changed definition goes first. If the audience finds it themselves, the rest of the deck stops being believed.
- Disclose concentration yourself. If three accounts supplied most of the expansion, the number is three renewals, and it will not repeat on its own.
- Show dollars beside percents. A drop of four points means little to a board until it sees the dollars behind it.
- Report lagging and leading together. Retention is lagging by quarters. A board deciding where to spend needs the indicator it can watch now.
Related (only if installed)
renewal-forecast for the forward half. portfolio-review for the reads underneath. coverage-model when the pattern is a coverage decision showing up in the numbers.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

