Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Autonomous growth experimentation framework. Creates A/B/multivariate 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. Use when creating or managing marketing experiments, logging data points, scoring experiments, or generating weekly scorecards.
.claude/skills/evolution-foundation-mkt-experiment/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 85% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 90% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 73% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 164% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 86% | 0% |
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).
Use this skill when:
Do NOT use for:
bashpython3 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.
bashpython3 experiment-engine.py log \ --agent <agent_name> \ --experiment-id <EXP-ID> \ --variant "<variant_name>" \ --metrics '{"metric_name": value}'
bashpython3 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.
bashpython3 experiment-engine.py list --agent <agent_name> [--status running|trending|keep|discard]
bashpython3 experiment-engine.py playbook --agent <agent_name>
Always check the playbook before creating new content to apply proven best practices.
bashpython3 experiment-engine.py suggest --agent <agent_name>
bashpython3 autogrowth-weekly-scorecard.py [--weeks N] [--output file.md]
bashpython3 pacing-alert.py [--json]
Exit code 0 = on pace, 1 = alerts present.
playbook → apply proven ruleslog → record which variant was used and its metricsscore → check if experiments have reached statistical significanceautogrowth-weekly-scorecard.py → review all channelssuggest → pick the next variable to test| Variable | Description | |----------|-------------| | GROWTH_ENGINE_DATA_DIR | Data directory (default: ./data/experiments) | | GROWTH_ENGINE_AGENTS | Comma-separated agent names (default: content,email,linkedin,seo,blog) |
| 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 |
| 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) |
pip install numpy scipy| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 7,186 | 5,949 | -17% | 1 | 1 | 0% | 1,239 | 2,297 | +85% | 0 | 0 | — |
case-11 | fail→pass | 5,709 | 1,835 | -68% | 1 | 1 | 0% | 819 | 1,553 | +90% | 0 | 0 | — |
case-12 | fail→pass | 6,069 | 2,946 | -51% | 1 | 1 | 0% | 1,018 | 1,759 | +73% | 0 | 0 | — |
case-02 | fail→pass | 14,131 | 2,321 | -84% | 1 | 1 | 0% | 551 | 1,457 | +164% | 0 | 0 | — |
case-03 | fail→fail | 8,181 | 14,694 | +80% | 1 | 1 | 0% | 1,379 | 1,502 | +9% | 0 | 0 | — |
case-04 | pass→fail | 10,730 | 13,086 | +22% | 1 | 1 | 0% | 1,714 | 3,293 | +92% | 0 | 0 | — |
case-05 | pass→fail | 13,726 | 6,768 | -51% | 1 | 1 | 0% | 2,142 | 2,340 | +9% | 0 | 0 | — |
case-06 | fail→fail | 4,748 | 6,319 | +33% | 1 | 1 | 0% | 696 | 2,261 | +225% | 0 | 0 | — |
case-07 | fail→pass | 9,671 | 2,887 | -70% | 1 | 1 | 0% | 900 | 1,672 | +86% | 0 | 0 | — |
case-08 | fail→pass | 5,241 | 5,413 | +3% | 1 | 1 | 0% | 704 | 2,065 | +193% | 0 | 0 | — |
case-09 | fail→pass | 11,353 | 2,296 | -80% | 1 | 1 | 0% | 1,828 | 1,594 | -13% | 0 | 0 | — |
case-10 | fail→pass | 13,697 | 3,388 | -75% | 1 | 1 | 0% | 1,985 | 1,745 | -12% | 0 | 0 | — |
case-13 | fail→pass | 19,023 | 1,343 | -93% | 1 | 1 | 0% | 3,159 | 1,419 | -55% | 0 | 0 | — |
case-14 | fail→pass | 10,761 | 1,335 | -88% | 1 | 1 | 0% | 1,735 | 1,447 | -17% | 0 | 0 | — |
case-15 | fail→pass | 10,928 | 2,203 | -80% | 1 | 1 | 0% | 1,625 | 1,602 | -1% | 0 | 0 | — |
case-16 | fail→pass | 6,375 | 1,201 | -81% | 1 | 1 | 0% | 883 | 1,414 | +60% | 0 | 0 | — |
case-17 | fail→pass | 6,631 | 1,120 | -83% | 1 | 1 | 0% | 905 | 1,371 | +51% | 0 | 0 | — |
case-18 | pass→pass | 8,946 | 6,434 | -28% | 1 | 1 | 0% | 1,393 | 1,473 | +6% | 0 | 0 | — |
case-19 | fail→pass | 32,144 | 1,735 | -95% | 1 | 1 | 0% | 5,468 | 1,490 | -73% | 0 | 0 | — |
case-20 | fail→pass | 35,930 | 1,824 | -95% | 1 | 1 | 0% | 2,599 | 1,446 | -44% | 0 | 0 | — |
case-21 | fail→pass | 9,916 | 3,152 | -68% | 1 | 1 | 0% | 1,498 | 1,719 | +15% | 0 | 0 | — |
case-22 | fail→pass | 14,212 | 2,368 | -83% | 1 | 1 | 0% | 2,702 | 1,600 | -41% | 0 | 0 | — |
case-23 | fail→pass | 19,747 | 1,507 | -92% | 1 | 1 | 0% | 3,470 | 1,425 | -59% | 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. 23 cases were attempted, and 20 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +70 percentage points is the difference between those two pass rates over the 20 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
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.