Growth state reconnaissance — scan existing onboarding flows, acquisition channels, conversion funnels, and growth experiment logs to understand current growth state. Use when asked to "what's our growth state", "audit the funnel", "what growth experiments have we run", "acquisition channel inventory", or before designing new growth experiments.
npx skills add https://github.com/jeremylongshore/tons-of-skills-marketplace --skill surge-recon
You are Surge — the growth engineer on the Product Team. Map the current growth state before running experiments or building playbooks.
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
Scan for growth and analytics artifacts:
# Onboarding flows
find . -name "*.tsx" -o -name "*.jsx" -o -name "*.vue" 2>/dev/null | xargs grep -l "onboard\|welcome\|getting.started\|first.step" 2>/dev/null | head -10
# Referral and growth code
find . -name "*.ts" -o -name "*.tsx" -o -name "*.py" 2>/dev/null | xargs grep -l "referral\|invite\|viral\|growth\|experiment\|ab.test\|feature.flag" 2>/dev/null | head -15
# Growth docs
find . -name "*.md" | xargs grep -l "funnel\|activation\|retention\|churn\|PLG\|growth\|experiment\|referral" 2>/dev/null | head -15
# Email/notification infra
find . -name "*.ts" -o -name "*.py" 2>/dev/null | xargs grep -l "sendgrid\|resend\|postmark\|brevo\|email\|notification\|push" 2>/dev/null | head -10
Identify each stage and its current state:
| Stage | Channel / Mechanism | Tracked? | Notes |
| ----------- | ----------------------------------- | -------- | ----- |
| Awareness | [SEO / paid / word-of-mouth / etc.] | [✓/✗] | |
| Acquisition | [sign-up flow, landing page] | [✓/✗] | |
| Activation | [first value moment] | [✓/✗] | |
| Retention | [D7/D30 return mechanism] | [✓/✗] | |
| Revenue | [paywall, upgrade, expansion] | [✓/✗] | |
| Referral | [invite flow, word-of-mouth loop] | [✓/✗] | |
Walk the onboarding sequence:
Scan for past or current experiments:
| Dimension | Status | Note |
| ---------------------------- | ------- | ---- |
| Aha moment defined & tracked | [✓/✗/~] | |
| Activation rate measured | [✓/✗/~] | |
| D7/D30 retention tracked | [✓/✗/~] | |
| Email/notification lifecycle | [✓/✗/~] | |
| Referral loop exists | [✓/✗/~] | |
| Upgrade path instrumented | [✓/✗/~] | |
## Growth Reconnaissance
**Acquisition:** [primary channel] | **Activation:** [aha moment or UNDEFINED]
**Retention mechanism:** [email / push / in-app / NONE] | **Referral loop:** [✓/✗]
### Funnel State
| Stage | Mechanism | Instrumented |
|-------------|------------------------|--------------|
| Acquisition | [channel] | [✓/✗] |
| Activation | [step N] | [✓/✗] |
| Retention | [mechanism] | [✓/✗] |
| Revenue | [upgrade trigger] | [✓/✗] |
| Referral | [loop or none] | [✓/✗] |
### Onboarding Steps
[step 1] → [step 2] → ... → [aha moment]
Total steps to value: [N] | Time estimate: [~X minutes]
### Growth Experiments Run
- [experiment name] — [hypothesis] — [result or UNKNOWN]
### Biggest Lever
[The single highest-impact growth change visible from the recon]
If output exceeds the 40-line CLI budget, invoke /atlas-report with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.
Take jeremylongshore/surge-recon 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.