Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Growth marketing covering experimentation, funnel optimization, acquisition channels, retention, and viral growth. Use when designing A/B experiments, optimizing AARRR funnel stages, or prioritizing channels by CAC and LTV.
.claude/skills/borghei-growth-marketer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 93% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 114% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 159% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 111% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 110% | 0% |
The agent operates as a senior growth marketer, delivering experiment-driven strategies for scalable user acquisition, activation, retention, referral, and revenue optimization.
Before designing experiments or a growth plan, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
| Stage | Key Question | Metrics | Benchmark | |-------|-------------|---------|-----------| | Acquisition | How do users find us? | Traffic, CAC, channel mix | CAC < 1/3 LTV | | Activation | Great first experience? | Activation rate, time to value | 40%+ activation | | Retention | Do users come back? | D1/D7/D30 retention, churn | SaaS: D30 30% | | Referral | Do users tell others? | Viral coefficient (K), NPS | K-factor > 0.5 | | Revenue | How do we monetize? | ARPU, LTV, conversion rate | LTV:CAC > 3:1 |
markdown# Experiment: Onboarding Checklist v2 ## Hypothesis If we add a progress bar to the onboarding checklist, then activation rate will increase by 15% because users respond to completion motivation. ## Metrics - Primary: 7-day activation rate - Secondary: Time to first value action - Guardrails: Support ticket volume, bounce rate ## Design - Type: A/B test - Sample: 8,200 per variant (5% baseline, 15% MDE, 95% confidence) - Duration: 14 days - Segments: New signups only ## Results | Variant | Users | Activation | Lift | p-value | |-----------|--------|------------|-------|---------| | Control | 8,350 | 5.1% | - | - | | Treatment | 8,280 | 6.2% | +21% | 0.003 | ## Decision: Ship
| Experiment | Impact (1-10) | Confidence (1-10) | Ease (1-10) | ICE Score | |------------|---------------|-------------------|-------------|-----------| | Onboarding checklist v2 | 8 | 7 | 9 | 24 | | Referral incentive test | 6 | 8 | 7 | 21 | | Pricing page redesign | 9 | 5 | 6 | 20 |
pythonfrom scipy import stats def sample_size(baseline_rate, mde, alpha=0.05, power=0.8): """Calculate required sample size per variant for an A/B test. Args: baseline_rate: Current conversion rate (e.g. 0.05 for 5%) mde: Minimum detectable effect as proportion (e.g. 0.15 for 15% lift) alpha: Significance level (default 0.05) power: Statistical power (default 0.8) Returns: Required users per variant (int) Example: >>> sample_size(0.05, 0.15) 8218 """ effect_size = mde * baseline_rate z_alpha = stats.norm.ppf(1 - alpha / 2) z_beta = stats.norm.ppf(power) n = 2 * ((z_alpha + z_beta) ** 2) * baseline_rate * (1 - baseline_rate) / (effect_size ** 2) return int(n)
| Channel | CAC | Volume | Quality | Scalability | |---------|-----|--------|---------|-------------| | Organic Search | $20 | High | High | Medium | | Paid Search | $50 | Medium | High | High | | Social Organic | $10 | Medium | Medium | Low | | Social Paid | $40 | High | Medium | High | | Content | $15 | Medium | High | Medium | | Referral | $5 | Low | Very High | Medium | | Partnerships | $30 | Medium | High | Medium |
| Category | D1 | D7 | D30 | |----------|-----|-----|------| | SaaS | 60% | 40% | 30% | | Social | 50% | 30% | 20% | | E-commerce | 25% | 15% | 10% | | Games | 35% | 15% | 8% |
Week 0 Week 1 Week 2 Week 3 Week 4
Jan W1 100% 45% 35% 28% 25%
Jan W2 100% 48% 38% 32% 28%
Jan W3 100% 52% 42% 35% 31%
Jan W4 100% 55% 45% 38% 34%
Insight: Week-over-week improvement correlates with onboarding
changes shipped in Jan W3.K-Factor = invites per user (i) x conversion rate of invites (c)
pythondef growth_forecast(current_users, monthly_growth_rate, months): """Forecast user base over time with compound growth. Example: >>> growth_forecast(10000, 0.10, 12)[-1] 31384 """ users = [current_users] for _ in range(months): users.append(int(users[-1] * (1 + monthly_growth_rate))) return users
bash# Experiment analyzer python scripts/experiment_analyzer.py --experiment exp_001 --data results.csv # Funnel analyzer python scripts/funnel_analyzer.py --events events.csv --output funnel.html # Cohort generator python scripts/cohort_generator.py --users users.csv --metric retention # Growth model python scripts/growth_model.py --current 10000 --growth 0.1 --months 12
references/experimentation.md - A/B testing guidereferences/acquisition.md - Channel playbooksreferences/retention.md - Retention strategiesreferences/viral.md - Viral mechanics| Symptom | Likely Cause | Resolution | |---------|-------------|------------| | K-factor below 0.1 despite referral program | Invite UX has too much friction or incentive misaligned with user value | Reduce invite flow to one click; align incentive with product value (usage credits > cash) | | Activation rate below 20% for new signups | Time-to-value too long or onboarding not guiding users to aha moment | Map activation events, identify first value action, build guided onboarding to reach it in under 5 minutes | | Growth stalls after initial PLG ramp | Free tier captures low-intent users who never convert; paid conversion rate below 3% | Tighten free tier limits around high-value features, add contextual upgrade prompts at usage gates | | A/B test results not reaching significance | Sample size too small for the minimum detectable effect being tested | Use sample size calculator; increase traffic to test or accept larger MDE | | Cohort retention curves flatten at under 15% | Product does not build enough habit; no ongoing value loop | Implement engagement hooks (notifications, reports, streaks); investigate which features drive retention | | Experiments consistently show no lift | Testing cosmetic changes rather than meaningful value propositions | Focus experiments on activation flow, pricing, and value communication — not button colors |
In Scope: AARRR funnel optimization, experiment design and prioritization (ICE/RICE), viral growth modeling, PLG strategy, retention analysis, cohort analysis, growth forecasting, acquisition channel analysis, sample size calculation.
Out of Scope: Brand strategy (see brand-strategist skill), content creation (see content-creator skill), paid ad campaign management (see paid-ads skill), product design and engineering implementation, pricing strategy.
Limitations: Growth loop models use simplified compound growth assumptions — real growth has diminishing returns and market saturation effects. Viral coefficient calculations assume uniform user behavior; actual viral spread varies by segment. Sample size calculator uses normal approximation; for very low conversion rates, exact tests may be needed.
| Script | Purpose | Usage | |--------|---------|-------| | scripts/growth_loop_modeler.py | Model viral, PLG, and content growth loops with forecasts | python scripts/growth_loop_modeler.py --type viral --users 1000 --k-factor 0.6 --months 12 | | scripts/viral_coefficient_calculator.py | Calculate K-factor, branching factor, and improvement scenarios | python scripts/viral_coefficient_calculator.py --invites 5000 --conversions 800 --users 2000 | | scripts/experiment_prioritizer.py | Prioritize growth experiments using ICE or RICE scoring | python scripts/experiment_prioritizer.py experiments.json --framework ice --demo |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | pass→pass | 13,445 | 13,952 | +4% | 1 | 1 | 0% | 2,027 | 5,015 | +147% | 0 | 0 | — |
case-21 | fail→fail | 18,753 | 18,536 | -1% | 1 | 1 | 0% | 2,839 | 5,462 | +92% | 0 | 0 | — |
case-01 | fail→pass | 18,391 | 16,825 | -9% | 1 | 1 | 0% | 2,963 | 5,731 | +93% | 0 | 0 | — |
case-02 | fail→fail | 28,775 | 23,206 | -19% | 1 | 1 | 0% | 4,989 | 7,035 | +41% | 0 | 0 | — |
case-03 | fail→fail | 30,906 | 27,258 | -12% | 1 | 1 | 0% | 5,407 | 8,069 | +49% | 0 | 0 | — |
case-04 | fail→pass | 16,558 | 15,801 | -5% | 1 | 1 | 0% | 2,581 | 5,525 | +114% | 0 | 0 | — |
case-05 | fail→pass | 10,639 | 13,988 | +31% | 1 | 1 | 0% | 1,979 | 5,135 | +159% | 0 | 0 | — |
case-06 | pass→pass | 13,956 | 19,571 | +40% | 1 | 1 | 0% | 2,871 | 6,864 | +139% | 0 | 0 | — |
case-07 | pass→pass | 13,131 | 12,759 | -3% | 1 | 1 | 0% | 2,261 | 5,017 | +122% | 0 | 0 | — |
case-08 | pass→pass | 8,966 | 9,186 | +2% | 1 | 1 | 0% | 1,521 | 4,390 | +189% | 0 | 0 | — |
case-09 | pass→pass | 11,501 | 11,288 | -2% | 1 | 1 | 0% | 1,851 | 4,532 | +145% | 0 | 0 | — |
case-11 | pass→pass | 7,406 | 10,462 | +41% | 1 | 1 | 0% | 1,339 | 4,443 | +232% | 0 | 0 | — |
case-12 | pass→pass | 11,143 | 10,489 | -6% | 1 | 1 | 0% | 1,746 | 4,576 | +162% | 0 | 0 | — |
case-13 | fail→pass | 16,588 | 17,547 | +6% | 1 | 1 | 0% | 2,648 | 5,598 | +111% | 0 | 0 | — |
case-14 | pass→pass | 17,656 | 13,537 | -23% | 1 | 1 | 0% | 2,638 | 4,857 | +84% | 0 | 0 | — |
case-15 | pass→pass | 13,028 | 12,124 | -7% | 1 | 1 | 0% | 2,171 | 4,683 | +116% | 0 | 0 | — |
case-16 | fail→pass | 14,533 | 11,669 | -20% | 1 | 1 | 0% | 2,186 | 4,591 | +110% | 0 | 0 | — |
case-17 | pass→pass | 8,419 | 9,183 | +9% | 1 | 1 | 0% | 1,772 | 4,604 | +160% | 0 | 0 | — |
case-18 | pass→pass | 14,884 | 13,153 | -12% | 1 | 1 | 0% | 2,190 | 4,782 | +118% | 0 | 0 | — |
case-19 | fail→pass | 8,768 | 10,985 | +25% | 1 | 1 | 0% | 1,374 | 4,570 | +233% | 0 | 0 | — |
case-20 | fail→pass | 19,330 | 11,587 | -40% | 1 | 1 | 0% | 2,972 | 4,558 | +53% | 0 | 0 | — |
case-22 | fail→fail | 16,332 | 8,448 | -48% | 1 | 1 | 0% | 2,588 | 4,075 | +57% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +32 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.