skills/developer-churn/SKILL.md
When the user wants to understand, reduce, or recover from developer churn. Trigger phrases include "why developers leave," "churn rate," "win-back campaign," "at-risk users," "developer retention," "preventing churn," or "competitor switching."
npx skillsauth add jonathimer/devmarketing-skills developer-churnInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill helps you understand why developers leave, identify at-risk users before they churn, and win back those who've already left. No guilt trips or desperate discounts — just honest understanding and genuine value.
Load your developer audience context:
.agents/developer-audience-context.md existsdeveloper-audience-context skill firstGather your data:
Developer churn is different from typical SaaS churn:
| Consumer/SMB SaaS | Developer Tools | |-------------------|-----------------| | Price sensitivity high | Value sensitivity high | | Features drive decisions | DX drives decisions | | Support tickets = engagement | Support tickets = friction | | Monthly churn cycles | Project-based churn | | Competitor marketing works | Peer recommendations work |
Key insight: Developers don't leave because of price. They leave because of friction, frustration, or finding something better.
Symptoms:
Root causes:
Detection signals:
- Support tickets mentioning "confused" or "doesn't work"
- High signup-to-activation drop-off
- Long time between signup and first API call
- Multiple failed API calls before success
Symptoms:
Root causes:
Detection signals:
- Sudden usage reduction after billing cycle
- Pricing page visits from logged-in users
- Support tickets about unexpected charges
- API calls stopping mid-month
Symptoms:
Root causes:
Detection signals:
- Sudden stop in usage (no gradual decline)
- Competitor mentions in support/feedback
- Traffic to your docs from competitor domains
- Social mentions comparing you to alternatives
Symptoms:
Root causes:
Reality check: You can't prevent this. Don't waste energy trying.
Detection signals:
- Slow decline over weeks/months
- No login activity
- No response to any outreach
- Domain no longer resolves
Symptoms:
Root causes:
Detection signals:
- Lots of docs page views on specific integration
- Support tickets about specific tech stack
- API calls from testing environment only
- "Evaluation" mentioned in communications
Symptoms:
Root causes:
Detection signals:
- Failed payment events
- Usage continues until hard cutoff
- Quick reactivation when contacted
Create a simple health score:
| Signal | Weight | Calculation | |--------|--------|-------------| | API calls | 30% | This week vs last 4 week avg | | Login frequency | 20% | Days since last login | | Feature adoption | 20% | % of core features used | | Support sentiment | 15% | Positive/negative ticket ratio | | Billing health | 15% | Payment success, plan changes |
Health score thresholds:
Monitor for these patterns:
Usage-based signals:
- API calls dropped >50% week-over-week
- No login in 14+ days
- Stopped using new features
- API errors increasing
- Only using deprecated endpoints
Support-based signals:
- Multiple tickets on same issue
- Negative sentiment in tickets
- Questions about data export
- Asking about contract/cancellation
- Unusual silence from previously engaged user
Billing-based signals:
- Viewing pricing page while logged in
- Downgrading plan
- Removing team members
- Asking about prorating cancellation
Set up automated alerts:
ALERT: At-risk developer detected
User: [EMAIL/COMPANY]
Health score: 42 (was 78 last week)
Triggers:
- API calls down 73% this week
- 2 unresolved support tickets (both negative sentiment)
- Viewed pricing page 3 times
Recommended action: Personal outreach from [OWNER]
Do:
Don't:
Subject: Quick question about your [PRODUCT] experience
Hey [NAME],
I noticed you've stopped using [PRODUCT]. No worries — these things happen.
If you have 30 seconds, I'd genuinely love to know:
What's the #1 reason you stopped?
[ ] Found a better alternative
[ ] Too expensive
[ ] Too complicated to use
[ ] Missing feature I needed
[ ] Project ended / no longer needed
[ ] Other: _____
Your feedback directly shapes our roadmap.
Thanks for giving us a try.
— [NAME], [TITLE] at [COMPANY]
If they agree to a call (offer a $50 gift card or donation to their choice):
Opening: "Thanks for chatting. I'm not here to win you back — just want to understand your experience."
Journey: "Walk me through your experience with [PRODUCT], from signup to today."
Breaking point: "Was there a specific moment when you decided to stop using us?"
Alternative: "What are you using now instead? What made that a better fit?"
Hypothetical: "If you could wave a magic wand and change one thing about [PRODUCT], what would it be?"
Close: "Anything else you want us to know?"
Track churn reasons by category:
| Category | % of Churn | Actionable? | Priority | |----------|------------|-------------|----------| | DX issues | 35% | Yes | High | | Pricing | 25% | Yes | Medium | | Alternatives | 20% | Partially | Medium | | Project death | 15% | No | None | | Integration gaps | 5% | Yes | Low |
Focus energy on actionable categories with high impact.
Good candidates:
Bad candidates:
Timing: Start 30-60 days after churn. Not sooner.
Email 1: What's new (Day 30)
Subject: [PRODUCT] update: [SPECIFIC THING THEY CARED ABOUT]
Hey [NAME],
I know you moved on from [PRODUCT] a while back. Totally respect that.
Quick update: We [SPECIFIC IMPROVEMENT RELEVANT TO THEIR CHURN REASON].
[1-2 sentence details with link to changelog/announcement]
If your situation has changed, we'd be happy to have you back.
If not, no worries — hope you're building great things.
— [NAME]
Email 2: Social proof (Day 45)
Subject: How [COMPANY SIMILAR TO THEIRS] uses [PRODUCT] now
Hey [NAME],
Thought you might find this interesting — [SIMILAR COMPANY]
just shared how they're using [PRODUCT] to [RELEVANT USE CASE].
[Link to case study or technical post]
Might spark some ideas for your current project.
— [NAME]
Email 3: Direct offer (Day 60)
Subject: Would 30 days free help?
Hey [NAME],
Last note from me.
If you've been thinking about giving [PRODUCT] another shot,
I can set you up with 30 days free on whatever plan you need.
Just reply and I'll make it happen.
If not, I'll stop emailing. Thanks for reading this far.
— [NAME]
Appropriate offers for developers:
| Offer | When to Use | |-------|-------------| | Extended free tier | Price-sensitive churners | | Free upgrade for 30 days | Feature-gap churners | | 1:1 technical help | DX-issue churners | | Early access to new feature | Competitor-switch churners | | Nothing (just information) | Project-death churners |
What NOT to offer:
Set up monitoring for:
Direct mentions:
Problem space discussions:
Competitor momentum:
Weekly review:
1. Check social listening tools for:
- Any mentions of switching from you
- Competitor launches or announcements
- Developer complaints about your category
2. Analyze patterns:
- Are switches going to one competitor?
- What features/issues drive switches?
- What's competitor doing that resonates?
3. Update churn prevention:
- Add new at-risk signals
- Prioritize features that prevent switches
- Address common complaints
Involuntary churn (payment failures) is often 20-40% of total churn. Fix it.
| Strategy | Implementation | |----------|----------------| | Card expiration warnings | Email 30 and 7 days before | | Multiple payment methods | Allow card + PayPal + ACH | | Annual billing incentives | 2 months free for annual | | Dunning emails | 3-4 emails over 14 days | | Grace period | 7-14 days before hard cutoff | | In-app warnings | Banner when payment method needs update |
Email 1: Immediate
Subject: Payment failed — update your card
Hey [NAME],
We couldn't process your payment for [PRODUCT].
Update your card: [LINK]
Your account is still active. We'll retry in 3 days.
— [PRODUCT]
Email 2: Day 3
Subject: Second attempt failed — action needed
Hey [NAME],
Still can't process your payment. Your service will be
interrupted on [DATE] if we can't charge a valid card.
Update now: [LINK]
Having trouble? Reply and we'll help.
— [PRODUCT]
Email 3: Day 7
Subject: Your [PRODUCT] account will be paused in 3 days
Hey [NAME],
Final notice: Your account will be paused on [DATE].
This means:
- API keys will stop working
- Webhooks will be disabled
- Your data stays safe (we keep it for 90 days)
Update your payment: [LINK]
— [PRODUCT]
Email 4: Day 10
Subject: Your account has been paused
Hey [NAME],
Your [PRODUCT] account is now paused due to payment failure.
To reactivate:
1. Update your payment method: [LINK]
2. Your service will resume immediately
Your data is safe and will be kept for 90 days.
Questions? Reply to this email.
— [PRODUCT]
| Tactic | Impact | |--------|--------| | Smart retries | Retry 3-5 times over 2 weeks at different times | | Card updater services | Automatically update expired cards | | Alternative payment request | "Try a different card?" | | Payment link in dunning | Direct link, not "log in to update" | | Phone/SMS for enterprise | High-value accounts get personal contact |
| Metric | How to Calculate | Target | |--------|------------------|--------| | Monthly churn rate | Churned users / Starting users | <5% | | Net revenue churn | Lost revenue - expansion / Starting MRR | <2% | | Time to churn | Avg days from signup to churn | Increasing | | Win-back rate | Returned users / Churned users | >5% | | Involuntary churn % | Payment churn / Total churn | <20% |
Track retention by:
Weekly health score distribution:
Healthy (80-100): 65% of users
Watch (60-79): 20% of users
At-risk (40-59): 10% of users
Critical (0-39): 5% of users
Trend: At-risk increased 3% this week (investigate)
| Mistake | Why It Fails | Fix | |---------|--------------|-----| | Ignoring project death | Wasting resources on unwinnable users | Accept it and focus on actionable churn | | Offering discounts first | Trains users to threaten churn for discounts | Lead with value, not price | | Win-back too soon | Feels desperate, annoys recently churned | Wait 30+ days | | Not listening to feedback | Repeating the same mistakes | Actually fix what they complained about | | Generic win-back campaigns | Irrelevant messages get ignored | Personalize based on churn reason | | Blaming developers | "They just didn't get it" | Your DX is the problem |
| Tool | Use Case | |------|----------| | Octolens | Monitor competitor switches, track developer sentiment, detect early warning signs from social mentions | | Segment | Track usage events for health scoring | | Amplitude/Mixpanel | Cohort analysis and retention tracking | | Customer.io | Automated at-risk and win-back sequences | | Stripe | Dunning management for involuntary churn | | Profitwell Retain | Specialized churn reduction for payments |
developer-audience-context — Understand alternatives and pain pointsdeveloper-email-sequences — Re-engagement and win-back emailscompetitor-tracking — Monitor competitive landscapedeveloper-listening — Capture feedback before churndeveloper-onboarding — Prevent churn at the sourcedevelopment
When the user wants to create developer YouTube content, technical screencasts, or video tutorials. Trigger phrases include "YouTube," "developer video," "screencast," "video tutorial," "live coding," "YouTube for developers," "tech YouTube," or "YouTube thumbnails."
development
When the user wants to build a developer following on Twitter/X, write technical threads, or understand what works for dev audiences on X. Trigger phrases include "Twitter," "X," "developer Twitter," "tech Twitter," "technical threads," "building dev following," or "Twitter for developers."
development
Design pricing models that developers understand, accept, and can predict. Trigger phrases: usage-based pricing, API pricing, metered billing, developer pricing, pricing page, cost calculator, pay as you go, pricing transparency, competitive pricing, developer billing
development
When the user wants to create step-by-step technical tutorials, quickstarts, or code walkthroughs. Trigger phrases include "tutorial," "quickstart," "getting started guide," "walkthrough," "step by step," "how to guide," "hands-on guide," or "code tutorial."