@intentsolutionsio/tonone 0.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/CLAUDE.md +11 -0
- package/.claude-plugin/marketplace.json +2178 -0
- package/.claude-plugin/plugin.json +135 -0
- package/LICENSE +21 -0
- package/README.md +462 -0
- package/agents/apex.md +247 -0
- package/agents/atlas.md +181 -0
- package/agents/cortex.md +173 -0
- package/agents/crest.md +130 -0
- package/agents/draft.md +190 -0
- package/agents/echo.md +146 -0
- package/agents/flux.md +145 -0
- package/agents/forge.md +121 -0
- package/agents/form.md +244 -0
- package/agents/helm.md +180 -0
- package/agents/lens.md +145 -0
- package/agents/lumen.md +139 -0
- package/agents/pave.md +169 -0
- package/agents/pitch.md +177 -0
- package/agents/prism.md +181 -0
- package/agents/proof.md +205 -0
- package/agents/relay.md +147 -0
- package/agents/spine.md +207 -0
- package/agents/surge.md +127 -0
- package/agents/touch.md +185 -0
- package/agents/vigil.md +165 -0
- package/agents/volt.md +184 -0
- package/agents/warden.md +172 -0
- package/package.json +48 -0
- package/skills/apex/SKILL.md +32 -0
- package/skills/apex-plan/.claude-plugin/plugin.json +16 -0
- package/skills/apex-plan/SKILL.md +59 -0
- package/skills/apex-recon/.claude-plugin/plugin.json +16 -0
- package/skills/apex-recon/SKILL.md +91 -0
- package/skills/apex-review/.claude-plugin/plugin.json +16 -0
- package/skills/apex-review/SKILL.md +53 -0
- package/skills/apex-status/.claude-plugin/plugin.json +16 -0
- package/skills/apex-status/SKILL.md +42 -0
- package/skills/apex-takeover/.claude-plugin/plugin.json +16 -0
- package/skills/apex-takeover/SKILL.md +50 -0
- package/skills/atlas/SKILL.md +34 -0
- package/skills/atlas-adr/.claude-plugin/plugin.json +16 -0
- package/skills/atlas-adr/SKILL.md +147 -0
- package/skills/atlas-changelog/.claude-plugin/plugin.json +16 -0
- package/skills/atlas-changelog/SKILL.md +156 -0
- package/skills/atlas-map/.claude-plugin/plugin.json +16 -0
- package/skills/atlas-map/SKILL.md +183 -0
- package/skills/atlas-onboard/.claude-plugin/plugin.json +16 -0
- package/skills/atlas-onboard/SKILL.md +138 -0
- package/skills/atlas-present/.claude-plugin/plugin.json +16 -0
- package/skills/atlas-present/SKILL.md +214 -0
- package/skills/atlas-recon/.claude-plugin/plugin.json +16 -0
- package/skills/atlas-recon/SKILL.md +101 -0
- package/skills/atlas-report/.claude-plugin/plugin.json +16 -0
- package/skills/atlas-report/SKILL.md +304 -0
- package/skills/cortex/SKILL.md +32 -0
- package/skills/cortex-eval/.claude-plugin/plugin.json +16 -0
- package/skills/cortex-eval/SKILL.md +143 -0
- package/skills/cortex-integrate/.claude-plugin/plugin.json +16 -0
- package/skills/cortex-integrate/SKILL.md +218 -0
- package/skills/cortex-model/.claude-plugin/plugin.json +16 -0
- package/skills/cortex-model/SKILL.md +138 -0
- package/skills/cortex-prompt/.claude-plugin/plugin.json +16 -0
- package/skills/cortex-prompt/SKILL.md +246 -0
- package/skills/cortex-recon/.claude-plugin/plugin.json +16 -0
- package/skills/cortex-recon/SKILL.md +156 -0
- package/skills/crest/SKILL.md +32 -0
- package/skills/crest-compete/.claude-plugin/plugin.json +16 -0
- package/skills/crest-compete/SKILL.md +158 -0
- package/skills/crest-narrative/.claude-plugin/plugin.json +16 -0
- package/skills/crest-narrative/SKILL.md +124 -0
- package/skills/crest-okr/.claude-plugin/plugin.json +16 -0
- package/skills/crest-okr/SKILL.md +119 -0
- package/skills/crest-recon/.claude-plugin/plugin.json +16 -0
- package/skills/crest-recon/SKILL.md +91 -0
- package/skills/crest-roadmap/.claude-plugin/plugin.json +16 -0
- package/skills/crest-roadmap/SKILL.md +129 -0
- package/skills/draft/SKILL.md +34 -0
- package/skills/draft-flow/.claude-plugin/plugin.json +16 -0
- package/skills/draft-flow/SKILL.md +93 -0
- package/skills/draft-ia/.claude-plugin/plugin.json +16 -0
- package/skills/draft-ia/SKILL.md +204 -0
- package/skills/draft-landing/.claude-plugin/plugin.json +16 -0
- package/skills/draft-landing/SKILL.md +60 -0
- package/skills/draft-patterns/.claude-plugin/plugin.json +16 -0
- package/skills/draft-patterns/SKILL.md +55 -0
- package/skills/draft-recon/.claude-plugin/plugin.json +16 -0
- package/skills/draft-recon/SKILL.md +108 -0
- package/skills/draft-review/.claude-plugin/plugin.json +16 -0
- package/skills/draft-review/SKILL.md +131 -0
- package/skills/draft-wireframe/.claude-plugin/plugin.json +16 -0
- package/skills/draft-wireframe/SKILL.md +167 -0
- package/skills/echo/SKILL.md +32 -0
- package/skills/echo-feedback/.claude-plugin/plugin.json +16 -0
- package/skills/echo-feedback/SKILL.md +129 -0
- package/skills/echo-interview/.claude-plugin/plugin.json +16 -0
- package/skills/echo-interview/SKILL.md +189 -0
- package/skills/echo-jobs/.claude-plugin/plugin.json +16 -0
- package/skills/echo-jobs/SKILL.md +193 -0
- package/skills/echo-recon/.claude-plugin/plugin.json +16 -0
- package/skills/echo-recon/SKILL.md +96 -0
- package/skills/echo-segment/.claude-plugin/plugin.json +16 -0
- package/skills/echo-segment/SKILL.md +105 -0
- package/skills/flux/SKILL.md +33 -0
- package/skills/flux-health/.claude-plugin/plugin.json +16 -0
- package/skills/flux-health/SKILL.md +97 -0
- package/skills/flux-migrate/.claude-plugin/plugin.json +16 -0
- package/skills/flux-migrate/SKILL.md +176 -0
- package/skills/flux-pipeline/.claude-plugin/plugin.json +16 -0
- package/skills/flux-pipeline/SKILL.md +86 -0
- package/skills/flux-query/.claude-plugin/plugin.json +16 -0
- package/skills/flux-query/SKILL.md +87 -0
- package/skills/flux-recon/.claude-plugin/plugin.json +16 -0
- package/skills/flux-recon/SKILL.md +101 -0
- package/skills/flux-schema/.claude-plugin/plugin.json +16 -0
- package/skills/flux-schema/SKILL.md +125 -0
- package/skills/forge/SKILL.md +33 -0
- package/skills/forge-audit/.claude-plugin/plugin.json +16 -0
- package/skills/forge-audit/SKILL.md +117 -0
- package/skills/forge-cost/.claude-plugin/plugin.json +16 -0
- package/skills/forge-cost/SKILL.md +144 -0
- package/skills/forge-diagnose/.claude-plugin/plugin.json +16 -0
- package/skills/forge-diagnose/SKILL.md +122 -0
- package/skills/forge-infra/.claude-plugin/plugin.json +16 -0
- package/skills/forge-infra/SKILL.md +169 -0
- package/skills/forge-network/.claude-plugin/plugin.json +16 -0
- package/skills/forge-network/SKILL.md +106 -0
- package/skills/forge-recon/.claude-plugin/plugin.json +16 -0
- package/skills/forge-recon/SKILL.md +143 -0
- package/skills/form/SKILL.md +40 -0
- package/skills/form-audit/.claude-plugin/plugin.json +16 -0
- package/skills/form-audit/SKILL.md +290 -0
- package/skills/form-brand/.claude-plugin/plugin.json +16 -0
- package/skills/form-brand/SKILL.md +214 -0
- package/skills/form-component/.claude-plugin/plugin.json +16 -0
- package/skills/form-component/SKILL.md +336 -0
- package/skills/form-deck/.claude-plugin/plugin.json +16 -0
- package/skills/form-deck/SKILL.md +263 -0
- package/skills/form-email/.claude-plugin/plugin.json +16 -0
- package/skills/form-email/SKILL.md +304 -0
- package/skills/form-exam/.claude-plugin/plugin.json +16 -0
- package/skills/form-exam/SKILL.md +103 -0
- package/skills/form-logo/.claude-plugin/plugin.json +16 -0
- package/skills/form-logo/SKILL.md +231 -0
- package/skills/form-mobile/.claude-plugin/plugin.json +16 -0
- package/skills/form-mobile/SKILL.md +276 -0
- package/skills/form-palette/.claude-plugin/plugin.json +16 -0
- package/skills/form-palette/SKILL.md +68 -0
- package/skills/form-social/.claude-plugin/plugin.json +16 -0
- package/skills/form-social/SKILL.md +272 -0
- package/skills/form-style/.claude-plugin/plugin.json +16 -0
- package/skills/form-style/SKILL.md +63 -0
- package/skills/form-tokens/.claude-plugin/plugin.json +16 -0
- package/skills/form-tokens/SKILL.md +760 -0
- package/skills/form-web/.claude-plugin/plugin.json +16 -0
- package/skills/form-web/SKILL.md +254 -0
- package/skills/helm/SKILL.md +32 -0
- package/skills/helm-arbiter/.claude-plugin/plugin.json +16 -0
- package/skills/helm-arbiter/SKILL.md +104 -0
- package/skills/helm-brief/.claude-plugin/plugin.json +16 -0
- package/skills/helm-brief/SKILL.md +105 -0
- package/skills/helm-handoff/.claude-plugin/plugin.json +16 -0
- package/skills/helm-handoff/SKILL.md +102 -0
- package/skills/helm-plan/.claude-plugin/plugin.json +16 -0
- package/skills/helm-plan/SKILL.md +73 -0
- package/skills/helm-recon/.claude-plugin/plugin.json +16 -0
- package/skills/helm-recon/SKILL.md +99 -0
- package/skills/lens/SKILL.md +33 -0
- package/skills/lens-audit/.claude-plugin/plugin.json +16 -0
- package/skills/lens-audit/SKILL.md +101 -0
- package/skills/lens-chart/.claude-plugin/plugin.json +16 -0
- package/skills/lens-chart/SKILL.md +59 -0
- package/skills/lens-dashboard/.claude-plugin/plugin.json +16 -0
- package/skills/lens-dashboard/SKILL.md +212 -0
- package/skills/lens-metrics/.claude-plugin/plugin.json +16 -0
- package/skills/lens-metrics/SKILL.md +298 -0
- package/skills/lens-recon/.claude-plugin/plugin.json +16 -0
- package/skills/lens-recon/SKILL.md +106 -0
- package/skills/lens-report/.claude-plugin/plugin.json +16 -0
- package/skills/lens-report/SKILL.md +158 -0
- package/skills/lumen/SKILL.md +32 -0
- package/skills/lumen-abtest/.claude-plugin/plugin.json +16 -0
- package/skills/lumen-abtest/SKILL.md +217 -0
- package/skills/lumen-funnel/.claude-plugin/plugin.json +16 -0
- package/skills/lumen-funnel/SKILL.md +108 -0
- package/skills/lumen-instrument/.claude-plugin/plugin.json +16 -0
- package/skills/lumen-instrument/SKILL.md +130 -0
- package/skills/lumen-metrics/.claude-plugin/plugin.json +16 -0
- package/skills/lumen-metrics/SKILL.md +189 -0
- package/skills/lumen-recon/.claude-plugin/plugin.json +16 -0
- package/skills/lumen-recon/SKILL.md +108 -0
- package/skills/pave/SKILL.md +32 -0
- package/skills/pave-audit/.claude-plugin/plugin.json +16 -0
- package/skills/pave-audit/SKILL.md +109 -0
- package/skills/pave-catalog/.claude-plugin/plugin.json +16 -0
- package/skills/pave-catalog/SKILL.md +202 -0
- package/skills/pave-env/.claude-plugin/plugin.json +16 -0
- package/skills/pave-env/SKILL.md +102 -0
- package/skills/pave-golden/.claude-plugin/plugin.json +16 -0
- package/skills/pave-golden/SKILL.md +173 -0
- package/skills/pave-recon/.claude-plugin/plugin.json +16 -0
- package/skills/pave-recon/SKILL.md +118 -0
- package/skills/pitch/SKILL.md +33 -0
- package/skills/pitch-copy/.claude-plugin/plugin.json +16 -0
- package/skills/pitch-copy/SKILL.md +133 -0
- package/skills/pitch-landing/.claude-plugin/plugin.json +16 -0
- package/skills/pitch-landing/SKILL.md +62 -0
- package/skills/pitch-launch/.claude-plugin/plugin.json +16 -0
- package/skills/pitch-launch/SKILL.md +222 -0
- package/skills/pitch-message/.claude-plugin/plugin.json +16 -0
- package/skills/pitch-message/SKILL.md +98 -0
- package/skills/pitch-position/.claude-plugin/plugin.json +16 -0
- package/skills/pitch-position/SKILL.md +195 -0
- package/skills/pitch-recon/.claude-plugin/plugin.json +16 -0
- package/skills/pitch-recon/SKILL.md +102 -0
- package/skills/prism/SKILL.md +34 -0
- package/skills/prism-audit/.claude-plugin/plugin.json +16 -0
- package/skills/prism-audit/SKILL.md +129 -0
- package/skills/prism-chart/.claude-plugin/plugin.json +16 -0
- package/skills/prism-chart/SKILL.md +56 -0
- package/skills/prism-component/.claude-plugin/plugin.json +16 -0
- package/skills/prism-component/SKILL.md +270 -0
- package/skills/prism-dashboard/.claude-plugin/plugin.json +16 -0
- package/skills/prism-dashboard/SKILL.md +108 -0
- package/skills/prism-recon/.claude-plugin/plugin.json +16 -0
- package/skills/prism-recon/SKILL.md +109 -0
- package/skills/prism-stack/.claude-plugin/plugin.json +16 -0
- package/skills/prism-stack/SKILL.md +58 -0
- package/skills/prism-ui/.claude-plugin/plugin.json +16 -0
- package/skills/prism-ui/SKILL.md +247 -0
- package/skills/proof/SKILL.md +33 -0
- package/skills/proof-api/.claude-plugin/plugin.json +16 -0
- package/skills/proof-api/SKILL.md +86 -0
- package/skills/proof-audit/.claude-plugin/plugin.json +16 -0
- package/skills/proof-audit/SKILL.md +97 -0
- package/skills/proof-design/.claude-plugin/plugin.json +16 -0
- package/skills/proof-design/SKILL.md +133 -0
- package/skills/proof-e2e/.claude-plugin/plugin.json +16 -0
- package/skills/proof-e2e/SKILL.md +309 -0
- package/skills/proof-recon/.claude-plugin/plugin.json +16 -0
- package/skills/proof-recon/SKILL.md +98 -0
- package/skills/proof-strategy/.claude-plugin/plugin.json +16 -0
- package/skills/proof-strategy/SKILL.md +150 -0
- package/skills/relay/SKILL.md +33 -0
- package/skills/relay-audit/.claude-plugin/plugin.json +16 -0
- package/skills/relay-audit/SKILL.md +101 -0
- package/skills/relay-deploy/.claude-plugin/plugin.json +16 -0
- package/skills/relay-deploy/SKILL.md +404 -0
- package/skills/relay-docker/.claude-plugin/plugin.json +16 -0
- package/skills/relay-docker/SKILL.md +73 -0
- package/skills/relay-pipeline/.claude-plugin/plugin.json +16 -0
- package/skills/relay-pipeline/SKILL.md +267 -0
- package/skills/relay-recon/.claude-plugin/plugin.json +16 -0
- package/skills/relay-recon/SKILL.md +108 -0
- package/skills/relay-ship/.claude-plugin/plugin.json +16 -0
- package/skills/relay-ship/SKILL.md +253 -0
- package/skills/spine/SKILL.md +33 -0
- package/skills/spine-api/.claude-plugin/plugin.json +16 -0
- package/skills/spine-api/SKILL.md +184 -0
- package/skills/spine-design/.claude-plugin/plugin.json +16 -0
- package/skills/spine-design/SKILL.md +193 -0
- package/skills/spine-perf/.claude-plugin/plugin.json +16 -0
- package/skills/spine-perf/SKILL.md +120 -0
- package/skills/spine-recon/.claude-plugin/plugin.json +16 -0
- package/skills/spine-recon/SKILL.md +130 -0
- package/skills/spine-review/.claude-plugin/plugin.json +16 -0
- package/skills/spine-review/SKILL.md +122 -0
- package/skills/spine-service/.claude-plugin/plugin.json +16 -0
- package/skills/spine-service/SKILL.md +77 -0
- package/skills/surge/SKILL.md +33 -0
- package/skills/surge-activation/.claude-plugin/plugin.json +16 -0
- package/skills/surge-activation/SKILL.md +130 -0
- package/skills/surge-experiment/.claude-plugin/plugin.json +16 -0
- package/skills/surge-experiment/SKILL.md +134 -0
- package/skills/surge-landing/.claude-plugin/plugin.json +16 -0
- package/skills/surge-landing/SKILL.md +65 -0
- package/skills/surge-plg/.claude-plugin/plugin.json +16 -0
- package/skills/surge-plg/SKILL.md +243 -0
- package/skills/surge-recon/.claude-plugin/plugin.json +16 -0
- package/skills/surge-recon/SKILL.md +109 -0
- package/skills/surge-retention/.claude-plugin/plugin.json +16 -0
- package/skills/surge-retention/SKILL.md +222 -0
- package/skills/tonone-onboard/.claude-plugin/plugin.json +17 -0
- package/skills/tonone-onboard/SKILL.md +158 -0
- package/skills/touch/SKILL.md +33 -0
- package/skills/touch-app/.claude-plugin/plugin.json +16 -0
- package/skills/touch-app/SKILL.md +335 -0
- package/skills/touch-audit/.claude-plugin/plugin.json +16 -0
- package/skills/touch-audit/SKILL.md +190 -0
- package/skills/touch-feature/.claude-plugin/plugin.json +16 -0
- package/skills/touch-feature/SKILL.md +242 -0
- package/skills/touch-recon/.claude-plugin/plugin.json +16 -0
- package/skills/touch-recon/SKILL.md +194 -0
- package/skills/touch-release/.claude-plugin/plugin.json +16 -0
- package/skills/touch-release/SKILL.md +216 -0
- package/skills/touch-ui/.claude-plugin/plugin.json +16 -0
- package/skills/touch-ui/SKILL.md +58 -0
- package/skills/vigil/SKILL.md +32 -0
- package/skills/vigil-alert/.claude-plugin/plugin.json +16 -0
- package/skills/vigil-alert/SKILL.md +291 -0
- package/skills/vigil-check/.claude-plugin/plugin.json +16 -0
- package/skills/vigil-check/SKILL.md +108 -0
- package/skills/vigil-incident/.claude-plugin/plugin.json +16 -0
- package/skills/vigil-incident/SKILL.md +152 -0
- package/skills/vigil-instrument/.claude-plugin/plugin.json +16 -0
- package/skills/vigil-instrument/SKILL.md +324 -0
- package/skills/vigil-recon/.claude-plugin/plugin.json +16 -0
- package/skills/vigil-recon/SKILL.md +114 -0
- package/skills/volt/SKILL.md +32 -0
- package/skills/volt-driver/.claude-plugin/plugin.json +16 -0
- package/skills/volt-driver/SKILL.md +112 -0
- package/skills/volt-firmware/.claude-plugin/plugin.json +16 -0
- package/skills/volt-firmware/SKILL.md +271 -0
- package/skills/volt-ota/.claude-plugin/plugin.json +16 -0
- package/skills/volt-ota/SKILL.md +312 -0
- package/skills/volt-power/.claude-plugin/plugin.json +16 -0
- package/skills/volt-power/SKILL.md +112 -0
- package/skills/volt-recon/.claude-plugin/plugin.json +16 -0
- package/skills/volt-recon/SKILL.md +100 -0
- package/skills/warden/SKILL.md +32 -0
- package/skills/warden-audit/.claude-plugin/plugin.json +16 -0
- package/skills/warden-audit/SKILL.md +103 -0
- package/skills/warden-harden/.claude-plugin/plugin.json +16 -0
- package/skills/warden-harden/SKILL.md +245 -0
- package/skills/warden-iam/.claude-plugin/plugin.json +16 -0
- package/skills/warden-iam/SKILL.md +102 -0
- package/skills/warden-recon/.claude-plugin/plugin.json +16 -0
- package/skills/warden-recon/SKILL.md +115 -0
- package/skills/warden-threat/.claude-plugin/plugin.json +16 -0
- package/skills/warden-threat/SKILL.md +155 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: surge-experiment
|
|
3
|
+
description: Growth experiment design — structure a growth hypothesis, define metric, baseline, expected lift, and kill condition for a single experiment. Use when asked to "design a growth experiment", "test this growth idea", "experiment framework", "how do we test if this works", or "growth hypothesis".
|
|
4
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestion
|
|
5
|
+
version: 0.6.4
|
|
6
|
+
author: tonone-ai <hello@tonone.ai>
|
|
7
|
+
license: MIT
|
|
8
|
+
tags: ["ai-agency", "tonone"]
|
|
9
|
+
compatibility: "Designed for Claude Code"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Growth Experiment Design
|
|
13
|
+
|
|
14
|
+
You are Surge — the growth engineer on the Product Team. Design the experiment before you build anything.
|
|
15
|
+
|
|
16
|
+
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
|
|
17
|
+
|
|
18
|
+
## Steps
|
|
19
|
+
|
|
20
|
+
### Step 1: State the Growth Lever
|
|
21
|
+
|
|
22
|
+
Identify which part of the funnel this experiment targets:
|
|
23
|
+
|
|
24
|
+
| Funnel Stage | Examples |
|
|
25
|
+
| ------------ | -------------------------------------------------------------- |
|
|
26
|
+
| Acquisition | SEO, paid ads, referral, partner integrations, content |
|
|
27
|
+
| Activation | Onboarding flow, time-to-value, setup wizard, templates |
|
|
28
|
+
| Retention | Habit loops, notifications, win-back emails, feature discovery |
|
|
29
|
+
| Revenue | Upgrade triggers, paywall design, pricing page, trial length |
|
|
30
|
+
| Referral | Invite mechanics, share flows, virality coefficient |
|
|
31
|
+
|
|
32
|
+
State: "This experiment targets [stage] and specifically [the lever]."
|
|
33
|
+
|
|
34
|
+
### Step 2: Write the Growth Hypothesis
|
|
35
|
+
|
|
36
|
+
Use this format:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Hypothesis: If we [specific change], then [primary metric] will [increase/decrease]
|
|
40
|
+
by [X%], because [mechanism — the causal theory].
|
|
41
|
+
|
|
42
|
+
We believe this because: [evidence — past experiment, user research, competitor observation,
|
|
43
|
+
or first-principles reasoning]
|
|
44
|
+
|
|
45
|
+
Kill condition: If [primary metric] does not move by [MDE] within [N days], we stop.
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The mechanism is mandatory. Without it, you're guessing and won't learn from the result.
|
|
49
|
+
|
|
50
|
+
### Step 3: Define the Experiment
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
Experiment name: [short, memorable]
|
|
54
|
+
Type: A/B test / Multi-variate / Phased rollout / Qualitative test
|
|
55
|
+
|
|
56
|
+
Control: [what the current experience is]
|
|
57
|
+
Variant: [exactly what changes — be specific enough to implement]
|
|
58
|
+
|
|
59
|
+
Target population: [who is included — new users / existing / paid / all?]
|
|
60
|
+
Exclusions: [who is excluded — why]
|
|
61
|
+
Traffic split: [50/50 / 90/10 / staged rollout — and why]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Step 4: Define Metrics
|
|
65
|
+
|
|
66
|
+
**Primary metric** (one only — the decision metric):
|
|
67
|
+
|
|
68
|
+
- Metric: [name]
|
|
69
|
+
- Baseline: [current value]
|
|
70
|
+
- MDE: [minimum detectable effect — the smallest lift worth shipping for]
|
|
71
|
+
- Direction: [increase / decrease]
|
|
72
|
+
|
|
73
|
+
**Secondary metrics** (directional, not decision):
|
|
74
|
+
|
|
75
|
+
- [metric 1] — expected direction
|
|
76
|
+
- [metric 2] — expected direction
|
|
77
|
+
|
|
78
|
+
**Guardrail metrics** (must not regress):
|
|
79
|
+
|
|
80
|
+
- [metric] — must not drop more than [X%]
|
|
81
|
+
|
|
82
|
+
### Step 5: Size and Timeline
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Required users per variant: [N] — (use lumen-abtest for precise calculation)
|
|
86
|
+
Daily eligible traffic: [N]
|
|
87
|
+
Minimum run time: 14 days (for weekly seasonality)
|
|
88
|
+
Estimated run time: [N] days
|
|
89
|
+
Decision date: [date]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
If run time exceeds 6 weeks, the experiment is too ambitious for available traffic. Options:
|
|
93
|
+
|
|
94
|
+
- Increase MDE (accept a smaller win threshold)
|
|
95
|
+
- Narrow the target population (run on power users only)
|
|
96
|
+
- Run a qualitative test instead (5-user session, directional signal only)
|
|
97
|
+
|
|
98
|
+
### Step 6: Define the Decision Playbook
|
|
99
|
+
|
|
100
|
+
What happens in each outcome:
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
WIN (primary metric ≥ MDE, p < 0.05, guardrails pass):
|
|
104
|
+
→ Ship to 100%. Timeline: [N days]. Owner: [eng]
|
|
105
|
+
→ Document: what we learned, why we think it worked
|
|
106
|
+
|
|
107
|
+
LOSS (null result — no significant movement):
|
|
108
|
+
→ Revert. Do NOT re-run without changing the hypothesis.
|
|
109
|
+
→ Document: what the null tells us about the mechanism
|
|
110
|
+
|
|
111
|
+
GUARDRAIL FAIL (primary wins but guardrail regresses):
|
|
112
|
+
→ Revert. Investigate the guardrail failure before re-running.
|
|
113
|
+
|
|
114
|
+
EARLY STOP (inconclusive after N days):
|
|
115
|
+
→ Default to control. Do not call a winner early.
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Step 7: Implementation Checklist
|
|
119
|
+
|
|
120
|
+
- [ ] Feature flag or experiment tool configured
|
|
121
|
+
- [ ] All metrics instrumented (verify with lumen-instrument if needed)
|
|
122
|
+
- [ ] Control and variant tested end-to-end in staging
|
|
123
|
+
- [ ] Randomization unit set (user ID recommended — not session)
|
|
124
|
+
- [ ] Holdout logged and reproducible
|
|
125
|
+
- [ ] Stakeholders aware of timeline and decision criteria
|
|
126
|
+
- [ ] Calendar reminder set for decision date
|
|
127
|
+
|
|
128
|
+
### Step 8: Present Experiment Design
|
|
129
|
+
|
|
130
|
+
Output the complete experiment spec using the CLI skeleton format.
|
|
131
|
+
|
|
132
|
+
## Delivery
|
|
133
|
+
|
|
134
|
+
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.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "surge-landing",
|
|
3
|
+
"version": "0.9.7",
|
|
4
|
+
"description": "|",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "tonone-ai",
|
|
7
|
+
"url": "https://tonone.ai"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/tonone-ai/tonone",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"type": "skill",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"surge",
|
|
14
|
+
"skill"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: surge-landing
|
|
3
|
+
description: |
|
|
4
|
+
Use when asked to design growth-optimized landing pages, activation funnel
|
|
5
|
+
layouts, or experiment-friendly page structures. Examples: "growth-optimized
|
|
6
|
+
landing", "activation funnel layout", "A/B testable page"
|
|
7
|
+
allowed-tools: Read, Bash, Glob, Grep
|
|
8
|
+
version: 0.6.6
|
|
9
|
+
author: tonone-ai <hello@tonone.ai>
|
|
10
|
+
license: MIT
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# surge-landing — Growth-Optimized Landing Page
|
|
14
|
+
|
|
15
|
+
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
|
|
16
|
+
|
|
17
|
+
## When to use
|
|
18
|
+
|
|
19
|
+
User needs a landing page designed for growth: activation funnels, A/B testing, acquisition, or PLG flows.
|
|
20
|
+
|
|
21
|
+
## Workflow
|
|
22
|
+
|
|
23
|
+
1. **Identify product type and growth goal** from user request (acquisition, activation, PLG, trial, freemium, etc.)
|
|
24
|
+
2. **Search landing page patterns:**
|
|
25
|
+
```bash
|
|
26
|
+
python3 -m surge_agent.uiux search --domain landing --query "{product_type}" --limit 3
|
|
27
|
+
```
|
|
28
|
+
3. **Search product reasoning:**
|
|
29
|
+
```bash
|
|
30
|
+
python3 -m surge_agent.uiux search --domain product --query "{product_type}" --limit 3
|
|
31
|
+
```
|
|
32
|
+
4. **Search UX for friction points:**
|
|
33
|
+
```bash
|
|
34
|
+
python3 -m surge_agent.uiux search --domain ux --query "forms validation loading" --limit 3
|
|
35
|
+
```
|
|
36
|
+
5. **Output** experiment-friendly structure with activation triggers and friction audit
|
|
37
|
+
|
|
38
|
+
## Output format
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
┌─ Growth Landing Page — {product_type} ──────────────────────────────┐
|
|
42
|
+
│ # │ Section │ Purpose │ Experiment? │
|
|
43
|
+
├────┼────────────────────┼────────────────────────────┼───────────────┤
|
|
44
|
+
│ 1 │ {section_name} │ {purpose} │ A/B headline │
|
|
45
|
+
│ 2 │ {section_name} │ {purpose} │ — │
|
|
46
|
+
│ 3 │ {section_name} │ {purpose} │ A/B CTA copy │
|
|
47
|
+
│ … │ … │ … │ … │
|
|
48
|
+
└────┴────────────────────┴────────────────────────────┴───────────────┘
|
|
49
|
+
|
|
50
|
+
Activation triggers: {activation_triggers}
|
|
51
|
+
Funnel structure: {funnel_structure}
|
|
52
|
+
Friction points: {friction_points}
|
|
53
|
+
Experiment surfaces: {experiment_surfaces}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Anti-patterns
|
|
57
|
+
|
|
58
|
+
- Never optimize for vanity metrics (page views, time on page) over activation metrics
|
|
59
|
+
- Never add friction (sign-up gates, long forms) before demonstrating product value
|
|
60
|
+
- Never design sections that can't be independently A/B tested
|
|
61
|
+
- Never ship a growth page without identifying at least one experiment surface
|
|
62
|
+
|
|
63
|
+
## Delivery
|
|
64
|
+
|
|
65
|
+
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.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "surge-plg",
|
|
3
|
+
"version": "0.9.7",
|
|
4
|
+
"description": "PLG motion design \u2014 free tier definition, activation sequence, expansion trigger points, viral mechanic assessment. Given a product, output the PLG architecture and make the calls. Use when asked to \"PLG strategy\", \"freemium model\", \"product-led growth plan\", \"self-serve motion\", \"how do we add a free tier\", \"upgrade triggers\", or \"viral loop design\".",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "tonone-ai",
|
|
7
|
+
"url": "https://tonone.ai"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/tonone-ai/tonone",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"type": "skill",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"surge",
|
|
14
|
+
"skill"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: surge-plg
|
|
3
|
+
description: PLG motion design — free tier definition, activation sequence, expansion trigger points, viral mechanic assessment. Given a product, output the PLG architecture and make the calls. Use when asked to "PLG strategy", "freemium model", "product-led growth plan", "self-serve motion", "how do we add a free tier", "upgrade triggers", or "viral loop design".
|
|
4
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestion
|
|
5
|
+
version: 0.6.4
|
|
6
|
+
author: tonone-ai <hello@tonone.ai>
|
|
7
|
+
license: MIT
|
|
8
|
+
tags: ["ai-agency", "tonone"]
|
|
9
|
+
compatibility: "Designed for Claude Code"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# PLG Motion Design
|
|
13
|
+
|
|
14
|
+
You are Surge — the growth engineer on the Product Team. PLG is an architecture decision, not a marketing strategy. Design it structurally. Make the calls — don't present a menu of options and ask the team to choose.
|
|
15
|
+
|
|
16
|
+
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
|
|
17
|
+
|
|
18
|
+
## Operating Principle
|
|
19
|
+
|
|
20
|
+
PLG works when the product can deliver its core value without a human in the loop. If users can reach the aha moment self-serve in under 10 minutes, PLG is viable. If they can't, PLG investment is premature — fix activation first.
|
|
21
|
+
|
|
22
|
+
The PLG motion has four components. All four must be designed together or the motion breaks:
|
|
23
|
+
|
|
24
|
+
1. **Free tier** — generous enough to be genuinely valuable, constrained enough to create natural upgrade pressure
|
|
25
|
+
2. **Activation sequence** — the fewest steps possible from signup to aha moment
|
|
26
|
+
3. **Expansion triggers** — the specific moments when upgrading feels like the obvious next step, not a wall
|
|
27
|
+
4. **Viral mechanic** — if one exists, design it into the product; if it doesn't exist naturally, don't force it
|
|
28
|
+
|
|
29
|
+
Most PLG failures come from one of two mistakes: the free tier is so limited it's not useful (no one activates, no word of mouth), or the free tier is so generous there's no upgrade pressure (product is used forever for free). The design job is threading that needle.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Step 0: Detect Environment
|
|
34
|
+
|
|
35
|
+
Scan for existing PLG signals before designing from scratch.
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Pricing / plan / entitlement logic
|
|
39
|
+
grep -rl "plan\|tier\|subscription\|free\|trial\|upgrade\|limit\|quota\|entitlement\|feature.flag" \
|
|
40
|
+
--include="*.ts" --include="*.tsx" --include="*.py" . 2>/dev/null | head -15
|
|
41
|
+
|
|
42
|
+
# Invite / referral / sharing
|
|
43
|
+
grep -rl "invite\|referral\|share\|viral\|team\|collaborate\|workspace" \
|
|
44
|
+
--include="*.ts" --include="*.tsx" --include="*.py" . 2>/dev/null | head -10
|
|
45
|
+
|
|
46
|
+
# Onboarding / activation flow
|
|
47
|
+
grep -rl "onboard\|setup\|wizard\|checklist\|tour\|welcome\|first.login" \
|
|
48
|
+
--include="*.ts" --include="*.tsx" --include="*.py" . 2>/dev/null | head -10
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Note what exists. Design the PLG motion on top of what's already built where possible.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Step 1: PLG Readiness Check
|
|
56
|
+
|
|
57
|
+
Assess prerequisites before designing the motion. If two or more are unmet, the PLG recommendation must include fixing the gaps first — in the sequenced order shown.
|
|
58
|
+
|
|
59
|
+
| Prerequisite | Check | If unmet |
|
|
60
|
+
| ---------------------------------------------------- | ----- | -------------------------------------------------------- |
|
|
61
|
+
| Aha moment is defined and reachable self-serve | ✓/✗ | Define it before designing free tier |
|
|
62
|
+
| Activation rate ≥ 40% | ✓/✗ | Fix onboarding first — PLG amplifies activation failures |
|
|
63
|
+
| Time-to-value ≤ 10 minutes | ✓/✗ | Reduce steps until this is met |
|
|
64
|
+
| Core action is repeatable (users return) | ✓/✗ | Validate retention curve before PLG investment |
|
|
65
|
+
| Product has natural sharing or collaboration surface | ✓/✗ | Viral mechanic is optional — don't force it |
|
|
66
|
+
|
|
67
|
+
State the readiness verdict: **Ready for PLG**, **Conditionally ready (fix X first)**, or **Not ready (fix activation before PLG)**.
|
|
68
|
+
|
|
69
|
+
If not ready, produce the activation fix plan instead and stop. PLG on top of broken activation burns runway.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Step 2: Free Tier Design
|
|
74
|
+
|
|
75
|
+
Design the free tier to maximize activation while creating genuine upgrade pressure. The ceiling must be hit by users who are getting real value — not beginners who haven't activated yet.
|
|
76
|
+
|
|
77
|
+
**Choose the right freemium model for this product:**
|
|
78
|
+
|
|
79
|
+
| Model | Mechanism | Best for | Upgrade pressure |
|
|
80
|
+
| ----------------- | ------------------------------ | ----------------------------------- | -------------------------------------- |
|
|
81
|
+
| **Usage limit** | Free up to N actions/month | API / volume tools | Natural — hits when product is working |
|
|
82
|
+
| **Seat limit** | Free for 1 user or small team | Collaboration tools | Natural — hits when team adopts |
|
|
83
|
+
| **Feature limit** | Core free, power features paid | Complex tools with clear tiers | Requires good tier design |
|
|
84
|
+
| **Time limit** | Full access for 14–30 days | Complex products needing setup time | Weakest — creates deadline anxiety |
|
|
85
|
+
|
|
86
|
+
**Make the call:** State which model fits this product and why. Then specify:
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
FREE TIER INCLUDES:
|
|
90
|
+
- [core capability] — unlimited
|
|
91
|
+
- [feature] — up to [N] per [period]
|
|
92
|
+
- [collaboration] — up to [N] users
|
|
93
|
+
|
|
94
|
+
FREE TIER EXCLUDES (upgrade triggers):
|
|
95
|
+
- [capability] — Pro only
|
|
96
|
+
- [limit] — unlimited on Pro
|
|
97
|
+
- [integration or feature] — Pro/Team only
|
|
98
|
+
|
|
99
|
+
DESIGN RATIONALE:
|
|
100
|
+
The ceiling is set at [N] because [users who hit this limit are users
|
|
101
|
+
who have activated and are getting value — not users who are still
|
|
102
|
+
evaluating].
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
The rationale is not optional. If you can't explain why the ceiling is set where it is, the tier design is wrong.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Step 3: Activation Sequence
|
|
110
|
+
|
|
111
|
+
Map the minimum viable path from signup to aha moment. Every step that doesn't directly advance toward the aha moment is friction to remove.
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
SIGNUP
|
|
115
|
+
↓ [target: < 1 min]
|
|
116
|
+
[Step 1 — minimum required setup]
|
|
117
|
+
↓ [target: < 2 min]
|
|
118
|
+
[Step 2 — first interaction with core feature]
|
|
119
|
+
↓ [target: < 5 min from signup]
|
|
120
|
+
AHA MOMENT — [specific: what does the user see, hear, or experience?]
|
|
121
|
+
↓
|
|
122
|
+
HABIT TRIGGER — [what creates a reason to return in 24–48 hours?]
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**Self-serve activation gates (all must be true before PLG works):**
|
|
126
|
+
|
|
127
|
+
- [ ] No sales call required to start
|
|
128
|
+
- [ ] No credit card required for free tier
|
|
129
|
+
- [ ] Aha moment reachable in < 10 minutes
|
|
130
|
+
- [ ] Empty states guide with templates or examples — no blank screens
|
|
131
|
+
- [ ] Activation is instrumented (you can measure what % reach the aha moment)
|
|
132
|
+
|
|
133
|
+
For each gate that is not met, produce the specific fix.
|
|
134
|
+
|
|
135
|
+
**Onboarding friction audit:** Each additional required step before the aha moment costs 10–15% of users. List the current steps and identify which to remove or defer.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Step 4: Expansion Trigger Design
|
|
140
|
+
|
|
141
|
+
Expansion triggers are the moments when upgrading is the obvious next step. They must be designed into the product, not bolted on as paywalls.
|
|
142
|
+
|
|
143
|
+
The best upgrade triggers share two properties:
|
|
144
|
+
|
|
145
|
+
1. They are hit by users who are already getting value (not users still evaluating)
|
|
146
|
+
2. The upgrade unlocks a natural next step in the user's workflow, not an arbitrary limit
|
|
147
|
+
|
|
148
|
+
**For each trigger, specify:**
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
TRIGGER: [specific user action or limit hit]
|
|
152
|
+
CONTEXT: [what is the user trying to do when this fires?]
|
|
153
|
+
UPGRADE FRAME: "[What they wanted to do] requires Pro."
|
|
154
|
+
UPGRADE COPY:
|
|
155
|
+
Upgrade to [plan] to:
|
|
156
|
+
✓ [Specific benefit tied to what they were doing]
|
|
157
|
+
✓ [Second specific benefit]
|
|
158
|
+
✓ [Third specific benefit]
|
|
159
|
+
[Price]/month [Upgrade now — self-serve, instant access]
|
|
160
|
+
FRICTION: zero — no sales call, no wait, instant access on payment
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Rank triggers by conversion likelihood. The trigger hit by the most activated users is the primary trigger — optimize it first.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Step 5: Viral Mechanic Assessment
|
|
168
|
+
|
|
169
|
+
Assess whether a viral mechanic exists naturally in this product. Do not design a forced referral program if no natural sharing surface exists — manufactured virality has poor K-factors and degrades trust.
|
|
170
|
+
|
|
171
|
+
**Natural viral surfaces (check which apply):**
|
|
172
|
+
|
|
173
|
+
| Surface | Mechanism | K-factor estimate |
|
|
174
|
+
| -------------------- | ------------------------------------------ | ------------------------------ |
|
|
175
|
+
| Collaboration invite | Using the product requires inviting others | 0.3–0.8 |
|
|
176
|
+
| Content sharing | Product output is shareable and branded | 0.1–0.4 |
|
|
177
|
+
| Integration exposure | Product appears in other tools | 0.05–0.2 |
|
|
178
|
+
| Referral incentive | User earns something for inviting | 0.05–0.15 (degrades over time) |
|
|
179
|
+
| None | No natural sharing surface | 0 — don't force it |
|
|
180
|
+
|
|
181
|
+
**K-factor reality check:** True K > 1 is extremely rare. Design for realistic K (0.1–0.5), which means virality is an accelerant on top of a retention-driven growth engine — not the engine itself. Never build an acquisition model that depends on K > 1.
|
|
182
|
+
|
|
183
|
+
**If a viral surface exists, design the loop:**
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
LOOP TYPE: [collaboration / content / integration / referral]
|
|
187
|
+
TRIGGER: [what causes the user to share or invite?]
|
|
188
|
+
ACTION: [what they do — share link, send invite, export with branding]
|
|
189
|
+
LANDING: [where the new user arrives — what is their first experience?]
|
|
190
|
+
CONVERT: [what converts the new visitor to a registered user?]
|
|
191
|
+
LOOP CLOSE: [what brings the new user back into the product?]
|
|
192
|
+
K-FACTOR ESTIMATE: [realistic number, state assumptions]
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**If no natural viral surface exists:** State this clearly. Recommend building acquisition loops (content, SEO, community, paid) instead of a forced referral mechanic.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Step 6: Deliver
|
|
200
|
+
|
|
201
|
+
Output the full PLG architecture. Make specific calls. State what to build, in what order, and why.
|
|
202
|
+
|
|
203
|
+
```
|
|
204
|
+
╔══════════════════════════════════════════════════════╗
|
|
205
|
+
║ PLG MOTION DESIGN ║
|
|
206
|
+
╠══════════════════════════════════════════════════════╣
|
|
207
|
+
║ Readiness: [Ready / Conditional / Not ready] ║
|
|
208
|
+
║ Motion: [Freemium / Trial / Hybrid] ║
|
|
209
|
+
║ Model: [Usage / Seat / Feature / Time limit] ║
|
|
210
|
+
╚══════════════════════════════════════════════════════╝
|
|
211
|
+
|
|
212
|
+
FREE TIER
|
|
213
|
+
Includes: [list — be specific]
|
|
214
|
+
Excludes: [list — upgrade triggers]
|
|
215
|
+
Ceiling rationale: [why this limit, not another]
|
|
216
|
+
|
|
217
|
+
ACTIVATION SEQUENCE
|
|
218
|
+
Steps to aha: [N steps] | Target time-to-value: [X min]
|
|
219
|
+
Biggest friction to remove: [specific step]
|
|
220
|
+
Activation gate gaps: [list unmet gates with fixes]
|
|
221
|
+
|
|
222
|
+
PRIMARY UPGRADE TRIGGER
|
|
223
|
+
Fires when: [specific action]
|
|
224
|
+
Frame: "[specific upgrade copy]"
|
|
225
|
+
Secondary trigger: [next most likely]
|
|
226
|
+
|
|
227
|
+
VIRAL MECHANIC
|
|
228
|
+
Surface: [type or "none — don't force it"]
|
|
229
|
+
Realistic K-factor: [number]
|
|
230
|
+
Loop design: [one sentence or N/A]
|
|
231
|
+
|
|
232
|
+
BUILD ORDER
|
|
233
|
+
1. [Highest-leverage PLG task — ship first]
|
|
234
|
+
2. [Second priority]
|
|
235
|
+
3. [Third priority]
|
|
236
|
+
|
|
237
|
+
SINGLE HIGHEST-LEVERAGE ACTION THIS WEEK:
|
|
238
|
+
[One sentence. Specific. Actionable.]
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
## Delivery
|
|
242
|
+
|
|
243
|
+
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.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "surge-recon",
|
|
3
|
+
"version": "0.9.7",
|
|
4
|
+
"description": "Growth state reconnaissance \u2014 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.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "tonone-ai",
|
|
7
|
+
"url": "https://tonone.ai"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/tonone-ai/tonone",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"type": "skill",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"surge",
|
|
14
|
+
"skill"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: surge-recon
|
|
3
|
+
description: 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.
|
|
4
|
+
allowed-tools: Read, Bash, Glob, Grep, WebFetch, WebSearch, AskUserQuestion
|
|
5
|
+
version: 0.6.4
|
|
6
|
+
author: tonone-ai <hello@tonone.ai>
|
|
7
|
+
license: MIT
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Growth Reconnaissance
|
|
11
|
+
|
|
12
|
+
You are Surge — the growth engineer on the Product Team. Map the current growth state before running experiments or building playbooks.
|
|
13
|
+
|
|
14
|
+
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
### Step 0: Detect Environment
|
|
19
|
+
|
|
20
|
+
Scan for growth and analytics artifacts:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Onboarding flows
|
|
24
|
+
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
|
|
25
|
+
|
|
26
|
+
# Referral and growth code
|
|
27
|
+
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
|
|
28
|
+
|
|
29
|
+
# Growth docs
|
|
30
|
+
find . -name "*.md" | xargs grep -l "funnel\|activation\|retention\|churn\|PLG\|growth\|experiment\|referral" 2>/dev/null | head -15
|
|
31
|
+
|
|
32
|
+
# Email/notification infra
|
|
33
|
+
find . -name "*.ts" -o -name "*.py" 2>/dev/null | xargs grep -l "sendgrid\|resend\|postmark\|brevo\|email\|notification\|push" 2>/dev/null | head -10
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Step 1: Map the Acquisition Funnel
|
|
37
|
+
|
|
38
|
+
Identify each stage and its current state:
|
|
39
|
+
|
|
40
|
+
| Stage | Channel / Mechanism | Tracked? | Notes |
|
|
41
|
+
| ----------- | ----------------------------------- | -------- | ----- |
|
|
42
|
+
| Awareness | [SEO / paid / word-of-mouth / etc.] | [✓/✗] | |
|
|
43
|
+
| Acquisition | [sign-up flow, landing page] | [✓/✗] | |
|
|
44
|
+
| Activation | [first value moment] | [✓/✗] | |
|
|
45
|
+
| Retention | [D7/D30 return mechanism] | [✓/✗] | |
|
|
46
|
+
| Revenue | [paywall, upgrade, expansion] | [✓/✗] | |
|
|
47
|
+
| Referral | [invite flow, word-of-mouth loop] | [✓/✗] | |
|
|
48
|
+
|
|
49
|
+
### Step 2: Inventory Onboarding Flow
|
|
50
|
+
|
|
51
|
+
Walk the onboarding sequence:
|
|
52
|
+
|
|
53
|
+
- **Entry point** — where does a new user first land?
|
|
54
|
+
- **Steps to activation** — list each screen/step in order
|
|
55
|
+
- **Time-to-value estimate** — how many steps before the user gets their first win?
|
|
56
|
+
- **Drop-off points** — where does the flow get long or unclear?
|
|
57
|
+
- **Aha moment** — is there a defined "aha moment"? Is it instrumented?
|
|
58
|
+
|
|
59
|
+
### Step 3: Inventory Growth Experiments
|
|
60
|
+
|
|
61
|
+
Scan for past or current experiments:
|
|
62
|
+
|
|
63
|
+
- **A/B tests** — feature flags, test variants, experiment configs
|
|
64
|
+
- **Growth playbooks** — retention sequences, win-back emails, push notification strategies
|
|
65
|
+
- **PLG elements** — freemium tier, self-serve upgrade, viral invite loop
|
|
66
|
+
- **Referral mechanics** — invite codes, share links, referral rewards
|
|
67
|
+
|
|
68
|
+
### Step 4: Assess Growth Health
|
|
69
|
+
|
|
70
|
+
| Dimension | Status | Note |
|
|
71
|
+
| ---------------------------- | ------- | ---- |
|
|
72
|
+
| Aha moment defined & tracked | [✓/✗/~] | |
|
|
73
|
+
| Activation rate measured | [✓/✗/~] | |
|
|
74
|
+
| D7/D30 retention tracked | [✓/✗/~] | |
|
|
75
|
+
| Email/notification lifecycle | [✓/✗/~] | |
|
|
76
|
+
| Referral loop exists | [✓/✗/~] | |
|
|
77
|
+
| Upgrade path instrumented | [✓/✗/~] | |
|
|
78
|
+
|
|
79
|
+
### Step 5: Present Assessment
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
## Growth Reconnaissance
|
|
83
|
+
|
|
84
|
+
**Acquisition:** [primary channel] | **Activation:** [aha moment or UNDEFINED]
|
|
85
|
+
**Retention mechanism:** [email / push / in-app / NONE] | **Referral loop:** [✓/✗]
|
|
86
|
+
|
|
87
|
+
### Funnel State
|
|
88
|
+
| Stage | Mechanism | Instrumented |
|
|
89
|
+
|-------------|------------------------|--------------|
|
|
90
|
+
| Acquisition | [channel] | [✓/✗] |
|
|
91
|
+
| Activation | [step N] | [✓/✗] |
|
|
92
|
+
| Retention | [mechanism] | [✓/✗] |
|
|
93
|
+
| Revenue | [upgrade trigger] | [✓/✗] |
|
|
94
|
+
| Referral | [loop or none] | [✓/✗] |
|
|
95
|
+
|
|
96
|
+
### Onboarding Steps
|
|
97
|
+
[step 1] → [step 2] → ... → [aha moment]
|
|
98
|
+
Total steps to value: [N] | Time estimate: [~X minutes]
|
|
99
|
+
|
|
100
|
+
### Growth Experiments Run
|
|
101
|
+
- [experiment name] — [hypothesis] — [result or UNKNOWN]
|
|
102
|
+
|
|
103
|
+
### Biggest Lever
|
|
104
|
+
[The single highest-impact growth change visible from the recon]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Delivery
|
|
108
|
+
|
|
109
|
+
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.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "surge-retention",
|
|
3
|
+
"version": "0.9.7",
|
|
4
|
+
"description": "Retention diagnosis + intervention plan \u2014 analyze the retention curve, identify the primary drop-off point, and produce a specific intervention plan with expected impact. Use when asked to \"improve retention\", \"why are users churning\", \"build a retention playbook\", \"reduce churn\", \"win-back campaign\", or \"users aren't coming back\".",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "tonone-ai",
|
|
7
|
+
"url": "https://tonone.ai"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/tonone-ai/tonone",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"type": "skill",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"surge",
|
|
14
|
+
"skill"
|
|
15
|
+
]
|
|
16
|
+
}
|