churn-detector
Identify and prioritize at-risk client accounts using churn signal analysis.
Install
mkdir -p .claude/skills/churn-detector && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11160" && unzip -o skill.zip -d .claude/skills/churn-detector && rm skill.zipInstalls to .claude/skills/churn-detector
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Weekly churn risk detection across active client accounts. Scans for signals like decreased engagement, missed meetings, delayed payments, and competitor mentions. Scores risk 1-10 and outputs prioritized alert list.Key capabilities
- →Scan client accounts
- →Assign risk scores
- →Generate intervention lists
- →Analyze engagement trends
How it works
It aggregates behavioral and financial signals to calculate a composite churn risk score.
Inputs & outputs
When to use churn-detector
- →Scan client accounts for churn risk
- →Prioritize clients for retention
- →Generate retention outreach
- →Analyze client engagement trends
About this skill
Churn Detector
Scans all active client accounts for churn risk signals on a weekly cadence. Aggregates behavioral, financial, and communication indicators into a composite risk score (1-10) and generates an actionable alert list with recommended interventions.
Prerequisites
agency.config.jsonpopulated (services, CRM config)- Active client accounts tracked in CRM with engagement history
- At least 4 weeks of historical data for trend analysis
- Optional: billing/invoice data for payment signal detection
Capabilities Used
crm-writer-- read client engagement data from CRMcompany-researcher-- detect competitor or market signalsmessage-generator-- draft retention outreach messages
Phase 0: Intake
Read agency.config.json:
services[]-- map active services per clientcrm.tabs-- locate client pipeline and engagement dataagency.name-- for output attribution
Accept parameters:
scan_scope--all_active|specific_client. Default:all_activeclient_name-- (required if scope =specific_client)lookback_weeks-- number of weeks to analyze. Default:4alert_threshold-- minimum risk score to flag. Default:5include_recommendations-- boolean. Default:true
Phase 1: Client Inventory
Query CRM for all active client accounts:
- Client name, contract start date, renewal date
- Active services (mapped to
services[]) - Primary contact person
- Account owner / relationship manager
- Monthly retainer value
- Last interaction date
Build the scan list. If scan_scope = specific_client, filter to that account only.
Phase 2: Signal Detection
For each client, scan across five signal categories:
2a: Engagement Signals
- Meeting frequency change: Compare meetings held in last 4 weeks vs prior 4 weeks. Flag if >30% decline.
- Response time degradation: Average time to reply to emails/messages. Flag if >2x slower than baseline.
- Meeting no-shows: Any missed or cancelled meetings in the lookback period.
- Reduced scope requests: Fewer tasks, projects, or requests submitted vs baseline.
- Silence periods: No communication for 7+ consecutive days (excluding holidays).
Score each signal 0-2:
- 0 = Normal
- 1 = Mild concern
- 2 = Strong signal
2b: Financial Signals
- Late payments: Invoices paid after due date. Flag days overdue.
- Payment disputes: Any invoice questioned or contested.
- Budget discussions: Mentions of "budget cuts", "cost reduction", "pausing spend".
- Scope reductions: Active services reduced or paused.
- Contract non-renewal signals: Approaching renewal with no renewal conversation initiated.
Score each signal 0-2.
2c: Satisfaction Signals
- Negative feedback: Explicit complaints, dissatisfaction expressed in any channel.
- Escalation frequency: Issues escalated beyond normal contact.
- Deliverable rejection rate: Percentage of deliverables requiring major revisions.
- Tone shift: Communication tone becoming more formal, shorter, or less friendly.
- Praise absence: No positive feedback in the lookback period (absence of signal).
Score each signal 0-2.
2d: Competitive Signals
Run company-researcher (quick depth) to check:
- Competitor mentions: Client mentions or follows competing agencies on LinkedIn.
- Job postings: Client hiring for roles that overlap with agency services (e.g., "Shopify developer", "CRO specialist").
- RFP activity: Signs the client is shopping for alternatives.
- New vendor announcements: Client announces partnership with another agency.
Score each signal 0-3 (competitive signals carry higher weight).
2e: Usage Signals
- Dashboard/tool logins: If client has access to shared dashboards, check login frequency.
- Report engagement: Are they opening and reviewing shared reports?
- Feature adoption: Are they using all contracted services or ignoring some?
- Support ticket volume: Sudden drop may indicate disengagement; sudden spike may indicate frustration.
Score each signal 0-2.
Phase 3: Risk Scoring
Calculate composite risk score per client:
engagement_score = sum(2a signals) / max_possible * 3.0
financial_score = sum(2b signals) / max_possible * 2.5
satisfaction_score = sum(2c signals) / max_possible * 2.0
competitive_score = sum(2d signals) / max_possible * 1.5
usage_score = sum(2e signals) / max_possible * 1.0
raw_total = engagement + financial + satisfaction + competitive + usage
risk_score = round(raw_total, 1) # Scale 1-10
Risk tiers:
- 1-3: LOW -- healthy account, no action needed
- 4-5: WATCH -- minor signals, monitor closely
- 6-7: ELEVATED -- multiple signals, proactive outreach recommended
- 8-9: HIGH -- significant risk, immediate intervention required
- 10: CRITICAL -- likely churning, executive escalation needed
Phase 4: Intervention Recommendations
For each client at or above alert_threshold, generate recommendations:
| Risk Tier | Recommended Action |
|---|---|
| WATCH (4-5) | Schedule casual check-in call, share a quick win or insight |
| ELEVATED (6-7) | Schedule strategy session, present new value (audit, report), address specific concerns |
| HIGH (8-9) | Executive-level outreach from founder, prepare retention offer, address root causes directly |
| CRITICAL (10) | Immediate call from founder, prepare save plan with concessions if warranted, document lessons |
For each recommendation, draft a brief outreach message using message-generator:
- Tone: warm, proactive, value-first (not defensive)
- Content: specific to the detected signals
- CTA: concrete next step (meeting, call, review)
Phase 5: Alert Report
CHURN RISK REPORT -- Week of [Date]
Scanned: N active accounts
---
CRITICAL (1):
[Client] -- Score: 10/10
Signals: [top 3 signals]
Action: [recommendation]
HIGH (2):
[Client] -- Score: 8.5/10
Signals: [top 3 signals]
Action: [recommendation]
ELEVATED (1):
[Client] -- Score: 6.2/10
Signals: [top 3 signals]
Action: [recommendation]
WATCH (3):
[Client] -- Score: 4.1/10
[Client] -- Score: 4.0/10
[Client] -- Score: 4.0/10
HEALTHY (8):
All clear, no action needed.
---
Total at risk: N accounts
Estimated MRR at risk: INR [amount]
Phase 6: Output
Return structured JSON:
{
"report_date": "2026-03-07",
"lookback_weeks": 4,
"accounts_scanned": 12,
"alert_threshold": 5,
"alerts": [
{
"client_name": "BrandX",
"risk_score": 8.5,
"risk_tier": "HIGH",
"signals": {
"engagement": {"score": 2.4, "flags": ["2 missed meetings", "10-day silence period"]},
"financial": {"score": 2.0, "flags": ["Invoice 15 days overdue"]},
"satisfaction": {"score": 1.5, "flags": ["Tone shift detected in last 3 emails"]},
"competitive": {"score": 1.5, "flags": ["Hiring for Shopify developer role"]},
"usage": {"score": 1.1, "flags": ["Report open rate dropped to 20%"]}
},
"top_signals": [
"2 consecutive meetings cancelled",
"Invoice 15 days overdue",
"Hiring for in-house Shopify developer"
],
"recommendation": {
"action": "Executive outreach from founder",
"urgency": "This week",
"message_draft": "Quick note -- noticed we haven't connected in a couple weeks...",
"next_step": "Schedule 30-min strategy call"
},
"mrr_at_risk": 75000,
"contract_renewal_date": "2026-06-01",
"days_until_renewal": 86
}
],
"summary": {
"critical": 0,
"high": 1,
"elevated": 2,
"watch": 3,
"healthy": 6,
"total_mrr_at_risk": 225000
},
"generated_at": "2026-03-07T09:00:00Z"
}
Example Usage
Trigger phrases:
- "Run churn detection this week"
- "Which clients are at risk of churning?"
- "Check account health across all clients"
- "Is [client] showing churn signals?"
- "Weekly retention scan"
- "Flag at-risk accounts"
When not to use it
- →Accounts without historical data
- →Non-client management scenarios
Prerequisites
Limitations
- →Requires 4 weeks of historical data
How it compares
It provides proactive risk detection, unlike reactive churn management.
Compared to similar skills
churn-detector side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| churn-detector (this skill) | 0 | 5mo | No flags | Intermediate |
| bv | 3 | 2mo | Review | Intermediate |
| org-health-diagnostic | 1 | 2mo | Review | Intermediate |
| rollup | 0 | 3mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
bv
Dicklesworthstone
Beads Viewer - Graph-aware triage engine for Beads projects. Computes PageRank, betweenness, critical path, and cycles. Use --robot-* flags for AI agents.
org-health-diagnostic
alirezarezvani
Cross-functional organizational health check combining signals from all C-suite roles. Scores 8 dimensions on a traffic-light scale with drill-down recommendations. Use when assessing overall company health, preparing for board reviews, identifying at-risk functions, or when user mentions org health, health check, or health dashboard.
rollup
Alexanderjcarls
Coverage summary — per-scope, per-system, or per-migration-state breakdown of article + capability + functionality counts.
insights
whatevertogo
Generate an oh-my-kimicli usage insights report from KimiCLI sessions. Use when the user asks for usage insights, session analysis, work patterns, friction analysis, suggestions, skill opportunities, repeated-instruction analysis, or an insights report.
pirate-metrics
komunite
Analyze and produce a pirate metrics with structured process, quality checks, and system integration
growth-orchestrator
nakamura1201
販促・運用フェーズを統括するオーケストレータースキル。価格戦略、GTMチャネル実行、セールス/CS運用、週次KPI運用、財務シミュレーションを順番実行し、販促施策の実行性と持続可能性を管理する。販促を独立フローで運用したい依頼時に使う。