Diagnoses and reduces churn — cancellation flows, save offers, failed-payment recovery, at-risk detection, and the product and service causes underneath. Use this when churn is rising or unexplained, to design a cancellation or win-back flow, to recover involuntary churn, to identify at-risk accounts before they leave, or to decide whether a retention problem is a product problem.
npx skills add https://github.com/cbrock84/headcount --skill retention
They have nothing in common but the outcome, and conflating them wastes effort:
cheapest thing to fix in the whole business.
Fix involuntary first. Card retries on a sensible schedule, dunning emails that reach a human,
pre-expiry notification, and a grace period that does not immediately cut off access. This is
recoverable revenue sitting untouched in most companies.
Ask when the decision was actually made. It is almost never at cancellation — it is weeks earlier,
at a failed expectation, an unresolved support issue, or a champion leaving.
Segment churn by tenure, plan, acquisition channel, and activation status. Concentrations tell you
the cause:
champion departure.
customers, and no retention work fixes that.
Make canceling straightforward. Obstruction generates chargebacks, public complaints, and in a
growing number of jurisdictions, regulatory exposure.
Do ask why, with specific options plus free text — this is the highest-quality product feedback you
will ever receive, from people with no reason to be polite.
Offer a save only where it addresses the stated reason. A discount offered to someone leaving
because a feature is missing confirms you were not listening. Pause is often the better offer and is
rarely available.
Build a simple signal from declining usage, a support escalation, a champion going quiet, or a seat
count dropping. Then act on it while intervention is still possible — a health score nobody works is
a dashboard, not a program.
Take cbrock84/retention from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.