menkesu/growth-embedded
Builds growth loops into products from day 1 using YC playbook (Gustaf Alstromer), Casey Winters growth frameworks, and Elena Verna's retention-first approach. Use when adding viral mechanics, instrumenting analytics, creating referral systems, or optimizing for retention over acquisition.
npx skills add https://github.com/menkesu/awesome-pm-skills --skill growth-embedded
Claude uses this skill when:
The Three Growth Levers:
📈 Acquisition - How users discover you
🎯 Activation - First value experience
🔁 Retention - Users coming back
Priority Order:
> "Retention first, activation second, acquisition last. Don't acquire users you can't retain."
Growth Loops:
User gets value → Shares with others → New users → Cycle repeats
Examples:
Types:
Direct Network Effects:
Data Network Effects:
Platform Network Effects:
Double-Sided Incentive:
Referrer gets: [benefit]
Referred gets: [benefit]
Both win: [shared value]
Tracking:
// Referral flow
generateReferralLink(user) {
const link = `app.com/ref/${user.id}`;
track('referral_link_generated', { userId: user.id });
return link;
}
// Attribution
onSignup(referralCode) {
const referrer = getUserByRefCode(referralCode);
track('referral_signup', {
referrer: referrer.id,
referred: newUser.id
});
giveReward(referrer);
giveReward(newUser);
}
Time to Value:
> "Get users to 'aha moment' as fast as possible"
Activation Milestones:
Measure:
Activation Rate = (Users who reached value) / (Total signups)
NEW FEATURE
│
├─ Can users share this? ──────YES──→ ADD SHARE FUNCTIONALITY
│ NO ↓
│
├─ Creates network effects? ───YES──→ OPTIMIZE FOR VIRAL LOOPS
│ NO ↓
│
├─ First-time experience? ─────YES──→ OPTIMIZE ACTIVATION
│ NO ↓
│
├─ Repeat usage? ──────────────YES──→ INSTRUMENT RETENTION TRACKING
│ NO ↓
│
└─ STANDARD FEATURE ←──────────────────┘
(Still track basic analytics)
# Referral Feature
## Incentive Structure
- **Referrer gets:** [reward]
- **Referred gets:** [reward]
- **Both benefit:** [shared value]
## Implementation
// Generate referral link
const link = generateReferralLink(user);
// Track shares
track('referral_shared', {
channel: ['email', 'social', 'link'],
userId: user.id
});
// Track conversions
track('referral_converted', {
referrerId: referrer.id,
referredId: newUser.id,
timeToConversion: timestamp
});
// Reward both
giveReward(referrer, 'storage_upgrade');
giveReward(newUser, 'welcome_bonus');
## Metrics
- Link generation rate
- Share rate
- Conversion rate (clicked → signed up)
- Activation rate (signed up → activated)
- K-factor (viral coefficient)
# Activation Optimization
## Time to Value
- Target: <[X] minutes
- Current: [Y] minutes
## Activation Funnel
1. **Signup** (100% of signups)
2. **Profile Setup** ([X]%)
3. **First Action** ([X]%)
4. **Aha Moment** ([X]%)
5. **Habit Formation** ([X]%)
## Drop-off Points
- Biggest drop-off: [identify]
- Why: [hypothesis]
- Fix: [solution]
## Implementation
// Track activation milestones
track('activation_milestone', {
milestone: 'profile_complete',
userId: user.id,
timeToComplete: seconds
});
// Identify where users drop off
if (!completedSetup(user, 24hours)) {
sendReminderEmail(user);
}
# Growth Metrics Dashboard
## Acquisition
- New signups: [X per day]
- Channels: [organic, referral, paid]
- Cost per acquisition: [$X]
## Activation
- Activation rate: [X]%
- Time to first value: [X] minutes
- Drop-off point: [step in funnel]
## Retention
- Day 1: [X]%
- Day 7: [X]%
- Day 30: [X]%
- Retention curve: [improving / flat / declining]
## Referral
- K-factor: [X] (viral coefficient)
- Referral rate: [X]% of users refer
- Conversion rate: [X]% of referred sign up
## Implementation
// Track key events
track('user_activated', { userId, timestamp });
track('user_retained_day7', { userId, timestamp });
track('referral_sent', { referrerId, channel });
Acquisition:
Activation:
Retention:
Analytics:
Incentive:
Result: 35% of signups from referrals
Time to Value:
Result: 90%+ retention
Growth Loop:
Result: Viral growth in teams
Problem: Leaky bucket - users leave as fast as they join
Fix: Fix retention first, then acquire
Problem: Every user requires paid acquisition
Fix: Build sharing into core features
Problem: Users drop off before seeing value
Fix: Get to aha moment in < 5 minutes
Gustaf Alstromer:
> "Retention first, activation second, acquisition last. Don't pour water into a leaky bucket."
Casey Winters:
> "The best growth loops are built into the product, not bolted on."
Elena Verna:
> "Acquisition is a tax on poor retention."
Take menkesu/growth-embedded from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.