Win a churned customer back by re-onboarding, not discounting.
Sorts churned accounts winnable versus gone, reads why they really left, times the reach-back to a change on their side, and writes a warm re-onboarding sequence.
In plain English: “Which lost customers can we actually win back?”
Inside: The winnable test, the real-reason read, the change-signal timing, and the re-onboarding sequence.
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 the full history, the champion, the original value, and whether the door was left open.
it sees if they spun up a competitor or if the gap that made them leave still exists.
it catches the change that reopens the door, a new leader, a fresh round, a reorg.
This was built to be motion-agnostic. Set these to your win-back:
The play is yours. The point is to re-onboard a returning customer, not to blast a discount at everyone who ever left.
| Set this | What it is | Default / Example |
|---|---|---|
| WINDOW | how long after churn you reach back | 90 daysretune to your cycle |
| WINNABLE_TEST | what makes an account worth chasing | the reason they left has changed |
| CHANGE_SIGNALS | what reopens a door | new leadernew roundreorgcompetitor pain |
| RE_ONBOARD | how you welcome them back | the same care as first timewarm not salesy |
| CHANNELS | where the reach-back runs | the champion's inboxa human note |
| VOICE | the tone of the return | glad you're backnot "we miss your money" |
Everything the skill does, in full.
Builds the play to win a churned customer back, and treats the return like an onboarding, not a discount. It reads why each account left, whether the exit left a door open, and whether anything has changed on their side, then picks the ones actually worth chasing and writes a warm re-onboarding sequence for each. The premise: a returning customer should feel the same care they felt the first time, because the reason they come back is rarely the price, it is the feeling that they were wanted. Boomerang customers are real revenue, and this is the motion that earns them.
- 1Pick the winnable, drop the gone
Not every churned account is worth chasing. Sort them: winnable means the reason they left has changed or was never really about your product. Gone means the gap that pushed them out still exists. Chasing the gone burns goodwill and your time. Name which is which before you write a word.
- 2Read why they actually left
The stated reason and the real reason differ. Price is usually a proxy for value not felt. Missing feature is often onboarding that never showed them the feature. Read the real reason, because the win-back has to answer it, not the surface complaint.
- 3Wait for the door to reopen
A win-back lands when something changed: a new leader with a new mandate, a fresh round and new pressure, a reorg, or the competitor they left for disappointing them. Time the reach-back to the change, not to a calendar. A cold "we miss you" with nothing new is why win-backs get ignored.
- 4Re-onboard, do not re-sell
The reach-back is a welcome, not a pitch. Lead with what changed on your side that answers why they left, offer to make the return effortless (their config kept warm, their data ready), and bring back the human who knew them. The feeling is glad you are back, not glad to have your money again.
- 5Build the sequence
Write the actual touches: the warm opener tied to the change, the make-it-easy offer, the human re-onboarding. Short, specific, and human. If the sequence could be sent to anyone who ever churned, it is a discount blast, not a win-back. Rewrite until the account's real reason is load-bearing.
- Every account is sorted winnable or gone, with the reason. No blanket chase of the whole churn list.
- The real reason they left is named, not just the stated one.
- The reach-back is timed to a change signal, never a generic "we miss you."
- The sequence re-onboards, it does not re-sell. No desperation discount as the opener.
- The message fails if it could be sent to any churned account. Rewrite until the reason is load-bearing.
WIN-BACK PLAY · Northwind (illustrative) · churned 7 months ago
Winnable? YES. Left for a competitor over a missing integration.
That integration shipped in Q1. The reason is gone.
Real reason Not price. They were never fully onboarded onto the
workflow that would have made the integration matter.
Door open? Yes. New VP started 6 weeks ago (change signal).
Original champion still there.
RE-ONBOARDING SEQUENCE:
Touch 1 (to the champion): "The integration you needed shipped.
Thought of you. No pitch, just wanted you to know."
Touch 2 (to the new VP): a warm intro via the champion, framed as
"worth another look given what changed."
Touch 3 (the return): "We kept your config warm. If you want back
in, it's a 10-minute restart, not a rebuild."
Not sent: any "we miss you, here's 30% off." That answers nothing.Where an operator takes this next.
The play is step one. Here is where an operator takes it once it works.
You stop treating churn as final and start treating it as a list.
Have a Claude task sweep churned accounts monthly, sort winnable versus gone, and surface only the ones whose door just reopened to the CSM in Slack.
Connect a signal source so a new leader or a fresh round at a churned account triggers the win-back play automatically, timed to the change instead of a calendar.
Feed every win-back reason back into the onboarding audit, because the same gap that lost them is the one costing you the next cohort.
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.