Growth engine skill
python3 telemetry/versioncheck.py 2>/dev/null || true
by ericosiu·MIT license·★ 3,615 Stars on the repo·GitHub ↗
npx degit ericosiu/ai-marketing-skills/growth-engine#main ~/.claude/skills/growth-engineChecked ·commit main
Files of Growth engine
Show the full text145 lines
Growth Engine
Preamble (runs on skill start)
# Version check (silent if up to date)
python3 telemetry/version_check.py 2>/dev/null || true
# Telemetry opt-in (first run only, then remembers your choice)
python3 telemetry/telemetry_init.py 2>/dev/null || true
Privacy: This skill logs usage locally to
~/.ai-marketing-skills/analytics/. Remote telemetry is opt-in only. No code, file paths, or repo content is ever collected. Seetelemetry/README.md.
Autonomous growth experimentation framework based on Karpathy's autoresearch pattern applied to marketing. Creates experiments with hypotheses, logs data points, runs statistical analysis (bootstrap CI + Mann-Whitney U), auto-promotes winners to a living playbook, and suggests next experiments. Supports batch mode (up to 10 variants simultaneously).
Usage
Use this skill when:
- Creating or managing A/B or multivariate experiments for any marketing channel
- Logging experiment data points after content is published or campaigns run
- Scoring experiments to determine statistical winners
- Checking the playbook for proven best practices before creating new content
- Generating weekly scorecards across all channels
- Monitoring campaign pacing and health
Do NOT use for:
- One-off content creation (use the playbook output as input, but don't run the engine)
- Non-experiment analytics or reporting
- Campaign setup in external platforms (this tracks experiments, not campaign config)
Commands
Create an experiment
python3 experiment-engine.py create \
--agent <agent_name> \
--hypothesis "What you expect to happen" \
--variable "<variable_name>" \
--variants '["variant_a", "variant_b"]' \
--metric "<primary_metric>" \
--cycle-hours 24
Add --batch-mode for 3-10 variant tests. Add --min-samples N to override auto-detection.
Log a data point
python3 experiment-engine.py log \
--agent <agent_name> \
--experiment-id <EXP-ID> \
--variant "<variant_name>" \
--metrics '{"metric_name": value}'
Score an experiment
python3 experiment-engine.py score --agent <agent_name> --experiment-id <EXP-ID>
Statuses: running → trending → keep (winner) or discard (loser)
Winners auto-promote to the playbook. Requires p < 0.05 AND ≥ 15% lift.
List experiments
python3 experiment-engine.py list --agent <agent_name> [--status running|trending|keep|discard]
Check the playbook
python3 experiment-engine.py playbook --agent <agent_name>
Always check the playbook before creating new content to apply proven best practices.
Suggest next experiments
python3 experiment-engine.py suggest --agent <agent_name>
Generate weekly scorecard
python3 autogrowth-weekly-scorecard.py [--weeks N] [--output file.md]
Check campaign pacing
python3 pacing-alert.py [--json]
Exit code 0 = on pace, 1 = alerts present.
Workflow
- Before creating content:
playbook→ apply proven rules - When publishing:
log→ record which variant was used and its metrics - Periodically:
score→ check if experiments have reached statistical significance - Weekly:
autogrowth-weekly-scorecard.py→ review all channels - After completing experiments:
suggest→ pick the next variable to test
Configuration
Required Environment Variables
| Variable | Description |
|---|---|
GROWTH_ENGINE_DATA_DIR |
Data directory (default: ./data/experiments) |
GROWTH_ENGINE_AGENTS |
Comma-separated agent names (default: content,email,linkedin,seo,blog) |
Optional Tuning
| Variable | Default | Description |
|---|---|---|
HIGH_VOLUME_AGENTS |
content,email |
Agents needing only 10 samples/variant |
LOW_VOLUME_AGENTS |
seo,linkedin,blog |
Agents needing 30 samples/variant |
P_WINNER |
0.05 |
p-value threshold for winner |
P_TREND |
0.10 |
p-value threshold for trending |
LIFT_WIN |
15.0 |
Minimum % lift for keep decision |
BOOTSTRAP_ITERATIONS |
1000 |
Bootstrap resamples for CI |
BATCH_MODE_MAX_VARIANTS |
10 |
Max variants in batch mode |
Pacing Alert Variables
| Variable | Description |
|---|---|
PIPELINE_API_URL |
Pipeline/CRM API endpoint |
PIPELINE_AUTH_TOKEN |
Bearer token for pipeline API |
RECRUITING_API_URL |
Recruiting API endpoint |
RECRUITING_AUTH_TOKEN |
Bearer token for recruiting API |
EMAIL_API_URL |
Email platform API base URL |
EMAIL_AUTH_TOKEN |
Bearer token for email platform |
OUTBOUND_CAMPAIGNS |
JSON: {"name": "campaign-id"} |
RECRUITING_CAMPAIGNS |
JSON: {"name": "campaign-id"} |
DAILY_LEAD_TARGET |
Leads/day target (default: 10) |
WEEKLY_CANDIDATE_TARGET |
Candidates/week target (default: 400) |
Dependencies
pip install numpy scipy
| 1 | # Growth Engine |
| 2 | |
| 3 | ## Preamble (runs on skill start) |
| 4 | |
| 5 | |
| 6 | # Version check (silent if up to date) |
| 7 | python3 telemetry/version_check.py 2>/dev/null || true |
| 8 | |
| 9 | # Telemetry opt-in (first run only, then remembers your choice) |
| 10 | python3 telemetry/telemetry_init.py 2>/dev/null || true |
| 11 | |
| 12 | |
| 13 | > **Privacy:** This skill logs usage locally to `~/.ai-marketing-skills/analytics/`. Remote telemetry is opt-in only. No code, file paths, or repo content is ever collected. See `telemetry/README.md`. |
| 14 | |
| 15 | |
| 16 | |
| 17 | Autonomous growth experimentation framework based on Karpathy's autoresearch pattern applied to marketing. Creates experiments with hypotheses, logs data points, runs statistical analysis (bootstrap CI + Mann-Whitney U), auto-promotes winners to a living playbook, and suggests next experiments. Supports batch mode (up to 10 variants simultaneously). |
| 18 | |
| 19 | ## Usage |
| 20 | |
| 21 | Use this skill when: |
| 22 | Creating or managing A/B or multivariate experiments for any marketing channel |
| 23 | Logging experiment data points after content is published or campaigns run |
| 24 | Scoring experiments to determine statistical winners |
| 25 | Checking the playbook for proven best practices before creating new content |
| 26 | Generating weekly scorecards across all channels |
| 27 | Monitoring campaign pacing and health |
| 28 | |
| 29 | Do NOT use for: |
| 30 | One-off content creation (use the playbook output as input, but don't run the engine) |
| 31 | Non-experiment analytics or reporting |
| 32 | Campaign setup in external platforms (this tracks experiments, not campaign config) |
| 33 | |
| 34 | ## Commands |
| 35 | |
| 36 | ### Create an experiment |
| 37 | |
| 38 | python3 experiment-engine.py create \ |
| 39 | --agent <agent_name> \ |
| 40 | --hypothesis "What you expect to happen" \ |
| 41 | --variable "<variable_name>" \ |
| 42 | --variants '["variant_a", "variant_b"]' \ |
| 43 | --metric "<primary_metric>" \ |
| 44 | --cycle-hours 24 |
| 45 | |
| 46 | |
| 47 | Add `--batch-mode` for 3-10 variant tests. Add `--min-samples N` to override auto-detection. |
| 48 | |
| 49 | ### Log a data point |
| 50 | |
| 51 | python3 experiment-engine.py log \ |
| 52 | --agent <agent_name> \ |
| 53 | --experiment-id <EXP-ID> \ |
| 54 | --variant "<variant_name>" \ |
| 55 | --metrics '{"metric_name": value}' |
| 56 | |
| 57 | |
| 58 | ### Score an experiment |
| 59 | |
| 60 | python3 experiment-engine.py score --agent <agent_name> --experiment-id <EXP-ID> |
| 61 | |
| 62 | |
| 63 | Statuses: `running` → `trending` → `keep` (winner) or `discard` (loser) |
| 64 | |
| 65 | Winners auto-promote to the playbook. Requires p < 0.05 AND ≥ 15% lift. |
| 66 | |
| 67 | ### List experiments |
| 68 | |
| 69 | python3 experiment-engine.py list --agent <agent_name> [--status running|trending|keep|discard] |
| 70 | |
| 71 | |
| 72 | ### Check the playbook |
| 73 | |
| 74 | python3 experiment-engine.py playbook --agent <agent_name> |
| 75 | |
| 76 | |
| 77 | Always check the playbook before creating new content to apply proven best practices. |
| 78 | |
| 79 | ### Suggest next experiments |
| 80 | |
| 81 | python3 experiment-engine.py suggest --agent <agent_name> |
| 82 | |
| 83 | |
| 84 | ### Generate weekly scorecard |
| 85 | |
| 86 | python3 autogrowth-weekly-scorecard.py [--weeks N] [--output file.md] |
| 87 | |
| 88 | |
| 89 | ### Check campaign pacing |
| 90 | |
| 91 | python3 pacing-alert.py [--json] |
| 92 | |
| 93 | |
| 94 | Exit code 0 = on pace, 1 = alerts present. |
| 95 | |
| 96 | ## Workflow |
| 97 | |
| 98 | Before creating content: `playbook` → apply proven rules |
| 99 | When publishing: `log` → record which variant was used and its metrics |
| 100 | Periodically: `score` → check if experiments have reached statistical significance |
| 101 | Weekly: `autogrowth-weekly-scorecard.py` → review all channels |
| 102 | After completing experiments: `suggest` → pick the next variable to test |
| 103 | |
| 104 | ## Configuration |
| 105 | |
| 106 | ### Required Environment Variables |
| 107 | |
| 108 | | Variable | Description | |
| 109 | |----------|-------------| |
| 110 | | `GROWTH_ENGINE_DATA_DIR` | Data directory (default: `./data/experiments`) | |
| 111 | | `GROWTH_ENGINE_AGENTS` | Comma-separated agent names (default: `content,email,linkedin,seo,blog`) | |
| 112 | |
| 113 | ### Optional Tuning |
| 114 | |
| 115 | | Variable | Default | Description | |
| 116 | |----------|---------|-------------| |
| 117 | | `HIGH_VOLUME_AGENTS` | `content,email` | Agents needing only 10 samples/variant | |
| 118 | | `LOW_VOLUME_AGENTS` | `seo,linkedin,blog` | Agents needing 30 samples/variant | |
| 119 | | `P_WINNER` | `0.05` | p-value threshold for winner | |
| 120 | | `P_TREND` | `0.10` | p-value threshold for trending | |
| 121 | | `LIFT_WIN` | `15.0` | Minimum % lift for keep decision | |
| 122 | | `BOOTSTRAP_ITERATIONS` | `1000` | Bootstrap resamples for CI | |
| 123 | | `BATCH_MODE_MAX_VARIANTS` | `10` | Max variants in batch mode | |
| 124 | |
| 125 | ### Pacing Alert Variables |
| 126 | |
| 127 | | Variable | Description | |
| 128 | |----------|-------------| |
| 129 | | `PIPELINE_API_URL` | Pipeline/CRM API endpoint | |
| 130 | | `PIPELINE_AUTH_TOKEN` | Bearer token for pipeline API | |
| 131 | | `RECRUITING_API_URL` | Recruiting API endpoint | |
| 132 | | `RECRUITING_AUTH_TOKEN` | Bearer token for recruiting API | |
| 133 | | `EMAIL_API_URL` | Email platform API base URL | |
| 134 | | `EMAIL_AUTH_TOKEN` | Bearer token for email platform | |
| 135 | | `OUTBOUND_CAMPAIGNS` | JSON: `{"name": "campaign-id"}` | |
| 136 | | `RECRUITING_CAMPAIGNS` | JSON: `{"name": "campaign-id"}` | |
| 137 | | `DAILY_LEAD_TARGET` | Leads/day target (default: 10) | |
| 138 | | `WEEKLY_CANDIDATE_TARGET` | Candidates/week target (default: 400) | |
| 139 | |
| 140 | ### Dependencies |
| 141 | |
| 142 | |
| 143 | pip install numpy scipy |
| 144 | |
| 145 |
Discussion
Browse more free Claude skills.