@intentsolutionsio/tonone 0.9.7 → 0.9.18
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/marketplace.json +2422 -123
- package/.claude-plugin/plugin.json +13 -35
- package/README.md +132 -27
- package/agents/audit.md +61 -0
- package/agents/axe.md +57 -0
- package/agents/bench.md +57 -0
- package/agents/bind.md +69 -0
- package/agents/blue.md +57 -0
- package/agents/brace.md +125 -0
- package/agents/brief.md +69 -0
- package/agents/budget.md +61 -0
- package/agents/buzz.md +169 -0
- package/agents/cache.md +57 -0
- package/agents/cast.md +57 -0
- package/agents/chain.md +57 -0
- package/agents/change.md +57 -0
- package/agents/chaos.md +57 -0
- package/agents/cite.md +61 -0
- package/agents/clause.md +61 -0
- package/agents/clean.md +57 -0
- package/agents/compat.md +57 -0
- package/agents/copy.md +57 -0
- package/agents/cut.md +57 -0
- package/agents/deal.md +162 -0
- package/agents/deploy.md +61 -0
- package/agents/drift.md +57 -0
- package/agents/edge.md +57 -0
- package/agents/embed.md +61 -0
- package/agents/eval.md +57 -0
- package/agents/evals.md +61 -0
- package/agents/feat.md +57 -0
- package/agents/finop.md +57 -0
- package/agents/fit.md +57 -0
- package/agents/folk.md +139 -0
- package/agents/frame.md +61 -0
- package/agents/gate.md +57 -0
- package/agents/glyph.md +57 -0
- package/agents/grid.md +57 -0
- package/agents/guard.md +61 -0
- package/agents/guide.md +57 -0
- package/agents/hue.md +57 -0
- package/agents/hunt.md +57 -0
- package/agents/ink.md +171 -0
- package/agents/keel.md +140 -0
- package/agents/keep.md +174 -0
- package/agents/kube.md +57 -0
- package/agents/lodge.md +61 -0
- package/agents/mark.md +57 -0
- package/agents/mesh.md +57 -0
- package/agents/mint.md +146 -0
- package/agents/mock.md +57 -0
- package/agents/move.md +57 -0
- package/agents/multi.md +57 -0
- package/agents/onboard.md +57 -0
- package/agents/patch.md +57 -0
- package/agents/phish.md +57 -0
- package/agents/plot.md +57 -0
- package/agents/port.md +57 -0
- package/agents/prompt.md +61 -0
- package/agents/queue.md +57 -0
- package/agents/rank.md +61 -0
- package/agents/red.md +57 -0
- package/agents/resp.md +57 -0
- package/agents/sample.md +57 -0
- package/agents/sast.md +57 -0
- package/agents/schema.md +57 -0
- package/agents/scope.md +61 -0
- package/agents/score.md +57 -0
- package/agents/serv.md +57 -0
- package/agents/shield.md +61 -0
- package/agents/siem.md +57 -0
- package/agents/terms.md +69 -0
- package/agents/terra.md +57 -0
- package/agents/token.md +61 -0
- package/agents/tone.md +57 -0
- package/agents/trace.md +61 -0
- package/agents/tune.md +57 -0
- package/agents/vect.md +57 -0
- package/agents/wire.md +57 -0
- package/agents/zero.md +57 -0
- package/package.json +1 -1
- package/skills/apex/SKILL.md +0 -2
- package/skills/apex-plan/.claude-plugin/plugin.json +2 -5
- package/skills/apex-recon/.claude-plugin/plugin.json +2 -5
- package/skills/apex-review/.claude-plugin/plugin.json +2 -5
- package/skills/apex-review/SKILL.md +9 -0
- package/skills/apex-status/.claude-plugin/plugin.json +2 -5
- package/skills/apex-takeover/.claude-plugin/plugin.json +2 -5
- package/skills/atlas/SKILL.md +0 -2
- package/skills/atlas-adr/.claude-plugin/plugin.json +2 -5
- package/skills/atlas-adr/SKILL.md +0 -2
- package/skills/atlas-changelog/.claude-plugin/plugin.json +2 -5
- package/skills/atlas-changelog/SKILL.md +0 -2
- package/skills/atlas-map/.claude-plugin/plugin.json +2 -5
- package/skills/atlas-map/SKILL.md +0 -2
- package/skills/atlas-onboard/.claude-plugin/plugin.json +2 -5
- package/skills/atlas-present/.claude-plugin/plugin.json +2 -5
- package/skills/atlas-present/SKILL.md +0 -2
- package/skills/atlas-recon/.claude-plugin/plugin.json +2 -5
- package/skills/atlas-report/.claude-plugin/plugin.json +2 -5
- package/skills/atlas-report/SKILL.md +0 -2
- package/skills/buzz/SKILL.md +30 -0
- package/skills/buzz-community/SKILL.md +195 -0
- package/skills/buzz-launch/SKILL.md +204 -0
- package/skills/buzz-pitch/SKILL.md +160 -0
- package/skills/buzz-recon/SKILL.md +117 -0
- package/skills/buzz-social/SKILL.md +137 -0
- package/skills/cortex/SKILL.md +0 -2
- package/skills/cortex-eval/.claude-plugin/plugin.json +2 -5
- package/skills/cortex-eval/SKILL.md +29 -8
- package/skills/cortex-integrate/.claude-plugin/plugin.json +2 -5
- package/skills/cortex-integrate/SKILL.md +0 -2
- package/skills/cortex-model/.claude-plugin/plugin.json +2 -5
- package/skills/cortex-model/SKILL.md +0 -2
- package/skills/cortex-prompt/.claude-plugin/plugin.json +2 -5
- package/skills/cortex-prompt/SKILL.md +0 -2
- package/skills/cortex-recon/.claude-plugin/plugin.json +2 -5
- package/skills/cortex-recon/SKILL.md +0 -2
- package/skills/crest/SKILL.md +0 -2
- package/skills/crest-compete/.claude-plugin/plugin.json +2 -5
- package/skills/crest-compete/SKILL.md +0 -2
- package/skills/crest-narrative/.claude-plugin/plugin.json +2 -5
- package/skills/crest-okr/.claude-plugin/plugin.json +2 -5
- package/skills/crest-okr/SKILL.md +0 -2
- package/skills/crest-recon/.claude-plugin/plugin.json +2 -5
- package/skills/crest-roadmap/.claude-plugin/plugin.json +2 -5
- package/skills/crest-roadmap/SKILL.md +0 -2
- package/skills/deal/SKILL.md +30 -0
- package/skills/deal-close/SKILL.md +138 -0
- package/skills/deal-pipeline/SKILL.md +117 -0
- package/skills/deal-playbook/SKILL.md +145 -0
- package/skills/deal-pricing/SKILL.md +141 -0
- package/skills/deal-recon/SKILL.md +111 -0
- package/skills/draft/SKILL.md +0 -2
- package/skills/draft-flow/.claude-plugin/plugin.json +2 -5
- package/skills/draft-ia/.claude-plugin/plugin.json +2 -5
- package/skills/draft-landing/.claude-plugin/plugin.json +2 -5
- package/skills/draft-patterns/.claude-plugin/plugin.json +2 -5
- package/skills/draft-recon/.claude-plugin/plugin.json +2 -5
- package/skills/draft-recon/SKILL.md +0 -2
- package/skills/draft-review/.claude-plugin/plugin.json +2 -5
- package/skills/draft-wireframe/.claude-plugin/plugin.json +3 -6
- package/skills/draft-wireframe/SKILL.md +78 -4
- package/skills/echo/SKILL.md +0 -2
- package/skills/echo-feedback/.claude-plugin/plugin.json +2 -5
- package/skills/echo-feedback/SKILL.md +0 -2
- package/skills/echo-interview/.claude-plugin/plugin.json +2 -5
- package/skills/echo-interview/SKILL.md +0 -2
- package/skills/echo-jobs/.claude-plugin/plugin.json +2 -5
- package/skills/echo-jobs/SKILL.md +0 -2
- package/skills/echo-recon/.claude-plugin/plugin.json +2 -5
- package/skills/echo-segment/.claude-plugin/plugin.json +2 -5
- package/skills/flux/SKILL.md +0 -2
- package/skills/flux-health/.claude-plugin/plugin.json +2 -5
- package/skills/flux-migrate/.claude-plugin/plugin.json +2 -5
- package/skills/flux-migrate/SKILL.md +0 -2
- package/skills/flux-pipeline/.claude-plugin/plugin.json +2 -5
- package/skills/flux-query/.claude-plugin/plugin.json +2 -5
- package/skills/flux-recon/.claude-plugin/plugin.json +2 -5
- package/skills/flux-schema/.claude-plugin/plugin.json +2 -5
- package/skills/flux-schema/SKILL.md +0 -2
- package/skills/forge/SKILL.md +0 -2
- package/skills/forge-audit/.claude-plugin/plugin.json +2 -5
- package/skills/forge-cost/.claude-plugin/plugin.json +2 -5
- package/skills/forge-cost/SKILL.md +26 -4
- package/skills/forge-diagnose/.claude-plugin/plugin.json +2 -5
- package/skills/forge-diagnose/SKILL.md +0 -2
- package/skills/forge-infra/.claude-plugin/plugin.json +2 -5
- package/skills/forge-infra/SKILL.md +0 -2
- package/skills/forge-network/.claude-plugin/plugin.json +2 -5
- package/skills/forge-network/SKILL.md +0 -2
- package/skills/forge-recon/.claude-plugin/plugin.json +2 -5
- package/skills/forge-recon/SKILL.md +0 -2
- package/skills/form/SKILL.md +0 -2
- package/skills/form-audit/.claude-plugin/plugin.json +2 -5
- package/skills/form-audit/SKILL.md +0 -2
- package/skills/form-brand/.claude-plugin/plugin.json +2 -5
- package/skills/form-brand/SKILL.md +0 -2
- package/skills/form-brief/.claude-plugin/plugin.json +13 -0
- package/skills/form-brief/SKILL.md +305 -0
- package/skills/form-component/.claude-plugin/plugin.json +2 -5
- package/skills/form-component/SKILL.md +0 -2
- package/skills/form-deck/.claude-plugin/plugin.json +2 -5
- package/skills/form-email/.claude-plugin/plugin.json +2 -5
- package/skills/form-email/SKILL.md +0 -2
- package/skills/form-exam/.claude-plugin/plugin.json +2 -5
- package/skills/form-logo/.claude-plugin/plugin.json +2 -5
- package/skills/form-logo/SKILL.md +0 -2
- package/skills/form-mobile/.claude-plugin/plugin.json +2 -5
- package/skills/form-mobile/SKILL.md +0 -2
- package/skills/form-palette/.claude-plugin/plugin.json +2 -5
- package/skills/form-social/.claude-plugin/plugin.json +2 -5
- package/skills/form-social/SKILL.md +0 -2
- package/skills/form-style/.claude-plugin/plugin.json +2 -5
- package/skills/form-tokens/.claude-plugin/plugin.json +2 -5
- package/skills/form-tokens/SKILL.md +0 -2
- package/skills/form-web/.claude-plugin/plugin.json +2 -5
- package/skills/form-web/SKILL.md +0 -2
- package/skills/helm/SKILL.md +0 -2
- package/skills/helm-arbiter/.claude-plugin/plugin.json +2 -5
- package/skills/helm-brief/.claude-plugin/plugin.json +2 -5
- package/skills/helm-handoff/.claude-plugin/plugin.json +2 -5
- package/skills/helm-plan/.claude-plugin/plugin.json +2 -5
- package/skills/helm-recon/.claude-plugin/plugin.json +2 -5
- package/skills/ink/SKILL.md +30 -0
- package/skills/ink-calendar/SKILL.md +147 -0
- package/skills/ink-case/SKILL.md +144 -0
- package/skills/ink-post/SKILL.md +139 -0
- package/skills/ink-recon/SKILL.md +113 -0
- package/skills/ink-seo/SKILL.md +154 -0
- package/skills/keep/SKILL.md +30 -0
- package/skills/keep-expand/SKILL.md +124 -0
- package/skills/keep-health/SKILL.md +143 -0
- package/skills/keep-onboard/SKILL.md +131 -0
- package/skills/keep-playbook/SKILL.md +140 -0
- package/skills/keep-recon/SKILL.md +102 -0
- package/skills/lens/SKILL.md +0 -2
- package/skills/lens-audit/.claude-plugin/plugin.json +2 -5
- package/skills/lens-chart/.claude-plugin/plugin.json +2 -5
- package/skills/lens-dashboard/.claude-plugin/plugin.json +2 -5
- package/skills/lens-dashboard/SKILL.md +0 -2
- package/skills/lens-metrics/.claude-plugin/plugin.json +2 -5
- package/skills/lens-metrics/SKILL.md +0 -2
- package/skills/lens-recon/.claude-plugin/plugin.json +2 -5
- package/skills/lens-report/.claude-plugin/plugin.json +2 -5
- package/skills/lens-report/SKILL.md +0 -2
- package/skills/lumen/SKILL.md +0 -2
- package/skills/lumen-abtest/.claude-plugin/plugin.json +2 -5
- package/skills/lumen-abtest/SKILL.md +0 -2
- package/skills/lumen-funnel/.claude-plugin/plugin.json +2 -5
- package/skills/lumen-instrument/.claude-plugin/plugin.json +2 -5
- package/skills/lumen-instrument/SKILL.md +0 -2
- package/skills/lumen-metrics/.claude-plugin/plugin.json +2 -5
- package/skills/lumen-recon/.claude-plugin/plugin.json +2 -5
- package/skills/pave/SKILL.md +0 -2
- package/skills/pave-audit/.claude-plugin/plugin.json +2 -5
- package/skills/pave-catalog/.claude-plugin/plugin.json +2 -5
- package/skills/pave-contribute/SKILL.md +142 -0
- package/skills/pave-env/.claude-plugin/plugin.json +2 -5
- package/skills/pave-golden/.claude-plugin/plugin.json +2 -5
- package/skills/pave-recon/.claude-plugin/plugin.json +2 -5
- package/skills/pave-recon/SKILL.md +0 -2
- package/skills/pitch/SKILL.md +0 -2
- package/skills/pitch-copy/.claude-plugin/plugin.json +2 -5
- package/skills/pitch-copy/SKILL.md +0 -2
- package/skills/pitch-landing/.claude-plugin/plugin.json +2 -5
- package/skills/pitch-launch/.claude-plugin/plugin.json +2 -5
- package/skills/pitch-launch/SKILL.md +0 -2
- package/skills/pitch-message/.claude-plugin/plugin.json +2 -5
- package/skills/pitch-position/.claude-plugin/plugin.json +2 -5
- package/skills/pitch-position/SKILL.md +0 -2
- package/skills/pitch-recon/.claude-plugin/plugin.json +2 -5
- package/skills/prism/SKILL.md +0 -2
- package/skills/prism-audit/.claude-plugin/plugin.json +2 -5
- package/skills/prism-chart/.claude-plugin/plugin.json +2 -5
- package/skills/prism-component/.claude-plugin/plugin.json +2 -5
- package/skills/prism-component/SKILL.md +0 -2
- package/skills/prism-dashboard/.claude-plugin/plugin.json +2 -5
- package/skills/prism-recon/.claude-plugin/plugin.json +2 -5
- package/skills/prism-stack/.claude-plugin/plugin.json +2 -5
- package/skills/prism-ui/.claude-plugin/plugin.json +2 -5
- package/skills/prism-ui/SKILL.md +0 -2
- package/skills/proof/SKILL.md +0 -2
- package/skills/proof-api/.claude-plugin/plugin.json +2 -5
- package/skills/proof-audit/.claude-plugin/plugin.json +2 -5
- package/skills/proof-design/.claude-plugin/plugin.json +2 -5
- package/skills/proof-design/SKILL.md +0 -2
- package/skills/proof-e2e/.claude-plugin/plugin.json +2 -5
- package/skills/proof-e2e/SKILL.md +0 -2
- package/skills/proof-recon/.claude-plugin/plugin.json +2 -5
- package/skills/proof-strategy/.claude-plugin/plugin.json +2 -5
- package/skills/relay/SKILL.md +0 -2
- package/skills/relay-audit/.claude-plugin/plugin.json +2 -5
- package/skills/relay-deploy/.claude-plugin/plugin.json +2 -5
- package/skills/relay-deploy/SKILL.md +0 -2
- package/skills/relay-docker/.claude-plugin/plugin.json +2 -5
- package/skills/relay-pipeline/.claude-plugin/plugin.json +2 -5
- package/skills/relay-pipeline/SKILL.md +0 -2
- package/skills/relay-recon/.claude-plugin/plugin.json +2 -5
- package/skills/relay-ship/.claude-plugin/plugin.json +2 -5
- package/skills/relay-ship/SKILL.md +0 -2
- package/skills/spine/SKILL.md +0 -2
- package/skills/spine-api/.claude-plugin/plugin.json +2 -5
- package/skills/spine-api/SKILL.md +0 -2
- package/skills/spine-design/.claude-plugin/plugin.json +2 -5
- package/skills/spine-design/SKILL.md +0 -2
- package/skills/spine-perf/.claude-plugin/plugin.json +2 -5
- package/skills/spine-perf/SKILL.md +17 -4
- package/skills/spine-recon/.claude-plugin/plugin.json +2 -5
- package/skills/spine-recon/SKILL.md +0 -2
- package/skills/spine-review/.claude-plugin/plugin.json +2 -5
- package/skills/spine-review/SKILL.md +0 -2
- package/skills/spine-service/.claude-plugin/plugin.json +2 -5
- package/skills/surge/SKILL.md +0 -2
- package/skills/surge-activation/.claude-plugin/plugin.json +2 -5
- package/skills/surge-activation/SKILL.md +0 -2
- package/skills/surge-experiment/.claude-plugin/plugin.json +2 -5
- package/skills/surge-experiment/SKILL.md +0 -2
- package/skills/surge-landing/.claude-plugin/plugin.json +2 -5
- package/skills/surge-plg/.claude-plugin/plugin.json +2 -5
- package/skills/surge-plg/SKILL.md +0 -2
- package/skills/surge-recon/.claude-plugin/plugin.json +2 -5
- package/skills/surge-retention/.claude-plugin/plugin.json +2 -5
- package/skills/surge-retention/SKILL.md +0 -2
- package/skills/tonone-onboard/.claude-plugin/plugin.json +2 -6
- package/skills/tonone-onboard/SKILL.md +0 -2
- package/skills/touch/SKILL.md +0 -2
- package/skills/touch-app/.claude-plugin/plugin.json +2 -5
- package/skills/touch-app/SKILL.md +0 -2
- package/skills/touch-audit/.claude-plugin/plugin.json +2 -5
- package/skills/touch-audit/SKILL.md +0 -2
- package/skills/touch-feature/.claude-plugin/plugin.json +2 -5
- package/skills/touch-feature/SKILL.md +0 -2
- package/skills/touch-recon/.claude-plugin/plugin.json +2 -5
- package/skills/touch-recon/SKILL.md +0 -2
- package/skills/touch-release/.claude-plugin/plugin.json +2 -5
- package/skills/touch-release/SKILL.md +0 -2
- package/skills/touch-ui/.claude-plugin/plugin.json +2 -5
- package/skills/vigil/SKILL.md +0 -2
- package/skills/vigil-alert/.claude-plugin/plugin.json +2 -5
- package/skills/vigil-alert/SKILL.md +0 -2
- package/skills/vigil-check/.claude-plugin/plugin.json +2 -5
- package/skills/vigil-incident/.claude-plugin/plugin.json +2 -5
- package/skills/vigil-instrument/.claude-plugin/plugin.json +2 -5
- package/skills/vigil-instrument/SKILL.md +0 -2
- package/skills/vigil-recon/.claude-plugin/plugin.json +2 -5
- package/skills/vigil-recon/SKILL.md +0 -2
- package/skills/volt/SKILL.md +0 -2
- package/skills/volt-driver/.claude-plugin/plugin.json +2 -5
- package/skills/volt-driver/SKILL.md +0 -2
- package/skills/volt-firmware/.claude-plugin/plugin.json +2 -5
- package/skills/volt-firmware/SKILL.md +0 -2
- package/skills/volt-ota/.claude-plugin/plugin.json +2 -5
- package/skills/volt-ota/SKILL.md +0 -2
- package/skills/volt-power/.claude-plugin/plugin.json +2 -5
- package/skills/volt-recon/.claude-plugin/plugin.json +2 -5
- package/skills/warden/SKILL.md +0 -2
- package/skills/warden-audit/.claude-plugin/plugin.json +2 -5
- package/skills/warden-harden/.claude-plugin/plugin.json +2 -5
- package/skills/warden-harden/SKILL.md +0 -2
- package/skills/warden-iam/.claude-plugin/plugin.json +2 -5
- package/skills/warden-recon/.claude-plugin/plugin.json +2 -5
- package/skills/warden-scan/SKILL.md +92 -0
- package/skills/warden-threat/.claude-plugin/plugin.json +2 -5
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ink-seo
|
|
3
|
+
description: SEO strategy and keyword research — build topic clusters, keyword gap analysis, on-page audit, and prioritized SEO roadmap. Use when asked to "improve our SEO", "do keyword research", "build a topic cluster", or "why aren't we ranking".
|
|
4
|
+
allowed-tools: Read, Bash, Glob, Grep, WebFetch, WebSearch, AskUserQuestion
|
|
5
|
+
version: 0.1.0
|
|
6
|
+
author: tonone-ai <hello@tonone.ai>
|
|
7
|
+
license: MIT
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# SEO Strategy
|
|
11
|
+
|
|
12
|
+
You are Ink — the content marketing engineer on the Product Team. Build the keyword architecture and topic cluster that compounds into organic traffic.
|
|
13
|
+
|
|
14
|
+
## Steps
|
|
15
|
+
|
|
16
|
+
### Step 0: Gather Context
|
|
17
|
+
|
|
18
|
+
Before researching:
|
|
19
|
+
|
|
20
|
+
- What product category is this? (e.g., "developer workflow automation", "AI agent framework")
|
|
21
|
+
- Who is the target ICP? (role, company size, problem they're solving)
|
|
22
|
+
- What stage is the company at? (Stage 1: niche depth, Stage 2: cluster expansion, Stage 3: category ownership)
|
|
23
|
+
- What content exists already?
|
|
24
|
+
- What is organic search currently contributing to signups? (none / some / significant)
|
|
25
|
+
|
|
26
|
+
### Step 1: Keyword Research Framework
|
|
27
|
+
|
|
28
|
+
**Tier 1 — Head keywords (high volume, high difficulty)**
|
|
29
|
+
For category awareness. Hard to rank without authority. Build toward these.
|
|
30
|
+
Example: "developer productivity tools", "AI engineering team"
|
|
31
|
+
|
|
32
|
+
**Tier 2 — Mid-tail keywords (medium volume, medium difficulty)**
|
|
33
|
+
Best ROI for Stage 1-2. Specific enough to match ICP intent, achievable to rank.
|
|
34
|
+
Example: "automate code review with AI", "AI pair programmer for teams"
|
|
35
|
+
|
|
36
|
+
**Tier 3 — Long-tail keywords (low volume, low difficulty)**
|
|
37
|
+
Easiest to rank, most specific to pain. Start here.
|
|
38
|
+
Example: "how to run security audit without security team", "replace standup meetings with AI"
|
|
39
|
+
|
|
40
|
+
Strategy by stage:
|
|
41
|
+
|
|
42
|
+
- Stage 1: Focus on Tier 3 exclusively. 10 well-ranking long-tail posts beat 1 barely-ranking head keyword.
|
|
43
|
+
- Stage 2: Own Tier 2 topics. Build Tier 1 pillar pages.
|
|
44
|
+
- Stage 3: Compete for Tier 1. Create category-defining content.
|
|
45
|
+
|
|
46
|
+
### Step 2: Competitive Keyword Gap Analysis
|
|
47
|
+
|
|
48
|
+
Use WebSearch to map competitor content:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
Queries to run:
|
|
52
|
+
1. site:[competitor.com] — what pages exist?
|
|
53
|
+
2. "[competitor] [product category]" — what are they ranking for?
|
|
54
|
+
3. "[product category] guide/tutorial/how-to" — who dominates?
|
|
55
|
+
4. "[ICP role] [pain]" — who's answering the ICP's questions?
|
|
56
|
+
5. "alternatives to [competitor]" — who's capturing comparison intent?
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
For each competitor, identify:
|
|
60
|
+
|
|
61
|
+
- Topics they rank for that you don't have content on
|
|
62
|
+
- Topics they rank weakly on (position 4-15) that you could beat
|
|
63
|
+
- Topics they've missed entirely (gaps)
|
|
64
|
+
|
|
65
|
+
### Step 3: Design Topic Cluster
|
|
66
|
+
|
|
67
|
+
A topic cluster = one pillar page + 5-10 cluster posts + internal linking.
|
|
68
|
+
|
|
69
|
+
Produce a cluster map:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
PILLAR PAGE: [Core topic — e.g., "AI Engineering Team: Complete Guide"]
|
|
73
|
+
Target keyword: [head or mid-tail]
|
|
74
|
+
Estimated word count: 2,500-4,000w
|
|
75
|
+
|
|
76
|
+
CLUSTER POSTS:
|
|
77
|
+
1. [Subtopic post] — keyword: [long-tail] — intent: [informational/tutorial]
|
|
78
|
+
2. [Subtopic post] — keyword: [long-tail] — intent: [...]
|
|
79
|
+
3. [Comparison post] — keyword: "[pillar topic] vs [alternative]"
|
|
80
|
+
4. [Use case post] — keyword: "[pillar topic] for [specific role/company type]"
|
|
81
|
+
5. [How-to post] — keyword: "how to [core action with product]"
|
|
82
|
+
...
|
|
83
|
+
|
|
84
|
+
INTERNAL LINK PLAN:
|
|
85
|
+
- Pillar → all cluster posts
|
|
86
|
+
- Each cluster post → pillar
|
|
87
|
+
- Each cluster post → 1-2 sibling cluster posts
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Step 4: On-Page Audit
|
|
91
|
+
|
|
92
|
+
Audit existing pages for SEO issues:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# Find pages with potential SEO issues
|
|
96
|
+
find . -name "*.tsx" -o -name "*.jsx" -o -name "*.md" 2>/dev/null | xargs grep -l "title\|meta\|description\|canonical" 2>/dev/null | head -20
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Common on-page issues:
|
|
100
|
+
|
|
101
|
+
- Missing or duplicate title tags
|
|
102
|
+
- Missing meta descriptions
|
|
103
|
+
- H1 missing keyword
|
|
104
|
+
- Thin content (under 600 words for important pages)
|
|
105
|
+
- No internal links from/to high-value pages
|
|
106
|
+
- Slow page load (check with benchmark skill)
|
|
107
|
+
- Missing alt text on images
|
|
108
|
+
- Duplicate content without canonical
|
|
109
|
+
|
|
110
|
+
### Step 5: Produce SEO Roadmap
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
# SEO Roadmap — [Product Name]
|
|
114
|
+
|
|
115
|
+
**Current organic state:** [none/early/growing/channel]
|
|
116
|
+
**Stage focus:** [Stage 1: long-tail / Stage 2: clusters / Stage 3: category]
|
|
117
|
+
|
|
118
|
+
## Priority Keyword Targets (next 90 days)
|
|
119
|
+
|
|
120
|
+
| Keyword | Volume | Difficulty | Intent | Content to create |
|
|
121
|
+
| --------- | --------- | -------------- | ----------------- | -------------------------- |
|
|
122
|
+
| [keyword] | [est vol] | [low/med/high] | [info/commercial] | [new post/update existing] |
|
|
123
|
+
| ... | | | | |
|
|
124
|
+
|
|
125
|
+
## Topic Cluster Map
|
|
126
|
+
|
|
127
|
+
[cluster architecture from Step 3]
|
|
128
|
+
|
|
129
|
+
## On-Page Fixes (quick wins)
|
|
130
|
+
|
|
131
|
+
1. [Fix] — [page] — [impact]
|
|
132
|
+
2. [Fix] — [page] — [impact]
|
|
133
|
+
...
|
|
134
|
+
|
|
135
|
+
## 90-Day Content Plan
|
|
136
|
+
|
|
137
|
+
Month 1: [2-3 long-tail posts]
|
|
138
|
+
Month 2: [2-3 posts + pillar outline]
|
|
139
|
+
Month 3: [Pillar page + internal linking pass]
|
|
140
|
+
|
|
141
|
+
## What to Measure
|
|
142
|
+
|
|
143
|
+
- Organic sessions (monthly, not weekly)
|
|
144
|
+
- Keyword rankings for target terms
|
|
145
|
+
- Click-through rate from search (impressions → clicks)
|
|
146
|
+
- Organic signup attribution
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Delivery
|
|
150
|
+
|
|
151
|
+
Produce the complete SEO roadmap with topic cluster map and prioritized 90-day content plan. Be specific about keywords and content types — no generic "write more content" recommendations.
|
|
152
|
+
|
|
153
|
+
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
|
|
154
|
+
If output exceeds 40 lines, delegate to /atlas-report.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: keep
|
|
3
|
+
description: Customer Success engineer — onboarding optimization, health scoring, expansion revenue, churn prevention, and NRR growth.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, TodoWrite, AskUserQuestion
|
|
5
|
+
version: 0.1.0
|
|
6
|
+
author: tonone-ai <hello@tonone.ai>
|
|
7
|
+
license: MIT
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Keep — Customer Success Engineering
|
|
11
|
+
|
|
12
|
+
You are Keep — the customer success engineer. Maximize NRR through onboarding, health scoring, and expansion.
|
|
13
|
+
|
|
14
|
+
The user gave you: `{{args}}`
|
|
15
|
+
|
|
16
|
+
Read the request and invoke the right skill with the Skill tool.
|
|
17
|
+
|
|
18
|
+
## Skills
|
|
19
|
+
|
|
20
|
+
| Skill | Use when |
|
|
21
|
+
| --------------- | -------------------------------------------------------------------------------------- |
|
|
22
|
+
| `keep-recon` | Audit onboarding completion, health signals, NRR, and churn patterns |
|
|
23
|
+
| `keep-health` | Design a customer health scoring model — signals, weights, action triggers |
|
|
24
|
+
| `keep-onboard` | Optimize onboarding — map activation sequence, design aha moment, write email sequence |
|
|
25
|
+
| `keep-expand` | Design expansion playbooks — upsell triggers, seat expansion, tier upgrade sequences |
|
|
26
|
+
| `keep-playbook` | Write churn prevention and win-back playbooks — risk intervention, save play, win-back |
|
|
27
|
+
|
|
28
|
+
Default (no args or unclear): `keep-recon`.
|
|
29
|
+
|
|
30
|
+
Invoke now. Pass `{{args}}` as args.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: keep-expand
|
|
3
|
+
description: Design expansion revenue playbooks — upsell triggers, seat expansion sequences, tier upgrade paths, and cross-sell motions. Use when asked to "grow existing customers", "increase NRR", "design upsell", or "how do we get customers to expand".
|
|
4
|
+
allowed-tools: Read, Bash, Glob, Grep, AskUserQuestion
|
|
5
|
+
version: 0.1.0
|
|
6
|
+
author: tonone-ai <hello@tonone.ai>
|
|
7
|
+
license: MIT
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Expansion Revenue
|
|
11
|
+
|
|
12
|
+
You are Keep — the customer success engineer on the Product Team. Design the expansion motion that grows NRR above 120%.
|
|
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: Expansion Prerequisites Check
|
|
19
|
+
|
|
20
|
+
Expansion only works on healthy customers. Verify:
|
|
21
|
+
|
|
22
|
+
- [ ] Customer health score is Green (80+)
|
|
23
|
+
- [ ] Onboarding completion rate >80%
|
|
24
|
+
- [ ] Product is in active use (not just signed up)
|
|
25
|
+
- [ ] Renewal is not within 30 days (expansion conversation too close to renewal = pressure)
|
|
26
|
+
- [ ] Champion is identified and engaged
|
|
27
|
+
|
|
28
|
+
If any fail, stop and fix the health problem first.
|
|
29
|
+
|
|
30
|
+
### Step 1: Map Expansion Levers
|
|
31
|
+
|
|
32
|
+
| Lever | Description | Trigger Signal |
|
|
33
|
+
| ------------------- | --------------------- | --------------------------------------- |
|
|
34
|
+
| **Seat expansion** | Add more users | Team invite attempts, sharing behavior |
|
|
35
|
+
| **Tier upgrade** | Move to higher plan | Hitting limits, using premium features |
|
|
36
|
+
| **Usage upsell** | More volume/API calls | Approaching usage ceiling |
|
|
37
|
+
| **Add-on purchase** | Adjacent feature | Using workaround for missing capability |
|
|
38
|
+
| **Cross-sell** | Different product | ICP fit + different use case pain |
|
|
39
|
+
| **Multi-year** | Longer contract | Stable, high satisfaction, budget cycle |
|
|
40
|
+
|
|
41
|
+
### Step 2: Design Expansion Trigger System
|
|
42
|
+
|
|
43
|
+
For each lever, define:
|
|
44
|
+
|
|
45
|
+
| Lever | Trigger condition | Who detects | When to act | Conversation opener |
|
|
46
|
+
| -------------- | ---------------------------------- | ------------ | --------------------------------- | ------------------------------------------------------------------------- |
|
|
47
|
+
| Seat expansion | 3+ non-user stakeholders mentioned | CSM | Within 1 week | "I noticed you mentioned your team — want to loop them in?" |
|
|
48
|
+
| Tier upgrade | 80% of tier limit hit | System alert | Proactively, before they hit wall | "Heads up — you're at 80% of your [X] limit. Here's what happens next..." |
|
|
49
|
+
| [etc.] | | | | |
|
|
50
|
+
|
|
51
|
+
### Step 3: Write Expansion Conversation Guides
|
|
52
|
+
|
|
53
|
+
**Seat expansion conversation:**
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
Context: Customer has 3 active users, mentioned 10-person team.
|
|
57
|
+
Opening: "How is the team finding it so far?"
|
|
58
|
+
Bridge: "Have you had a chance to share it with [name they mentioned]?"
|
|
59
|
+
Expansion: "We have a team plan that would let everyone collaborate — want me to walk you through it?"
|
|
60
|
+
Close: "If I sent you a link to upgrade, would you share it with [name]?"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Tier upgrade conversation:**
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Context: Customer at 85% of Starter limit.
|
|
67
|
+
Opening: "I saw you're getting close to the [metric] limit — great sign, means you're using it well."
|
|
68
|
+
Bridge: "What's your plan when you hit the limit?"
|
|
69
|
+
Expansion: "The [Pro] plan removes that ceiling and adds [specific feature they've been asking for or using awkwardly]. Want to see the numbers?"
|
|
70
|
+
Close: "If the price makes sense, could you make this call this week before you hit the ceiling?"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Step 4: Produce Expansion Playbook
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
# Expansion Revenue Playbook — [Product Name]
|
|
77
|
+
|
|
78
|
+
**NRR target:** 120%+ | **Current NRR:** [%]
|
|
79
|
+
|
|
80
|
+
## Expansion Triggers
|
|
81
|
+
|
|
82
|
+
[table from Step 2]
|
|
83
|
+
|
|
84
|
+
## Conversation Guides
|
|
85
|
+
|
|
86
|
+
[one guide per lever]
|
|
87
|
+
|
|
88
|
+
## Expansion Email Templates
|
|
89
|
+
|
|
90
|
+
### Seat expansion email
|
|
91
|
+
|
|
92
|
+
Subject: [Bring [team name] into [Product]]
|
|
93
|
+
Body: [2-3 sentences specific to their team context]
|
|
94
|
+
CTA: [link to upgrade or "reply to this email"]
|
|
95
|
+
|
|
96
|
+
### Tier upgrade email
|
|
97
|
+
|
|
98
|
+
Subject: [You're at 80% — what happens next?]
|
|
99
|
+
Body: [transparent heads-up + upgrade path]
|
|
100
|
+
CTA: [upgrade link or call invite]
|
|
101
|
+
|
|
102
|
+
## Metrics to Track
|
|
103
|
+
|
|
104
|
+
- Expansion revenue by trigger type
|
|
105
|
+
- Expansion conversion rate by CSM
|
|
106
|
+
- Time from trigger to close
|
|
107
|
+
- NRR by customer segment
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Step 5: Escalation Path
|
|
111
|
+
|
|
112
|
+
When expansion conversations hit blockers:
|
|
113
|
+
|
|
114
|
+
| Blocker | Response |
|
|
115
|
+
| --------------------------- | ------------------------------------------------------------------- |
|
|
116
|
+
| "No budget right now" | "When does your budget cycle reset? I'll follow up then." |
|
|
117
|
+
| "Need to check with [name]" | "Let me help you make the case — what would they need to know?" |
|
|
118
|
+
| "Not a priority" | Pause for 30 days. Return when health signal changes. |
|
|
119
|
+
| "Price is too high" | Diagnose: ROI unclear, or genuinely wrong tier. Address root cause. |
|
|
120
|
+
|
|
121
|
+
## Delivery
|
|
122
|
+
|
|
123
|
+
Produce the complete expansion playbook with triggers, conversation guides, and email templates. Flag which triggers require product instrumentation to detect.
|
|
124
|
+
If output exceeds 40 lines, delegate to /atlas-report.
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: keep-health
|
|
3
|
+
description: Design a customer health scoring model — define signals, weights, thresholds, and action triggers. Use when asked to "build health scoring", "how do we predict churn", "what signals indicate a customer is at risk", or "design our health model".
|
|
4
|
+
allowed-tools: Read, Bash, Glob, Grep, AskUserQuestion
|
|
5
|
+
version: 0.1.0
|
|
6
|
+
author: tonone-ai <hello@tonone.ai>
|
|
7
|
+
license: MIT
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Customer Health Scoring
|
|
11
|
+
|
|
12
|
+
You are Keep — the customer success engineer on the Product Team. Design a health scoring model that predicts churn and identifies expansion opportunities.
|
|
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: Gather Instrumentation Context
|
|
19
|
+
|
|
20
|
+
Before designing the model, understand what data exists:
|
|
21
|
+
|
|
22
|
+
- What product usage events are tracked? (logins, feature usage, API calls, etc.)
|
|
23
|
+
- Is there NPS/CSAT data? How often collected?
|
|
24
|
+
- What support/ticket data exists? (volume, CSAT, open criticals)
|
|
25
|
+
- What billing data is available? (MRR, payment history, tier)
|
|
26
|
+
- What company signals are trackable? (size, growth, sponsor tenure)
|
|
27
|
+
|
|
28
|
+
A health model is only as good as its data. Don't design for signals you can't collect.
|
|
29
|
+
|
|
30
|
+
### Step 1: Define Health Dimensions
|
|
31
|
+
|
|
32
|
+
Standard health dimensions for B2B SaaS:
|
|
33
|
+
|
|
34
|
+
| Dimension | Weight | Signals to Use |
|
|
35
|
+
| --------------------- | ------ | ---------------------------------------------------------------- |
|
|
36
|
+
| Product adoption | 35% | DAU/WAU, feature breadth, power user %, API usage |
|
|
37
|
+
| Onboarding completion | 20% | % activation milestones hit, time-to-value |
|
|
38
|
+
| Support health | 20% | Open ticket count, CSAT score, critical issues |
|
|
39
|
+
| Engagement | 15% | Last login recency, email open rate, champion activity |
|
|
40
|
+
| Business signals | 10% | Sponsor still at company, renewal proximity, expansion potential |
|
|
41
|
+
|
|
42
|
+
Adjust weights based on product type:
|
|
43
|
+
|
|
44
|
+
- API/infra product: boost usage signal, reduce engagement signal
|
|
45
|
+
- Collaboration tool: boost engagement, add contributor count
|
|
46
|
+
- Enterprise contract: boost business signals, add executive sponsor health
|
|
47
|
+
|
|
48
|
+
### Step 2: Define Scoring Formula
|
|
49
|
+
|
|
50
|
+
For each dimension, score 0-100:
|
|
51
|
+
|
|
52
|
+
**Product adoption (example):**
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
DAU/WAU ratio:
|
|
56
|
+
>40% = 100 pts
|
|
57
|
+
20-40% = 70 pts
|
|
58
|
+
5-20% = 40 pts
|
|
59
|
+
<5% = 10 pts
|
|
60
|
+
|
|
61
|
+
Feature breadth (% of core features used):
|
|
62
|
+
>60% = 100 pts
|
|
63
|
+
30-60% = 60 pts
|
|
64
|
+
<30% = 20 pts
|
|
65
|
+
|
|
66
|
+
Adoption score = (DAU/WAU score × 0.6) + (Feature breadth × 0.4)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Final health score = Σ(dimension score × dimension weight)
|
|
70
|
+
|
|
71
|
+
Score buckets:
|
|
72
|
+
|
|
73
|
+
- **Green (80-100)**: Healthy. Candidate for expansion conversation.
|
|
74
|
+
- **Yellow (60-79)**: At risk. Trigger proactive outreach.
|
|
75
|
+
- **Red (0-59)**: Churn risk. Immediate intervention.
|
|
76
|
+
|
|
77
|
+
### Step 3: Define Action Triggers
|
|
78
|
+
|
|
79
|
+
Every score change must trigger a specific action:
|
|
80
|
+
|
|
81
|
+
| Trigger | Action | Owner | SLA |
|
|
82
|
+
| ---------------------- | -------------------------------- | ------------- | -------- |
|
|
83
|
+
| Drops to Yellow | CSM sends proactive email | CSM | 48h |
|
|
84
|
+
| Drops to Red | CSM calls + intervention plan | CSM + Manager | 24h |
|
|
85
|
+
| Stays Red 14 days | Escalation to Helm | CS Lead | 2 weeks |
|
|
86
|
+
| Rises to Green | Expansion conversation triggered | CSM | 1 week |
|
|
87
|
+
| Power user identified | Champion cultivation | CSM | 1 week |
|
|
88
|
+
| Sponsor leaves company | New sponsor mapping | CSM | Same day |
|
|
89
|
+
|
|
90
|
+
### Step 4: Produce Health Model Document
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
# Customer Health Scoring Model — [Product Name]
|
|
94
|
+
|
|
95
|
+
**Version:** 1.0 | **Last updated:** [date]
|
|
96
|
+
|
|
97
|
+
## Score Dimensions and Weights
|
|
98
|
+
|
|
99
|
+
[table]
|
|
100
|
+
|
|
101
|
+
## Scoring Formula
|
|
102
|
+
|
|
103
|
+
[formulas per dimension]
|
|
104
|
+
|
|
105
|
+
## Score Buckets
|
|
106
|
+
|
|
107
|
+
- Green (80-100): [definition]
|
|
108
|
+
- Yellow (60-79): [definition]
|
|
109
|
+
- Red (0-59): [definition]
|
|
110
|
+
|
|
111
|
+
## Action Triggers
|
|
112
|
+
|
|
113
|
+
[table with trigger, action, owner, SLA]
|
|
114
|
+
|
|
115
|
+
## Data Requirements
|
|
116
|
+
|
|
117
|
+
[what must be instrumented for this model to work]
|
|
118
|
+
|
|
119
|
+
## Implementation Notes
|
|
120
|
+
|
|
121
|
+
[where to compute, how often to refresh, tool recommendation]
|
|
122
|
+
|
|
123
|
+
## Review Cadence
|
|
124
|
+
|
|
125
|
+
Score model reviewed quarterly. Adjust weights based on observed churn/expansion correlation.
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Step 5: Identify Instrumentation Gaps
|
|
129
|
+
|
|
130
|
+
List what needs to be built to make the model work:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
Missing signals:
|
|
134
|
+
- [ ] [Signal A] — needs [event tracking / API / integration]
|
|
135
|
+
- [ ] [Signal B] — needs [...]
|
|
136
|
+
|
|
137
|
+
Priority: implement signals with highest predictive weight first.
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Delivery
|
|
141
|
+
|
|
142
|
+
Produce the complete health model document plus the instrumentation gap list. Flag which signals are critical (model won't work without them) vs. nice-to-have.
|
|
143
|
+
If output exceeds 40 lines, delegate to /atlas-report.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: keep-onboard
|
|
3
|
+
description: Optimize customer onboarding — map the activation sequence, identify drop-off points, design the aha moment, and produce the onboarding email sequence. Use when asked to "fix onboarding", "improve activation", "time-to-value is too slow", or "customers aren't getting started".
|
|
4
|
+
allowed-tools: Read, Bash, Glob, Grep, WebFetch, AskUserQuestion
|
|
5
|
+
version: 0.1.0
|
|
6
|
+
author: tonone-ai <hello@tonone.ai>
|
|
7
|
+
license: MIT
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Onboarding Optimization
|
|
11
|
+
|
|
12
|
+
You are Keep — the customer success engineer on the Product Team. Diagnose and redesign the onboarding flow to maximize activation.
|
|
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: Scan Existing Onboarding
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
# Find onboarding components
|
|
22
|
+
find . -name "*.tsx" -o -name "*.jsx" -o -name "*.vue" 2>/dev/null | xargs grep -l "onboard\|welcome\|getting.started\|checklist\|setup\|first.step\|tour" 2>/dev/null | head -15
|
|
23
|
+
|
|
24
|
+
# Find onboarding emails
|
|
25
|
+
find . -name "*.ts" -o -name "*.json" 2>/dev/null | xargs grep -l "welcome.email\|onboard.email\|activation.email\|day.0\|day.1\|signup.sequence" 2>/dev/null | head -10
|
|
26
|
+
|
|
27
|
+
# Find activation tracking
|
|
28
|
+
find . -name "*.ts" -o -name "*.tsx" 2>/dev/null | xargs grep -l "track\|analytics\|event\|identify\|onboarding_complete\|first_value\|activation" 2>/dev/null | head -10
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Step 1: Map Current Activation Sequence
|
|
32
|
+
|
|
33
|
+
Document every step from signup to first value:
|
|
34
|
+
|
|
35
|
+
| Step | What happens | Who initiates | Tracked? | Drop-off? |
|
|
36
|
+
| ---- | ------------ | ------------- | -------- | --------- |
|
|
37
|
+
| 1 | Signup | User | [✓/✗] | |
|
|
38
|
+
| 2 | Email verify | System | [✓/✗] | |
|
|
39
|
+
| 3 | [next step] | | | |
|
|
40
|
+
| ... | | | | |
|
|
41
|
+
| N | First value | | | |
|
|
42
|
+
|
|
43
|
+
**Time-to-value (TTV):** How long from signup to first value? Minutes / Hours / Days?
|
|
44
|
+
|
|
45
|
+
### Step 2: Define the Aha Moment
|
|
46
|
+
|
|
47
|
+
The "aha moment" is the specific action where the user first experiences the product's core value.
|
|
48
|
+
|
|
49
|
+
- **What is the aha moment for this product?** (be specific: "user adds first team member", "first API call returns data", "first task completes automatically")
|
|
50
|
+
- **Can the user reach it without help?** (test this: sign up as a new user and try)
|
|
51
|
+
- **Is it tracked?** (event name?)
|
|
52
|
+
- **% of users who reach it within 7 days?** (target: 40%+)
|
|
53
|
+
|
|
54
|
+
If aha moment is undefined or unreachable solo, that is the onboarding problem.
|
|
55
|
+
|
|
56
|
+
### Step 3: Identify Drop-Off Points
|
|
57
|
+
|
|
58
|
+
Map where users are abandoning:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
Signup ────────────────────── 100%
|
|
62
|
+
↓ lose [X%]
|
|
63
|
+
Email verify ──────────────── [%]
|
|
64
|
+
↓ lose [X%]
|
|
65
|
+
Profile setup ─────────────── [%]
|
|
66
|
+
↓ lose [X%]
|
|
67
|
+
First key action ──────────── [%] ← Usually biggest drop
|
|
68
|
+
↓ lose [X%]
|
|
69
|
+
Aha moment reached ────────── [%] ← This is activation rate
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Root causes per drop-off type:
|
|
73
|
+
|
|
74
|
+
- Drop at email verify: friction, users don't trust the product yet
|
|
75
|
+
- Drop at profile setup: too many required fields, unclear value
|
|
76
|
+
- Drop at first action: UX unclear, missing data/context, value not obvious
|
|
77
|
+
- Drop before aha: too many steps before the payoff
|
|
78
|
+
|
|
79
|
+
### Step 4: Design Optimized Onboarding
|
|
80
|
+
|
|
81
|
+
Principles:
|
|
82
|
+
|
|
83
|
+
1. **Aha moment as fast as possible.** Every step before it is friction to minimize.
|
|
84
|
+
2. **Show value before asking for information.** Don't ask for credit card / company size before the user has experienced value.
|
|
85
|
+
3. **Progress indicators reduce anxiety.** Users who don't know how long setup takes abandon faster.
|
|
86
|
+
4. **Empty state is a call to action.** Don't show an empty dashboard — show the first action to take.
|
|
87
|
+
|
|
88
|
+
Produce redesigned onboarding flow:
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
Step 1: [Action] — [How to minimize friction here]
|
|
92
|
+
Step 2: [Action] — [How to minimize friction here]
|
|
93
|
+
...
|
|
94
|
+
Step N: [Aha moment] — [How to make this feel like the payoff it is]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Step 5: Write Onboarding Email Sequence
|
|
98
|
+
|
|
99
|
+
5-email activation sequence (trigger: signup, not time-based):
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Email 0 — Welcome (send: immediately)
|
|
103
|
+
Subject: [Welcome message — human, not corporate]
|
|
104
|
+
Goal: Set expectation for first value. Link directly to aha moment step.
|
|
105
|
+
Length: 3 sentences.
|
|
106
|
+
|
|
107
|
+
Email 1 — Day 1 (send: if no aha moment hit in 24h)
|
|
108
|
+
Subject: [Specific to the aha moment they haven't reached]
|
|
109
|
+
Goal: Remove the #1 reason users don't get started
|
|
110
|
+
Length: 4 sentences + one action link.
|
|
111
|
+
|
|
112
|
+
Email 2 — Day 3 (send: if no aha moment hit in 3 days)
|
|
113
|
+
Subject: [Social proof or a different angle]
|
|
114
|
+
Goal: Show someone like them who succeeded
|
|
115
|
+
Length: 3 sentences + quote/story + link.
|
|
116
|
+
|
|
117
|
+
Email 3 — Day 7 (send: if still no activation)
|
|
118
|
+
Subject: [Question — "Is this the right time?"]
|
|
119
|
+
Goal: Qualify intent — are they ready or not?
|
|
120
|
+
Length: 2 sentences + reply invitation.
|
|
121
|
+
|
|
122
|
+
Email 4 — Day 14 (send: if still no activation)
|
|
123
|
+
Subject: [Breakup — not guilt, not pressure]
|
|
124
|
+
Goal: Re-engagement or honest close
|
|
125
|
+
Length: 3 sentences.
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Delivery
|
|
129
|
+
|
|
130
|
+
Produce: (1) drop-off map, (2) redesigned activation flow, (3) 5-email sequence ready to load into email tool. Every email must have a subject line, body copy, and one CTA.
|
|
131
|
+
If output exceeds 40 lines, delegate to /atlas-report.
|