Agent skill

Churn Risk Detector

by gooseworks-ai in gooseworks-ai/goose-skills

Scan support tickets, Slack channels, NPS scores, and usage patterns to flag accounts showing early churn indicators.

MITAuto-check passedSales & Support

Install Churn Risk Detector

skills CLI
$ npx skills add gooseworks-ai/goose-skills --skill churn-risk-detector -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gooseworks-ai/goose-skills churn-risk-detector --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/research/composites/churn-risk-detector .claude/skills/churn-risk-detector && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
churn-risk-detector
GitHub stars
1.2k
Used in
1 other repo
Token cost
~2.1k tokens
SKILL.md length
655 words
Files
2
Skills in repo
273
Repo updated
First seen
Licence
MIT

At a glance

Scan support tickets, Slack channels, NPS scores, and usage patterns to flag accounts showing early churn indicators.

  • Works in 5 steps: Intake → Signal Extraction → Risk Scoring → …
  • Tasks that involve Customer success
  • SKILL.md covers When to Use, Phase 0: Intake, Phase 1: Signal Extraction and Phase 2: Risk Scoring, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Churn Risk Detector is an agent skill from gooseworks-ai/goose-skills. Scan support tickets, Slack channels, NPS scores, and usage patterns to flag accounts showing early churn indicators. Produces a weekly risk scorecard with severity tiers, root cause hypotheses, and suggested save plays per account. Designed for seed/Series A teams where the founder or a single CSM manages all accounts manually.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `skill.meta.json`).

It sits in Sales & Support, covering Customer success, Customer support and Customer feedback analysis. It works with Slack. The repository describes itself as: Library of Growth & GTM skills + data APIs for Claude Code, Codex, Cursor to run ads, social, content, lead gen, seo and data scraping. The licence is MIT.

When your agent uses it

  • Tasks that involve Customer success
  • Tasks that involve Customer support
  • Tasks that involve Customer feedback analysis

Example prompts

  • “/churn-risk-detector”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Intake
  2. Signal Extraction
  3. Risk Scoring
  4. Save Play Generation
  5. Output Format

What it can do on your machine

Read from SKILL.md and the folder at commit c650c6d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown and bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Churn Risk Detector loads about 2.1k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 655 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~88
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from gooseworks-ai/goose-skills at commit c650c6d, republished under its MIT licence (© gooseworks-ai). 655 words, ~2,129 tokens.

Download SKILL.mdSave it as .claude/skills/churn-risk-detector/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
churn-risk-detector
description
Scan support tickets, Slack channels, NPS scores, and usage patterns to flag accounts showing early churn indicators. Produces a weekly risk scorecard with severity tiers, root cause hypotheses, and suggested save plays per account. Designed for seed/Series A teams where the founder or a single CSM manages all accounts manually.
tags
research

Churn Risk Detector

Surface accounts at risk of churning before it's too late. Aggregates signals from support, communication, and usage patterns into a scored risk report with specific save actions.

Built for: Early-stage teams with no CS platform (no Gainsight, no ChurnZero). You have a spreadsheet of customers, a Slack channel, and a support inbox. This skill turns those raw signals into an actionable churn risk list.

When to Use

  • "Which customers are at risk of churning?"
  • "Run the weekly churn risk scan"
  • "Flag accounts I should worry about"
  • "Who haven't we heard from in a while?"
  • "Produce a customer health report"

Phase 0: Intake

Account Data
  1. Customer list — CSV or sheet with: company name, primary contact email, contract value (MRR/ARR), contract start date, renewal date (if known)
  2. Product/service type — What are they paying for? (Helps calibrate expected engagement)
Signal Sources (provide what you have)
  1. Support tickets — Export from Intercom, Zendesk, or email (CSV with: customer, date, subject, status, resolution time)
  2. Slack channel history — Customer Slack channel or shared channel messages
  3. NPS/CSAT scores — Recent survey results with scores and comments
  4. Usage data — Any metrics you track: logins, API calls, features used, active users (CSV export)
  5. Email/communication log — Last touchpoints per account (dates + context)
  6. Billing data — Payment failures, downgrades, discount requests
Calibration
  1. What does "healthy" look like? — Describe a healthy customer (e.g., "logs in daily, uses 3+ features, responds to emails within 24h")
  2. Known churn reasons — Why have customers churned in the past? (helps weight signals)

Phase 1: Signal Extraction

1A: Support Signal Analysis

From support ticket data, calculate per account:

SignalCalculationRisk Weight
Ticket volume spike>2x their average in last 30 daysHigh
Unresolved ticketsOpen tickets older than 7 daysHigh
Escalation languageKeywords: "cancel", "frustrated", "alternative", "not working", "disappointed"Critical
Response time degradationYour avg response time to this customer trending upMedium
Repeat issuesSame problem reported 2+ timesHigh
1B: Communication Signal Analysis

From Slack/email history:

SignalCalculationRisk Weight
Gone silentNo messages in 30+ days (was previously active)High
Decreasing frequencyMessage frequency dropped >50% vs prior 90 daysMedium
Negative sentiment shiftTone changed from positive to neutral/negativeMedium
Champion disengagementPrimary contact stopped respondingCritical
New stakeholder questionsNew person asking basic "what does this do?" questionsMedium (potential reorg)
Show full SKILL.md (265 more words)Show less
1C: Usage Signal Analysis (if data available)
SignalCalculationRisk Weight
Login dropActive users down >30% vs prior monthHigh
Feature abandonmentStopped using a key feature they previously used regularlyHigh
Shallow usageOnly using 1 feature when they're paying for manyMedium
No growthSame number of seats/users for 6+ monthsLow
Export spikeSudden increase in data exportsCritical (may be migrating)
1D: Commercial Signal Analysis
SignalCalculationRisk Weight
Discount requestAsked for pricing reductionHigh
Downgrade inquiryAsked about lower tierCritical
Payment failureFailed payment not resolved in 7+ daysHigh
Contract approaching renewal<60 days to renewal with no renewal discussionMedium
Competitor mentionMentioned a competitor in any channelHigh

Phase 2: Risk Scoring

Scoring Model

Each account gets a composite risk score (0-100):

Risk Score = Σ (signal_weight × signal_present)

Weights:
  Critical signal = 25 points each
  High signal     = 15 points each
  Medium signal   = 8 points each
  Low signal      = 3 points each

Score cap: 100
Risk Tiers
TierScoreLabelAction Urgency
Red70-100Critical risk — likely to churnThis week
Orange40-69Elevated risk — needs attentionWithin 2 weeks
Yellow20-39Early warning — monitor closelyWithin 30 days
Green0-19Healthy — no action neededRoutine check-in

Phase 3: Save Play Generation

For each Red and Orange account, generate a specific save play:

Save Play Template
ACCOUNT: [Company Name]
RISK TIER: [Red/Orange]
RISK SCORE: [X/100]
MRR/ARR: $[X]

SIGNALS DETECTED:
- [Signal 1] — [Evidence: specific data point]
- [Signal 2] — [Evidence]
- [Signal 3] — [Evidence]

ROOT CAUSE HYPOTHESIS:
[1-2 sentences: What do you think is actually going wrong?
 E.g., "Champion left the company and new stakeholder hasn't been onboarded"
 or "They hit a technical limitation with [feature] that's blocking their primary use case"]

RECOMMENDED SAVE PLAY:
1. [Immediate action — e.g., "Schedule a call with [contact] this week"]
2. [Follow-up — e.g., "Send a personalized Loom showing how to solve [specific issue]"]
3. [Structural fix — e.g., "Assign a dedicated onboarding session for new stakeholder"]

TALK TRACK:
"[2-3 sentences the CSM/founder can use to open the conversation naturally,
 without saying 'we noticed you might be churning']"

ESCALATION TRIGGER:
If [specific condition] by [date], escalate to [founder/CEO call].

Phase 4: Output Format

markdown
# Churn Risk Report — Week of [DATE]
Total accounts scanned: [N]
Data sources: [list what was available]

---

## Risk Summary

| Tier | Count | Total MRR at Risk |
|------|-------|-------------------|
| 🔴 Red (Critical) | [N] | $[X] |
| 🟠 Orange (Elevated) | [N] | $[X] |
| 🟡 Yellow (Early Warning) | [N] | $[X] |
| 🟢 Green (Healthy) | [N] | $[X] |

**Total MRR at risk (Red + Orange):** $[X] ([Y]% of total MRR)

---

## 🔴 Critical Risk Accounts

### [Company Name 1] — Score: [X]/100 | MRR: $[X]
**Signals:** [bullet list]
**Root cause:** [hypothesis]
**Save play:** [specific actions]
**Owner:** [who should act]
**Deadline:** [date]

### [Company Name 2] — ...

---

## 🟠 Elevated Risk Accounts

### [Company Name] — Score: [X]/100 | MRR: $[X]
**Signals:** [bullet list]
**Recommended action:** [1-2 sentences]

---

## 🟡 Early Warning Accounts

| Account | Score | Key Signal | Suggested Action |
|---------|-------|------------|-----------------|
| [Name] | [X] | [Signal] | [Action] |
| [Name] | [X] | [Signal] | [Action] |

---

## Trends vs Last Week

- Accounts moved Red → Green: [list — wins!]
- Accounts moved Green → Yellow/Orange: [list — new risks]
- Accounts churned since last report: [list]

---

## Signal Distribution

| Signal Type | Accounts Affected |
|------------|-------------------|
| Support ticket spike | [N] |
| Gone silent | [N] |
| Usage decline | [N] |
| Competitor mention | [N] |
| Payment issue | [N] |
| Champion disengagement | [N] |

---

## Recommended Focus This Week

1. **[Account]** — [Why + what to do]
2. **[Account]** — [Why + what to do]
3. **[Account]** — [Why + what to do]

Save to risk-report-[YYYY-MM-DD].md in the current working directory.

Scheduling

Run weekly:

bash
0 8 * * 1 python3 run_skill.py churn-risk-detector --client <client-name>

Cost

ComponentCost
All signal analysisFree (LLM reasoning)
Slack/email parsingFree
TotalFree

Tools Required

  • Input data from CSV/sheets (support tickets, usage, NPS)
  • Optional: Slack channel reading for communication signals
  • No external API costs — pure analysis

Trigger Phrases

  • "Which customers are at risk?"
  • "Run the churn risk scan"
  • "Weekly customer health report"
  • "Flag at-risk accounts"

© gooseworks-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/research/composites/churn-risk-detector of gooseworks-ai/goose-skills.

  • SKILL.md
  • skill.meta.json

Open the folder on GitHubat commit c650c6d

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in gooseworks-ai/goose-skills, which our catalogue first saw on October 9, 2026.

Compare with similar skills

Churn Risk Detector next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Churn Risk Detector compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Churn Risk Detector this skillgooseworks-ai/goose-skills1.2k1 repos~2.1kAutomated safety check: PassMIT
Retentionericrisco/rsc-harness180—~2.8kAutomated safety check: PassMIT
Loki Modedavila7/claude-code-templates33k7 repos~7.1kAutomated safety check: WarnMIT
Msp QbrRTFM-IT-Services-LLC/msp-claude-skills115—~1.7kAutomated safety check: PassCustom licence
Customer Supportaiskillstore/marketplace4337 repos~2.2kAutomated safety check: PassNone
Afa Cxafadtc/afa-dtc-skills168—~2.4kAutomated safety check: PassCustom licence

Similar skills

  • Retention

    ericrisco/rsc-harness

    A skill your agent uses when revenue is leaking out the bottom of the funnel and you need a program to keep, score and win back customers — a customer health score, NPS, catching churn signals…

    180 GitHub stars~2.8k tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • Loki Mode

    davila7/claude-code-templates

    Multi-agent autonomous startup system for Claude Code. An agent skill from davila7/claude-code-templates.

    33k GitHub starsUsed in 7 repos~7.1k tokens
    Sales & SupportAuto-check: warnings
  • Msp Qbr

    RTFM-IT-Services-LLC/msp-claude-skills

    A skill your agent uses whenever preparing, running, or following up a client business review: "QBR", "quarterly review", "business review", "account review", "prep for the [client] meeting"…

    115 GitHub stars~1.7k tokensUpdated 9 days ago
    Sales & SupportAuto-check passed
  • Customer Support

    aiskillstore/marketplace

    Elite AI-powered customer support specialist mastering conversational AI, automated ticketing, sentiment analysis, and omnichannel support experiences.

    433 GitHub starsUsed in 7 repos~2.2k tokens
    Sales & SupportAuto-check passed
  • Afa Cx

    afadtc/afa-dtc-skills

    DTC 客户体验与服务——客服优化、售后/退货、客户旅程、NPS/CSAT、AI 客服。触发词: 客户体验, CX, 客服, 退货, 售后, NPS, CSAT, 投诉, 客户旅程, customer experience, customer service, returns policy, support tickets。复杂问题先经 afa。

    168 GitHub stars~2.4k tokensUpdated 3 days ago
    Sales & SupportAuto-check passed
  • User Feedback Aggregation

    rampstackco/claude-skills

    Collecting and synthesizing user feedback across channels (support tickets, NPS, in-app feedback, sales calls, social mentions, customer councils) into a continuous signal that informs product…

    945 GitHub stars~5.2k tokensUpdated 4 days ago
    Sales & SupportAuto-check passed

More from gooseworks-ai/goose-skills

All 273 skills in this repo
  • Reddit Post Finder

    gooseworks-ai/goose-skills

    Scrape and search Reddit posts using Apify. An agent skill from gooseworks-ai/goose-skills.

    1.2k GitHub starsUsed in 1 repo~1.2k tokens
    Auto-check passed
  • Create Image Fal

    gooseworks-ai/goose-skills

    Generate or edit an image via any FAL image model (nano-banana edit, gpt-image, flux, ...), ROUTED THROUGH THE fal-proxy so it bills the Ads agent.

    1.2k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Render Hook Replacement

    gooseworks-ai/goose-skills

    Replace an existing video's opening with a supplied clip or free kinetic text hook while retaining and verifying every original body frame, audio, captions and ending.

    1.2k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Blog Feed Monitor

    gooseworks-ai/goose-skills

    Scrape blog posts via RSS feeds (free, no API key) with Apify fallback for JS-heavy sites.

    1.2k GitHub starsUsed in 1 repo~578 tokens
    Auto-check passed
  • Competitor Post Engagers

    gooseworks-ai/goose-skills

    Find leads by scraping engagers from a competitor's top LinkedIn posts.

    1.2k GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check: notes
  • Render Chatgpt Chat

    gooseworks-ai/goose-skills

    Assemble a ChatGPT chat-reveal video ad from a thread + timeline JSON — one continuous Playwright recording of a ChatGPT mobile chat (user types with the iOS keyboard up → taps send → keyboard…

    1.2k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Churn Risk Detector

What does Churn Risk Detector do?

Scan support tickets, Slack channels, NPS scores, and usage patterns to flag accounts showing early churn indicators. Churn Risk Detector is an agent skill from gooseworks-ai/goose-skills. Scan support tickets, Slack channels, NPS scores, and usage patterns to flag accounts showing early churn indicators.

When should I use Churn Risk Detector?

Churn Risk Detector fits situations like: tasks that involve Customer success; tasks that involve Customer support; tasks that involve Customer feedback analysis.

How do I install Churn Risk Detector in Claude Code?

Run `npx skills add gooseworks-ai/goose-skills --skill churn-risk-detector -a claude-code`. Or copy the skill folder (skills/research/composites/churn-risk-detector in gooseworks-ai/goose-skills) into .claude/skills/churn-risk-detector in your project. Claude Code loads it when a task matches its description.

How do I install Churn Risk Detector in Codex?

Run `npx skills add gooseworks-ai/goose-skills --skill churn-risk-detector -a codex`. Or copy the skill folder (skills/research/composites/churn-risk-detector in gooseworks-ai/goose-skills) into .agents/skills/churn-risk-detector in your project. Codex loads it when a task matches its description.

Can I use Churn Risk Detector in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gooseworks-ai/goose-skills --skill churn-risk-detector -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/churn-risk-detector, .gemini/skills/churn-risk-detector, .github/skills/churn-risk-detector and .opencode/skills/churn-risk-detector in your project.

What does Churn Risk Detector need to run?

SKILL.md names no scripts, command-line tools or credentials: Churn Risk Detector is instructions for the agent only. Our summary lists: Python 3.

Does Churn Risk Detector access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Churn Risk Detector safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Churn Risk Detector use?

Churn Risk Detector is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Churn Risk Detector use?

About 2.1k tokens (SKILL.md is roughly 8.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Churn Risk Detector?

Skills that share tags, products or a category with Churn Risk Detector: Retention (ericrisco/rsc-harness, 180 stars), Loki Mode (davila7/claude-code-templates, 33k stars), Msp Qbr (RTFM-IT-Services-LLC/msp-claude-skills, 115 stars) and Customer Support (aiskillstore/marketplace, 433 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Churn Risk Detector?

gooseworks-ai (a GitHub organization) maintains it in gooseworks-ai/goose-skills, which has 1,240 GitHub stars. The repository holds 273 skills in this directory. The repository was last updated on October 8, 2026.

Source: gooseworks-ai/goose-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.