okx/growth-affiliate-tool/churn-rescue
Claude Code and agent skill by okx/growth-affiliate-tool
- community
Checking that the SKILL.md file is still in the repository.
Use this skill when the user wants to find churning or sleeping users — whales who stopped trading, depositors whose activity dropped, or recently active users showing decline. Triggers: "find churning users", "who's slipping away", "流失预警", "鲸鱼跑了", "sleeping whales", "show me users with declining volume", "last seen", "when did user X stop trading". Do NOT use this for net-new acquisition analysis (use `acquisition-trends`) or for users who are still healthy (use `whale-deep-dive`).
Install
npx vskill@latest install okx/growth-affiliate-tool/churn-rescueSKILL.md
Churn rescue — find users slipping away
"Which whales are leaking?" / "流失预警 / 找出停止交易的用户"
Identifies users whose activity has degraded materially, segments them by stage of decay, and prioritizes by lifetime value at stake.
When to use this skill
- User asks about churn, slipping, sleeping, rescue, 流失, 沉睡
- After a daily briefing flags a downward trend in active trader count
- Quarterly retention review
- Before a re-engagement campaign
What the agent does
There is no lastTradeTime field exposed by the MCP, so the agent has to infer "last active" by comparing lifetime totals to recent-window activity.
Step 1 — Pull lifetime top contributors
This is the "all-time whales" baseline.
Step 2 — Pull last-30-day top contributors
This is the "currently active whales" set.
Step 3 — Diff and classify
For each UID in the lifetime top set, compute:
decay_ratio = 1 - (last30_rebate / (lifetime_rebate / months_since_join))
Bucket users:
| Bucket | Decay signal | Action priority | |
|---|---|---|---|
| Healthy | last30 rebate ≥ 80% of expected monthly run-rate | none | |
| Slowing | last30 rebate is 30–80% of run-rate | watch | |
| Decaying | last30 rebate is 5–30% of run-rate | reach out | |
| Effectively churned | last30 rebate < 5% of run-rate, or user not in last30 top 50 at all | urgent |
Step 4 — For each decayed/churned user, get withdrawal ratio
For the top 5 candidates, call:
Compute wdAmt / depAmt. This separates two churn modes:
wdAmt / depAmt > 0.7— Type A: cashed out, hard to win backwdAmt / depAmt < 0.1andvolMonth ≈ 0— Type B: parked & idle, easiest to win back
(capital still on platform)
- Otherwise — Type C: gradual disengagement
Step 5 — Optional: probe when they last traded
The new MCP does not expose lastTradeTime. To approximate, run invitee-list with a 1-month custom date range moving backward:
Check whether the UID appears with nonzero totalVol. Walk backward in 30-day chunks until you find activity. This is expensive — only do it for the top 5 users you actually plan to DM.
Insights to extract
- Total LTV at risk — sum lifetime rebate across decaying + churned users
- Largest single whale at risk — flag if any one user's lifetime rebate exceeds 5% of
the node's total
- Type A vs Type B ratio — if mostly Type B (capital still on platform), reactivation
is feasible; if mostly Type A, the channel may have a quality problem
- Decay timing pattern — if multiple users decayed in the same calendar month, look for
an event (market crash, OKX policy change, competitor campaign)
Sample output format
Recommended follow-ups
- "Generate outreach scripts for each bucket"
- "What did we do differently in <peak month>?" — switch to
acquisition-trendsand
compare peak month behavior
- "Pull full history on the largest at-risk user" →
whale-deep-dive
Gotchas
- No `lastTradeTime` field exists. Inferring it from period queries is slow and
approximate. Don't burn API budget probing > 5 users.
- Withdrawal ratio is lifetime, not period-scoped. A user with
wdAmt / depAmt = 0.7
may have withdrawn the bulk months ago and recently re-deposited. Cross-check with volMonth for current activity.
- Be conservative on "churned" labels. Volume can be lumpy — a single quiet month does
not equal churn. Require ≥ 2 quiet months in a row, or a clear withdrawal pattern.
- `subAffiliateUid` filter is broken in the current MCP — to attribute churn to a
sub-affiliate downline, filter client-side after pulling the list.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingexamples/churn-rescue/SKILL.md
Popularity
- Repository stars
- 12
- Repository forks
- 8
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/okx/growth-affiliate-tool/churn-rescue)