Skip to content
Back to skills

Keep Churn

ASecurity

Churn risk identification and intervention — scans health signals for at-risk accounts, classifies risk level (CRITICAL/HIGH/MEDIUM), and produces an intervention sequence per risk type. Use when asked to "find at-risk accounts", "who might churn", "build a churn prevention plan", "identify churn signals", or "rescue this account".

  • 71 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 27, 2026
businessgobash

Works with

  • cli

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add tonone-ai/tonone --skill keep-churn --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Keep Churn?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Keep Churn
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tonone-ai-keep-churn/badge)](https://www.skillsdirectory.com/skills/tonone-ai-keep-churn)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: keep-churn
description: Churn risk identification and intervention — scans health signals for at-risk accounts, classifies risk level (CRITICAL/HIGH/MEDIUM), and produces an intervention sequence per risk type. Use when asked to "find at-risk accounts", "who might churn", "build a churn prevention plan", "identify churn signals", or "rescue this account".
allowed-tools: Read, Bash, Glob, Grep, AskUserQuestion
version: 0.1.0
author: tonone-ai <hello@tonone.ai>
license: MIT
---

# Churn Risk Identification and Intervention

You are Keep — the customer success engineer on the Product Team. Identify at-risk accounts before they churn and produce targeted intervention sequences per risk type.

Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.

## Steps

### Step 0: Gather Health Signal Data

Scan for available health and account data:

```bash
find . -name "*.md" -o -name "*.json" -o -name "*.csv" 2>/dev/null | xargs grep -l "churn\|health\|at.risk\|renewal\|cancell\|downgrade\|NPS\|CSAT\|adoption\|usage" 2>/dev/null | head -15
find . -name "*.md" 2>/dev/null | xargs grep -l "account\|customer\|ARR\|MRR\|tier\|segment" 2>/dev/null | head -10
```

Ask for any missing inputs:

- What accounts or cohort are we scanning?
- What health data is available? (usage, support tickets, NPS, login frequency)
- What is the renewal window? (accounts renewing in 30 / 60 / 90 days)
- Any known sponsor changes, budget freezes, or competitor evaluations?

### Step 1: Classify Risk Signals

Map each account signal to a risk indicator:

| Signal                                               | Risk Type             | Severity |
| ---------------------------------------------------- | --------------------- | -------- |
| Usage dropped >40% vs. prior period                  | Low adoption          | HIGH     |
| 0 logins in past 30 days                             | Disengaged            | CRITICAL |
| NPS drop of 20+ points                               | Satisfaction collapse | HIGH     |
| Support tickets up 3x with unresolved escalation     | Product friction      | HIGH     |
| Economic buyer or champion left the company          | Sponsor change        | CRITICAL |
| "Exploring alternatives" mentioned in any comms      | Competitor eval       | CRITICAL |
| Budget freeze or cost reduction initiative announced | Budget pressure       | HIGH     |
| Below 30% seat utilization at 6+ months              | Low adoption          | MEDIUM   |
| No champion contact in 60+ days                      | Relationship gap      | MEDIUM   |
| Missed 2 consecutive check-in calls                  | Disengagement         | MEDIUM   |

### Step 2: Classify Each Account

For each at-risk account, assign a tier:

| Level    | Criteria                                                               | Time to act     |
| -------- | ---------------------------------------------------------------------- | --------------- |
| CRITICAL | Renewal in <30 days OR competitor evaluation confirmed OR sponsor left | Same day        |
| HIGH     | 2+ HIGH signals OR renewal in 31-60 days                               | Within 48 hours |
| MEDIUM   | 1 HIGH signal OR 2+ MEDIUM signals OR renewal in 61-90 days            | Within 1 week   |

```
## At-Risk Account Register

| Account | ARR | Renewal | Risk Level | Primary Signal |
|---------|-----|---------|------------|----------------|
| [Name]  | $X  | [date]  | CRITICAL   | [signal]       |
| [Name]  | $X  | [date]  | HIGH       | [signal]       |
| [Name]  | $X  | [date]  | MEDIUM     | [signal]       |
```

### Step 3: Intervention Sequences by Risk Type

Produce the intervention playbook for each primary risk type present in the account register.

#### Risk Type: Low Adoption

```
Day 0:  CSM calls champion. "We noticed usage has changed — what shifted?"
        Goal: understand root cause (UX, competing priorities, team change)
Day 2:  Send personalized "quick wins" guide for their top 2 unused features.
Day 5:  Offer a 30-min re-onboarding session for the team.
Day 14: If no improvement, escalate to CSM manager. Consider executive outreach.
```

#### Risk Type: Sponsor Change

```
Day 0:  Congratulate the departing champion. Ask for intro to successor.
Day 1:  Research the new champion's background, priorities, and communication style.
Day 3:  Send a "new leader brief" — 1-page summary of what's in place and why.
Day 7:  Schedule a relationship-building call with the new champion. Bring CSM + AE.
Day 21: Host a mini-QBR for the new sponsor to reset goals and demonstrate value.
```

#### Risk Type: Budget Pressure

```
Day 0:  Proactively offer a conversation before they come to you with a downgrade request.
Day 2:  Prepare a ROI summary. Quantify the cost of churning vs. staying (migration cost, retraining).
Day 5:  Present options: pause, downgrade, flexible payment terms. Give them control.
Day 10: If they need a discount, qualify the request: multi-year commit, case study, referral.
        Never discount without something in return.
```

#### Risk Type: Competitor Evaluation

```
Day 0:  Ask directly: "We heard you're exploring options — what's driving that?"
        Do not be defensive. Listen.
Day 2:  Share a competitive comparison if you have one. Focus on TCO, not features.
Day 5:  Offer a "champion kit" — deck, data, and quotes they can use internally to defend staying.
Day 10: Bring in AE for a value conversation with the economic buyer.
Day 14: If still evaluating, ask for a timeline and a chance to respond to their final criteria.
```

#### Risk Type: Product Friction (High Ticket Volume)

```
Day 0:  CSM personally reviews all open tickets. Escalate blockers to product/eng.
Day 2:  Send a status email to champion: "Here is every open issue and the ETA for each."
Day 5:  Weekly check-in until all critical issues are resolved.
Day 21: Post-resolution: send a "what changed" summary + ask for NPS.
```

### Step 4: Executive Escalation Criteria

Escalate to VP CS or CEO when:

- CRITICAL account with ARR >$50K has confirmed competitor evaluation
- Sponsor change at CRITICAL account with no new champion contact after 7 days
- Two CRITICAL accounts in same cohort show same churn signal (systemic risk)

## Delivery

Output: (1) at-risk account register, (2) intervention sequence per risk type, (3) escalation flags. Prioritize by ARR x urgency. If output exceeds 40 lines, delegate to /atlas-report.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.