@event4u/agent-config 2.7.0 → 2.8.0
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/.agent-src/personas/cmo.md +122 -0
- package/.agent-src/personas/customer-success-lead.md +126 -0
- package/.agent-src/personas/growth-pm.md +134 -0
- package/.agent-src/personas/revops.md +125 -0
- package/.agent-src/skills/activation-design/SKILL.md +160 -0
- package/.agent-src/skills/churn-prevention/SKILL.md +156 -0
- package/.agent-src/skills/content-funnel-design/SKILL.md +170 -0
- package/.agent-src/skills/deal-qualification-meddic/SKILL.md +165 -0
- package/.agent-src/skills/editorial-calendar/SKILL.md +161 -0
- package/.agent-src/skills/expansion-playbook/SKILL.md +171 -0
- package/.agent-src/skills/forecast-accuracy/SKILL.md +157 -0
- package/.agent-src/skills/fundraising-narrative/SKILL.md +189 -0
- package/.agent-src/skills/funnel-analysis/SKILL.md +26 -2
- package/.agent-src/skills/gtm-launch/SKILL.md +165 -0
- package/.agent-src/skills/messaging-architecture/SKILL.md +184 -0
- package/.agent-src/skills/onboarding-design/SKILL.md +158 -0
- package/.agent-src/skills/pipeline-strategy/SKILL.md +159 -0
- package/.agent-src/skills/positioning-strategy/SKILL.md +177 -0
- package/.agent-src/skills/retention-loops/SKILL.md +161 -0
- package/.agent-src/skills/subagent-orchestration/SKILL.md +1 -1
- package/.agent-src/skills/voice-and-tone-design/SKILL.md +163 -0
- package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/.claude-plugin/marketplace.json +17 -2
- package/CHANGELOG.md +45 -169
- package/README.md +2 -2
- package/docs/architecture.md +2 -2
- package/docs/archive/CHANGELOG-pre-2.7.0.md +185 -0
- package/docs/catalog.md +19 -3
- package/docs/contracts/adr-gtm-context-spine.md +115 -0
- package/docs/contracts/command-surface-tiers.md +5 -0
- package/docs/contracts/context-spine.md +50 -12
- package/docs/contracts/cross-wing-handoff.md +3 -3
- package/docs/contracts/persona-schema.md +20 -3
- package/docs/guidelines/gtm-handoff.md +114 -0
- package/package.json +1 -1
- package/scripts/lint_context_spine_usage.py +4 -1
- package/scripts/schemas/persona.schema.json +5 -0
- package/scripts/schemas/skill.schema.json +2 -2
- package/scripts/skill_linter.py +177 -3
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gtm-launch
|
|
3
|
+
description: "Use when sequencing a launch — alpha / beta / GA waves, audience-by-wave logic, narrative beats per wave, engineering-readiness gates. Triggers on 'plan the launch', 'sequence GA'."
|
|
4
|
+
status: active
|
|
5
|
+
tier: senior
|
|
6
|
+
source: package
|
|
7
|
+
domain: product
|
|
8
|
+
context_spine: [product, customer-segment, channel-stage]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# gtm-launch
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
- A product, feature, or major capability is approaching ship-readiness and the team needs a wave plan (alpha → beta → GA) keyed to audience and proof, not a date on a calendar.
|
|
16
|
+
- A launch is being planned date-first; the team needs to invert and plan readiness-first so an unmet gate stops a wave instead of leaking past it.
|
|
17
|
+
- A previous launch landed soft and the retro names "no audience-by-wave logic" or "narrative beats unclear per wave" as the cause.
|
|
18
|
+
|
|
19
|
+
Do NOT use to write announcement copy (route to `release-comms`),
|
|
20
|
+
lock the message stack (route to `messaging-architecture`), or plan
|
|
21
|
+
post-launch retention loops (route to `retention-loops`).
|
|
22
|
+
|
|
23
|
+
## Cognition cluster
|
|
24
|
+
|
|
25
|
+
- **Mental model 10 — Reversible vs. irreversible decisions.** A GA
|
|
26
|
+
wave is largely irreversible: rolling back narrative and audience
|
|
27
|
+
expectations after public launch costs more than re-shipping the
|
|
28
|
+
product. Alpha and beta are reversible; treat them as the
|
|
29
|
+
decision-quality buffer. See
|
|
30
|
+
[`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 10.
|
|
31
|
+
- **Mental model 29 — Premortem.** Before the wave plan locks, write
|
|
32
|
+
the post-mortem of the launch as if it failed. The premortem
|
|
33
|
+
surfaces the gates that need to hold; the wave plan is the inverse
|
|
34
|
+
of that list. See `mental-models.md` § 29.
|
|
35
|
+
- **Mental model 16 — Leading vs. lagging indicators.** Engineering-
|
|
36
|
+
readiness signals (error rate, latency, support-load) are leading;
|
|
37
|
+
pipeline lift is lagging. A wave plan that gates on lagging signals
|
|
38
|
+
ships into a soft floor. See `mental-models.md` § 16.
|
|
39
|
+
- **Context-spine — product + customer-segment + channel-stage.**
|
|
40
|
+
Read the **product** slot for shippable scope, the
|
|
41
|
+
**customer-segment** slot for who hears the launch on which wave,
|
|
42
|
+
and the **channel-stage** slot for where each wave's audience lives
|
|
43
|
+
in the awareness → decision arc. See
|
|
44
|
+
[`context-spine`](../../../docs/contracts/context-spine.md).
|
|
45
|
+
|
|
46
|
+
## Procedure
|
|
47
|
+
|
|
48
|
+
### Step 0: Inherit the message stack
|
|
49
|
+
|
|
50
|
+
Identify the locked `primary-message.md`, `supporting-proofs.md`, and
|
|
51
|
+
`audience-matrix.md` from [`messaging-architecture`](../messaging-architecture/SKILL.md).
|
|
52
|
+
If the stack is missing or unstable, stop and route back. A launch
|
|
53
|
+
plan without a locked message stack ships three different stories at
|
|
54
|
+
three different surfaces.
|
|
55
|
+
|
|
56
|
+
### Step 1: Run the premortem
|
|
57
|
+
|
|
58
|
+
Write the launch post-mortem **as if it has already failed**. Three
|
|
59
|
+
prompts: *"what did the segment hear that we did not say,"* *"what
|
|
60
|
+
broke in the first 48 hours,"* *"what did the alternative say first
|
|
61
|
+
and louder."* The premortem produces the failure-mode list the wave
|
|
62
|
+
plan must neutralise.
|
|
63
|
+
|
|
64
|
+
### Step 2: Define the gates per wave
|
|
65
|
+
|
|
66
|
+
For each wave (alpha · beta · GA), define **entry gates** and **exit
|
|
67
|
+
gates**:
|
|
68
|
+
|
|
69
|
+
- *Alpha entry:* engineering-readiness signal threshold (error rate,
|
|
70
|
+
latency, instrumentation coverage). *Exit:* < N support tickets
|
|
71
|
+
per 100 sessions on the load-bearing flow.
|
|
72
|
+
- *Beta entry:* alpha exit + audience-matrix proof exists for the
|
|
73
|
+
beta audience. *Exit:* leading indicator (activation, time-to-
|
|
74
|
+
first-value) clears threshold per `mental-models.md § 16`.
|
|
75
|
+
- *GA entry:* beta exit + narrative beats locked for the public
|
|
76
|
+
segment. *Exit:* not applicable — GA is irreversible; the next
|
|
77
|
+
wave is *post-launch retention*, handed to `retention-loops`.
|
|
78
|
+
|
|
79
|
+
### Step 3: Sequence the audience waves
|
|
80
|
+
|
|
81
|
+
Audience waves are not seniority waves. They are **proof waves**.
|
|
82
|
+
Each wave's audience is whichever segment generates the proof the
|
|
83
|
+
*next* wave needs. Order:
|
|
84
|
+
|
|
85
|
+
1. *Alpha audience* — the segment where the team can sit next to
|
|
86
|
+
the user. Proof: load-bearing flow does not break under real use.
|
|
87
|
+
2. *Beta audience* — the segment whose adoption is the credibility
|
|
88
|
+
anchor for GA. Proof: a quotable reference and an activation
|
|
89
|
+
curve.
|
|
90
|
+
3. *GA audience* — the full ICP segment from the `customer-segment`
|
|
91
|
+
slot. Proof: pipeline lift, narrative pickup, retention curve.
|
|
92
|
+
|
|
93
|
+
### Step 4: Assign narrative beats per wave
|
|
94
|
+
|
|
95
|
+
Each wave gets a narrative beat — the **one** thing the audience
|
|
96
|
+
remembers. Alpha beat = trust signal (we are not winging it). Beta
|
|
97
|
+
beat = proof signal (it works for someone like you). GA beat = the
|
|
98
|
+
primary message from `messaging-architecture` Step 1. Beats stack;
|
|
99
|
+
they do not contradict.
|
|
100
|
+
|
|
101
|
+
### Step 5: Validate the plan against the premortem
|
|
102
|
+
|
|
103
|
+
Validate each premortem failure mode against the wave plan: verify a
|
|
104
|
+
specific gate or beat neutralises it. Any failure mode without an
|
|
105
|
+
explicit neutraliser is a known leak — name it, do not bury it.
|
|
106
|
+
Validation passes only when every premortem item is either
|
|
107
|
+
neutralised or accepted-with-mitigation.
|
|
108
|
+
|
|
109
|
+
### Step 6: Hand back
|
|
110
|
+
|
|
111
|
+
Hand the artefacts to [`release-comms`](../release-comms/SKILL.md)
|
|
112
|
+
for announcement-surface drafting, to
|
|
113
|
+
[`editorial-calendar`](../editorial-calendar/SKILL.md) for cadence
|
|
114
|
+
mapping, and to [`launch-readiness`](../launch-readiness/SKILL.md)
|
|
115
|
+
for the merge-day checklist.
|
|
116
|
+
|
|
117
|
+
## Related Skills
|
|
118
|
+
|
|
119
|
+
**WHEN to use this**
|
|
120
|
+
|
|
121
|
+
- The unit of work is the wave plan (alpha · beta · GA) with gates and beats, not a single announcement.
|
|
122
|
+
- A launch needs readiness-gated sequencing instead of calendar-driven sequencing.
|
|
123
|
+
- The team can name the message stack but not which audience hears which beat in which wave.
|
|
124
|
+
|
|
125
|
+
**WHEN NOT to use this**
|
|
126
|
+
|
|
127
|
+
- Writing the announcement copy or press surface — route to [`release-comms`](../release-comms/SKILL.md).
|
|
128
|
+
- Locking the primary message and proofs — route to [`messaging-architecture`](../messaging-architecture/SKILL.md).
|
|
129
|
+
- Pre-merge ops checklist (rollout, rollback, monitoring) — route to [`launch-readiness`](../launch-readiness/SKILL.md).
|
|
130
|
+
- Post-launch retention design — route to [`retention-loops`](../retention-loops/SKILL.md).
|
|
131
|
+
|
|
132
|
+
## When the agent should load this
|
|
133
|
+
|
|
134
|
+
- "Plan the launch waves for the new pricing tier."
|
|
135
|
+
- "Wir starten den GA — gib mir die Alpha-Beta-GA Sequenz."
|
|
136
|
+
- "What are the entry gates for the beta wave?"
|
|
137
|
+
- "Premortem the launch and rebuild the wave plan from the failure list."
|
|
138
|
+
- "Sequence the audience waves around the proof we still need."
|
|
139
|
+
|
|
140
|
+
## Output
|
|
141
|
+
|
|
142
|
+
1. **`launch-premortem.md`** — three failure modes per prompt, ranked by carrying cost, each tagged with the wave that owns the neutraliser.
|
|
143
|
+
2. **`wave-plan.md`** — three waves (alpha · beta · GA) with entry / exit gates, audience, leading-indicator threshold per wave.
|
|
144
|
+
3. **`narrative-beats.md`** — one beat per wave (trust → proof → primary-message), with the line the team will not contradict on any surface during that wave.
|
|
145
|
+
|
|
146
|
+
## Gotcha
|
|
147
|
+
|
|
148
|
+
- Calendar-driven launches confuse a date with a gate. A date does not signal readiness; a gate does. The wave plan must hold even if the date slips two weeks.
|
|
149
|
+
- "Friends-and-family alpha" is alpha-shaped theatre — it produces the wrong proof for the next wave. Recruit an alpha audience that exposes the load-bearing flow.
|
|
150
|
+
- A premortem that produces only three failure modes was rushed; push for ten and keep the load-bearing three.
|
|
151
|
+
|
|
152
|
+
## Do NOT
|
|
153
|
+
|
|
154
|
+
- Do NOT write the announcement copy here — copy lives in `release-comms` downstream of locked beats.
|
|
155
|
+
- Do NOT collapse alpha and beta to save calendar time — alpha and beta produce different proofs.
|
|
156
|
+
- Do NOT lock GA without an explicit retention-loops handoff; an unowned post-launch fortnight is where most launches soften.
|
|
157
|
+
|
|
158
|
+
## Runnable example
|
|
159
|
+
|
|
160
|
+
Mid-market HR analytics tool launching workforce-analytics layer:
|
|
161
|
+
|
|
162
|
+
- Premortem: (a) CFOs hear "another tool" not "retention saving"; (b) HRIS plug-in misconfigured under load; (c) reference customer quote not contractually approved by GA.
|
|
163
|
+
- Wave plan — *Alpha:* 3 design-partner HR directors, gate = HRIS plug-in error-rate < 1 % under load. *Beta:* 10 HR leaders matching ICP, gate = activation curve hits 5 cohort-roll-ups per week. *GA:* full ICP segment, gate = quoted reference contractually approved.
|
|
164
|
+
- Narrative beats — *Alpha:* "we sat next to you while it worked." *Beta:* "an HR director like you saved 7 hours last board-quarter." *GA:* primary message from `messaging-architecture` Step 1.
|
|
165
|
+
- Hand-off → `release-comms` drafts the GA-wave surface; `retention-loops` owns the 30-day post-GA cohort.
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: messaging-architecture
|
|
3
|
+
description: "Use when shaping the primary message, supporting proofs, and audience-by-message matrix from a locked positioning frame — before any copy or launch beat. Triggers on 'tighten the message stack'."
|
|
4
|
+
status: active
|
|
5
|
+
tier: senior
|
|
6
|
+
source: package
|
|
7
|
+
domain: product
|
|
8
|
+
context_spine: [product, customer-segment]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# messaging-architecture
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
- Positioning is locked (four anchors + assumption ledger) and the next artefact — launch deck, homepage, sales narrative — needs a load-bearing message stack instead of one-off copy.
|
|
16
|
+
- A team is shipping copy faster than it is shipping shared meaning; lines diverge across surfaces and the segment cannot recognise itself.
|
|
17
|
+
- An audience-by-message matrix is missing and the same primary message is being shouted at three audiences who hear three different things.
|
|
18
|
+
|
|
19
|
+
Do NOT use to write the copy itself (downstream of this skill),
|
|
20
|
+
peer-vs-peer comparison (route to `competitive-positioning`), or
|
|
21
|
+
launch sequencing (route to `gtm-launch`).
|
|
22
|
+
|
|
23
|
+
## Cognition cluster
|
|
24
|
+
|
|
25
|
+
- **Mental model 15 — Signal vs. noise.** Every message lands inside
|
|
26
|
+
an inbox that is already full. The primary message must clear the
|
|
27
|
+
segment's noise floor, not just be true. Estimate the noise before
|
|
28
|
+
drafting; without it, every line looks distinctive in the doc and
|
|
29
|
+
forgettable in market. See
|
|
30
|
+
[`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 15.
|
|
31
|
+
- **Mental model 30 — Inversion.** Ask *"what is the strongest
|
|
32
|
+
message a credible alternative would land against us?"* The answer
|
|
33
|
+
exposes the proofs the message stack must carry, not the words.
|
|
34
|
+
See `mental-models.md` § 30.
|
|
35
|
+
- **Context-spine — product + customer-segment.** Read the **product**
|
|
36
|
+
slot for the proofs the team can actually back; read the
|
|
37
|
+
**customer-segment** slot for the buyer's listening posture.
|
|
38
|
+
Architecture that exceeds the proofs available is fiction. See
|
|
39
|
+
[`context-spine`](../../../docs/contracts/context-spine.md).
|
|
40
|
+
|
|
41
|
+
## Procedure
|
|
42
|
+
|
|
43
|
+
### Step 0: Inherit the positioning frame
|
|
44
|
+
|
|
45
|
+
Open the `positioning.md` artefact ([`positioning-strategy`](../positioning-strategy/SKILL.md)
|
|
46
|
+
Step 1 output). If the four anchors are missing or contested, stop
|
|
47
|
+
and route back. Messaging architecture without a locked positioning
|
|
48
|
+
frame is decoration — it will be rewritten the next quarter.
|
|
49
|
+
|
|
50
|
+
### Step 1: Identify the primary message
|
|
51
|
+
|
|
52
|
+
Identify the **one** sentence — the load-bearing claim
|
|
53
|
+
that, if the segment remembered nothing else, would still trigger
|
|
54
|
+
the right switch event. Structure:
|
|
55
|
+
|
|
56
|
+
*"For \<segment\>, \<category\> that \<load-bearing benefit\>,
|
|
57
|
+
instead of \<alternative\>."*
|
|
58
|
+
|
|
59
|
+
The benefit must be the **switch-event benefit** — what changes the
|
|
60
|
+
day they buy — not a feature list and not a brand attribute.
|
|
61
|
+
|
|
62
|
+
### Step 2: Stack the supporting proofs
|
|
63
|
+
|
|
64
|
+
Three proofs, ranked. Each proof is a sentence the team can defend
|
|
65
|
+
with evidence (data, demo, reference, contract clause). Proofs that
|
|
66
|
+
need adjective amplification (*"truly seamless"*, *"radically
|
|
67
|
+
simple"*) are not proofs — they are the gap a proof would fill.
|
|
68
|
+
|
|
69
|
+
Rank the proofs by **closing weight**: how much each moves the
|
|
70
|
+
buyer's decision from *no* to *yes*. The order is the order of
|
|
71
|
+
appearance in every downstream surface.
|
|
72
|
+
|
|
73
|
+
### Step 3: Build the audience-by-message matrix
|
|
74
|
+
|
|
75
|
+
Audiences are not segments — they are roles inside the segment
|
|
76
|
+
(economic buyer, champion, end-user, finance, security). For each
|
|
77
|
+
audience, fill: **what they fear · what they hope · what proof
|
|
78
|
+
clears each.** The matrix forces the team to confront the surfaces
|
|
79
|
+
where the primary message lands wrong on a role even when right on
|
|
80
|
+
the segment.
|
|
81
|
+
|
|
82
|
+
### Step 4: Validate against the noise floor and the inversion test
|
|
83
|
+
|
|
84
|
+
Validate the stack on three checks:
|
|
85
|
+
|
|
86
|
+
1. **Noise floor.** For the primary message, name three lines a
|
|
87
|
+
credible peer says today. If the primary message would not be
|
|
88
|
+
distinguishable when read alongside them, it is below the noise
|
|
89
|
+
floor — sharpen or drop.
|
|
90
|
+
2. **Inversion.** Write the strongest counter-message a credible
|
|
91
|
+
alternative would land against us. Confirm at least one supporting
|
|
92
|
+
proof neutralises it; if none does, the stack is missing a proof.
|
|
93
|
+
3. **Proof-coverage.** For every fear / hope cell in the matrix,
|
|
94
|
+
verify a proof exists. Cells without a proof are explicit gaps,
|
|
95
|
+
not silent omissions.
|
|
96
|
+
|
|
97
|
+
### Step 5: Hand back
|
|
98
|
+
|
|
99
|
+
Hand the three artefacts (see `## Output`) to
|
|
100
|
+
[`gtm-launch`](../gtm-launch/SKILL.md) for launch-wave sequencing,
|
|
101
|
+
[`editorial-calendar`](../editorial-calendar/SKILL.md) for cadence
|
|
102
|
+
mapping, or [`fundraising-narrative`](../fundraising-narrative/SKILL.md)
|
|
103
|
+
for capital-raising framing. Do **not** write the copy here — copy
|
|
104
|
+
production is a downstream artefact.
|
|
105
|
+
|
|
106
|
+
## Related Skills
|
|
107
|
+
|
|
108
|
+
**WHEN to use this**
|
|
109
|
+
|
|
110
|
+
- The unit of work is the message stack (primary + proofs + matrix), not a copy block.
|
|
111
|
+
- Positioning is locked and downstream surfaces need a shared anchor.
|
|
112
|
+
- Cross-audience messaging has scattered and the team cannot name a primary.
|
|
113
|
+
|
|
114
|
+
**WHEN NOT to use this**
|
|
115
|
+
|
|
116
|
+
- Locking the four-anchor positioning frame — route to
|
|
117
|
+
[`positioning-strategy`](../positioning-strategy/SKILL.md).
|
|
118
|
+
- Peer-vs-peer ours-vs-theirs verdict table — route to
|
|
119
|
+
[`competitive-positioning`](../competitive-positioning/SKILL.md).
|
|
120
|
+
- Launch-wave audience sequencing — route to
|
|
121
|
+
[`gtm-launch`](../gtm-launch/SKILL.md).
|
|
122
|
+
- Voice attribute selection or tone-by-context matrix — route to
|
|
123
|
+
[`voice-and-tone-design`](../voice-and-tone-design/SKILL.md).
|
|
124
|
+
|
|
125
|
+
## When the agent should load this
|
|
126
|
+
|
|
127
|
+
- "Lock the message stack before we draft the launch deck."
|
|
128
|
+
- "Wir brauchen eine primary message, keine Tagline."
|
|
129
|
+
- "Build the audience-by-message matrix for the security buyer."
|
|
130
|
+
- "Are our three proofs distinguishable from \<incumbent\>'s lines?"
|
|
131
|
+
- "Inversion-check our messaging against the alternative."
|
|
132
|
+
- "Our message has scattered across landing pages — re-anchor it."
|
|
133
|
+
|
|
134
|
+
## Output
|
|
135
|
+
|
|
136
|
+
1. **`primary-message.md`** — one sentence in the segment / category
|
|
137
|
+
/ benefit / alternative shape, plus the load-bearing word and
|
|
138
|
+
why it is load-bearing.
|
|
139
|
+
2. **`supporting-proofs.md`** — three proofs ranked by closing
|
|
140
|
+
weight, each with the evidence the team can defend it with.
|
|
141
|
+
3. **`audience-matrix.md`** — one row per audience: fear · hope ·
|
|
142
|
+
proof-that-clears-each · primary-message variant if reframing is
|
|
143
|
+
needed.
|
|
144
|
+
|
|
145
|
+
## Gotcha
|
|
146
|
+
|
|
147
|
+
- A primary message everyone in the room agrees with on first read
|
|
148
|
+
is usually below the noise floor — agreement is consensus, not
|
|
149
|
+
distinctiveness.
|
|
150
|
+
- Proofs that need adjectives are signals of a missing proof; replace
|
|
151
|
+
the adjective with the evidence or remove the line.
|
|
152
|
+
- The audience matrix tempts the team to multiply primary messages.
|
|
153
|
+
Resist: the segment receives one primary; the matrix shapes
|
|
154
|
+
emphasis, not substitution.
|
|
155
|
+
|
|
156
|
+
## Do NOT
|
|
157
|
+
|
|
158
|
+
- Do NOT write copy in this skill — copy lives downstream.
|
|
159
|
+
- Do NOT inflate the stack beyond three proofs; a stack of seven is
|
|
160
|
+
a wishlist, not architecture.
|
|
161
|
+
- Do NOT skip the noise-floor check; an internally distinctive
|
|
162
|
+
message is not the same as a market-distinctive one.
|
|
163
|
+
|
|
164
|
+
## Runnable example
|
|
165
|
+
|
|
166
|
+
Mid-market HR analytics tool, positioning locked (segment: HR leaders
|
|
167
|
+
at 200–2000-person growing companies; alternative: spreadsheet +
|
|
168
|
+
HRIS report; PoV: retention beats acquisition):
|
|
169
|
+
|
|
170
|
+
- Primary message: *"For HR leaders at growing 200–2000-person
|
|
171
|
+
companies, the workforce-analytics layer that turns the
|
|
172
|
+
board-quarter retention conversation into a one-click roll-up,
|
|
173
|
+
instead of a spreadsheet rebuild every quarter."*
|
|
174
|
+
- Proofs ranked by closing weight: (1) cohort attrition by tenure
|
|
175
|
+
band in < 5 clicks (demo); (2) plugs into the existing HRIS,
|
|
176
|
+
not a replacement (architecture diagram); (3) board-quarter
|
|
177
|
+
rebuild collapses from \~ 8 hours to \~ 1 hour (reference
|
|
178
|
+
customer, contractually quoted).
|
|
179
|
+
- Audience matrix — *Champion (HR director):* fear = another tool
|
|
180
|
+
to maintain; hope = looks competent to CEO; proof = HRIS
|
|
181
|
+
plug-in. *Economic buyer (CFO / COO):* fear = soft ROI; hope =
|
|
182
|
+
retention saving; proof = reference quote with hours saved.
|
|
183
|
+
- Hand-off → `gtm-launch` sequences launch waves around the
|
|
184
|
+
retention-conversation moment in board-quarter cadence.
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: onboarding-design
|
|
3
|
+
description: "Use when designing customer onboarding — time-to-first-value, milestone design, friction audit, drop-off diagnosis. Triggers on 'fix onboarding', 'why do new accounts churn fast'."
|
|
4
|
+
status: active
|
|
5
|
+
tier: senior
|
|
6
|
+
source: package
|
|
7
|
+
domain: product
|
|
8
|
+
context_spine: [product, customer-segment, funnel-stage]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# onboarding-design
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
- New accounts churn inside their first 30 days and the team cannot name which onboarding milestone they failed to reach — drop-off is treated as a single number, not a stage-by-stage signal.
|
|
16
|
+
- A new segment is being onboarded against an onboarding flow built for a previous segment — the milestones likely do not match the new segment's switch-event shape.
|
|
17
|
+
- Time-to-first-value is *"days, maybe weeks"* — the answer needs to be a number with a falsifiable definition, not a sentiment.
|
|
18
|
+
|
|
19
|
+
Do NOT use to onboard employees (that is the Wing-4
|
|
20
|
+
employee-onboarding program — different audience, different
|
|
21
|
+
contract), diagnose long-cycle churn (route to
|
|
22
|
+
`churn-prevention`), or run the full visitor → paid funnel (route
|
|
23
|
+
to `funnel-analysis`).
|
|
24
|
+
|
|
25
|
+
## Cognition cluster
|
|
26
|
+
|
|
27
|
+
- **Mental model 14 — Meadows leverage points.** Onboarding is a
|
|
28
|
+
high-leverage system: a change in the milestone *definition*
|
|
29
|
+
reshapes retention more than a change in the welcome email. Pick
|
|
30
|
+
the leverage point — milestone definition over surface polish.
|
|
31
|
+
See
|
|
32
|
+
[`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 14.
|
|
33
|
+
- **Mental model 16 — Leading vs. lagging indicators.**
|
|
34
|
+
Time-to-first-value and milestone-completion are leading; D30
|
|
35
|
+
retention is lagging. Onboarding decisions built on lagging
|
|
36
|
+
signals can only confirm churn after it lands. See
|
|
37
|
+
`mental-models.md` § 16.
|
|
38
|
+
- **Mental model 13 — Occam's razor.** When new accounts drop off,
|
|
39
|
+
the simpler explanation usually wins: *"the first milestone is
|
|
40
|
+
too far from the buyer's job to complete in one session"* beats
|
|
41
|
+
*"users do not understand our value proposition."* Pick the
|
|
42
|
+
simpler explanation; it changes the move. See
|
|
43
|
+
`mental-models.md` § 13.
|
|
44
|
+
- **Context-spine — product + customer-segment + funnel-stage.**
|
|
45
|
+
Read the **product** slot for what the segment can actually
|
|
46
|
+
configure unattended, the **customer-segment** slot for the
|
|
47
|
+
segment's job and switch-event, and the **funnel-stage** slot for
|
|
48
|
+
where activation sits relative to signup and paid. See
|
|
49
|
+
[`context-spine`](../../../docs/contracts/context-spine.md).
|
|
50
|
+
|
|
51
|
+
## Procedure
|
|
52
|
+
|
|
53
|
+
### Step 0: Inspect — pull the current onboarding shape
|
|
54
|
+
|
|
55
|
+
Inspect the actual funnel: signup → milestone-1 → milestone-2 →
|
|
56
|
+
activation → D30. For each transition pull conversion rate (with
|
|
57
|
+
band) and median time-to-transition for the last two cohorts.
|
|
58
|
+
Inspect whether the activation event correlates with paid retention;
|
|
59
|
+
if not, the activation event is mis-defined and Step 2 fixes it.
|
|
60
|
+
|
|
61
|
+
### Step 1: Define time-to-first-value with a falsifiable definition
|
|
62
|
+
|
|
63
|
+
Write the sentence: *"\<Segment\> reaches first value when
|
|
64
|
+
\<observable buyer action\> happens, by \<target hours / days\>
|
|
65
|
+
after signup."* The action must be observable in instrumentation,
|
|
66
|
+
must correlate with paid retention (Step 0 inspection), and must be
|
|
67
|
+
something the buyer accomplishes — not something the product
|
|
68
|
+
displays.
|
|
69
|
+
|
|
70
|
+
### Step 2: Design three milestones earning activation
|
|
71
|
+
|
|
72
|
+
Each milestone is a buyer action with a definition, a friction
|
|
73
|
+
audit, and a default outcome.
|
|
74
|
+
|
|
75
|
+
1. **Milestone definition** — one sentence in buyer-action form
|
|
76
|
+
(*"buyer has imported one record"*, not *"buyer has seen the
|
|
77
|
+
import screen"*).
|
|
78
|
+
2. **Friction audit** — name the three highest-friction steps the
|
|
79
|
+
buyer must clear; each gets a *cheapest-fix* hypothesis.
|
|
80
|
+
3. **Default outcome** — if the buyer does nothing, what does the
|
|
81
|
+
product do for them? A milestone with no default is a milestone
|
|
82
|
+
the busy half of the segment will miss.
|
|
83
|
+
|
|
84
|
+
### Step 3: Audit friction at each milestone
|
|
85
|
+
|
|
86
|
+
For each milestone, time the buyer journey: clicks, fields, decision
|
|
87
|
+
points, wait states. Tag each as *blocker* (cannot proceed without
|
|
88
|
+
it), *toll* (proceed but slow), or *fog* (buyer unsure what to do
|
|
89
|
+
next). Fog kills more onboarding than blockers — fog is silent.
|
|
90
|
+
|
|
91
|
+
### Step 4: Diagnose drop-off by segment × milestone
|
|
92
|
+
|
|
93
|
+
The drop-off is rarely uniform. Segment by segment × milestone;
|
|
94
|
+
the cell with the steepest below-band drop is the binding fix.
|
|
95
|
+
Two cells dropping at once usually means a shared upstream cause
|
|
96
|
+
(account-provisioning failure, ICP mismatch) — fix upstream, not
|
|
97
|
+
in the milestone.
|
|
98
|
+
|
|
99
|
+
### Step 5: Hand back
|
|
100
|
+
|
|
101
|
+
Hand the time-to-first-value definition, the three milestones with
|
|
102
|
+
friction audits, and the segment × milestone drop-off table to the
|
|
103
|
+
implementing team and to
|
|
104
|
+
[`churn-prevention`](../churn-prevention/SKILL.md) for downstream
|
|
105
|
+
health-score signal definition. Onboarding owns days 0–30;
|
|
106
|
+
churn-prevention owns the signals after.
|
|
107
|
+
|
|
108
|
+
## Related Skills
|
|
109
|
+
|
|
110
|
+
**WHEN to use this**
|
|
111
|
+
|
|
112
|
+
- Designing or auditing days 0–30 of the customer lifecycle.
|
|
113
|
+
- Defining time-to-first-value as a falsifiable event, not a sentiment.
|
|
114
|
+
|
|
115
|
+
**WHEN NOT to use this**
|
|
116
|
+
|
|
117
|
+
- Long-cycle churn diagnosis (D60+) — route to
|
|
118
|
+
[`churn-prevention`](../churn-prevention/SKILL.md).
|
|
119
|
+
- Account expansion or upsell mechanics — route to
|
|
120
|
+
[`expansion-playbook`](../expansion-playbook/SKILL.md).
|
|
121
|
+
- Full visitor → paid funnel diagnosis — route to
|
|
122
|
+
[`funnel-analysis`](../funnel-analysis/SKILL.md).
|
|
123
|
+
- Activation-event redefinition or aha-moment selection — route to
|
|
124
|
+
[`activation-design`](../activation-design/SKILL.md).
|
|
125
|
+
|
|
126
|
+
## When the agent should load this
|
|
127
|
+
|
|
128
|
+
- "Fix our onboarding — new accounts churn fast."
|
|
129
|
+
- "Why does cohort-9 drop at milestone-2?"
|
|
130
|
+
- "Define time-to-first-value for the mid-market segment."
|
|
131
|
+
- "Wie viele Klicks bis zum ersten Wert?"
|
|
132
|
+
|
|
133
|
+
## Output
|
|
134
|
+
|
|
135
|
+
1. **`time-to-first-value.md`** — falsifiable definition: segment × observable action × target time × correlation with paid retention.
|
|
136
|
+
2. **`milestones.md`** — three milestones, each with definition · friction audit (blocker / toll / fog) · default outcome.
|
|
137
|
+
3. **`dropoff-table.md`** — segment × milestone conversion rates with bands; binding-fix cell flagged.
|
|
138
|
+
|
|
139
|
+
## Gotcha
|
|
140
|
+
|
|
141
|
+
- An activation event that does not correlate with paid retention is a vanity event. The funnel will look healthy and D30 will keep dropping.
|
|
142
|
+
- *"Onboarding emails"* is not onboarding design. Emails are a surface; milestones are the system. Designing emails before milestones is rearranging deck chairs.
|
|
143
|
+
- A milestone without a default outcome assumes the buyer drives the journey. Half of every segment will not — design for the half that will not.
|
|
144
|
+
|
|
145
|
+
## Do NOT
|
|
146
|
+
|
|
147
|
+
- Do NOT use industry-average onboarding benchmarks as targets; segment shape and product complexity dominate them.
|
|
148
|
+
- Do NOT confuse signup with activation; signup is consent, activation is value.
|
|
149
|
+
- Do NOT redesign milestones one at a time mid-cycle without an A/B holdout — concurrent changes destroy the signal.
|
|
150
|
+
|
|
151
|
+
## Runnable example
|
|
152
|
+
|
|
153
|
+
B2B mid-market analytics tool, D30 retention sagging from 71 % to 58 % over two quarters.
|
|
154
|
+
|
|
155
|
+
- Time-to-first-value — *"Mid-market: buyer reaches first value when one connected data source returns one rendered dashboard, within 24 hours of signup."* Correlation with D90 paid retention: r = 0.62.
|
|
156
|
+
- Milestones — *(1)* connect data source (friction: OAuth scope confusion = fog; default: paste-CSV fallback). *(2)* save first query (friction: schema picker = toll; default: starter-template per segment). *(3)* share dashboard with one teammate (friction: invite-flow buried = blocker; default: auto-invite admin).
|
|
157
|
+
- Drop-off table — Mid-Market × milestone-1: 41 % conv (band 35–47, vs trailing-cohort median 62 %). Binding fix: OAuth fog at milestone-1.
|
|
158
|
+
- Hand-off — milestones + drop-off → eng team for OAuth-fog fix; `churn-prevention` picks up D30+ health-score signals.
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pipeline-strategy
|
|
3
|
+
description: "Use when designing or auditing a sales pipeline — stage exit criteria, per-cell conversion, coverage reasoning, leak detection. Triggers on 'tighten our pipeline', 'where is the leak'."
|
|
4
|
+
status: active
|
|
5
|
+
tier: senior
|
|
6
|
+
source: package
|
|
7
|
+
domain: product
|
|
8
|
+
context_spine: [product, customer-segment, channel-stage]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# pipeline-strategy
|
|
12
|
+
|
|
13
|
+
## When to use
|
|
14
|
+
|
|
15
|
+
- Pipeline stages are named but have no exit criteria — reps move deals on gut and forecasts ride on opinion, not evidence.
|
|
16
|
+
- Coverage is being computed from a flat multiple (*"3x quota"*) without per-stage conversion rates, so the multiple flatters or punishes the team at random.
|
|
17
|
+
- A board ask names *"why did pipeline coverage look fine and the quarter still missed?"* — a leak is hiding inside a healthy-looking total.
|
|
18
|
+
|
|
19
|
+
Do NOT use to qualify a single deal (route to
|
|
20
|
+
`deal-qualification-meddic`), construct the forecast call from a
|
|
21
|
+
locked pipeline (route to `forecast-accuracy`), or configure
|
|
22
|
+
CRM stage fields in a specific vendor tool (out of scope — this
|
|
23
|
+
skill is strategy, not tooling).
|
|
24
|
+
|
|
25
|
+
## Cognition cluster
|
|
26
|
+
|
|
27
|
+
- **Mental model 6 — Theory of constraints.** A pipeline has one
|
|
28
|
+
binding stage at any time; rates upstream of the constraint are
|
|
29
|
+
inventory that never ships, rates downstream cannot exceed the
|
|
30
|
+
constraint. Find the constraint before changing anything else. See
|
|
31
|
+
[`docs/contracts/mental-models.md`](../../../docs/contracts/mental-models.md) § 6.
|
|
32
|
+
- **Mental model 16 — Leading vs. lagging indicators.** Stage-to-stage
|
|
33
|
+
conversion is leading; closed-won is lagging. A coverage call built
|
|
34
|
+
on lagging signals can only confirm the miss after it lands. See
|
|
35
|
+
`mental-models.md` § 16.
|
|
36
|
+
- **Mental model 3 — Pareto (80/20).** ~20 % of segment × stage cells
|
|
37
|
+
carry ~80 % of revenue risk. Coverage uniformly applied across cells
|
|
38
|
+
is theatre; coverage weighted by cell-level conversion is reasoning.
|
|
39
|
+
See `mental-models.md` § 3.
|
|
40
|
+
- **Context-spine — product + customer-segment + channel-stage.**
|
|
41
|
+
Read the **product** slot for what is actually sellable this
|
|
42
|
+
quarter, the **customer-segment** slot for which segments belong in
|
|
43
|
+
pipeline (and which are pre-pipeline education), and the
|
|
44
|
+
**channel-stage** slot for where each segment enters. See
|
|
45
|
+
[`context-spine`](../../../docs/contracts/context-spine.md).
|
|
46
|
+
|
|
47
|
+
## Procedure
|
|
48
|
+
|
|
49
|
+
### Step 0: Inspect — inventory the current pipeline shape
|
|
50
|
+
|
|
51
|
+
Pull stage counts, $ value, age in stage, and stage-to-stage
|
|
52
|
+
conversion for the trailing two quarters. Inspect whether each
|
|
53
|
+
stage has a written exit criterion; if not, write one now (one
|
|
54
|
+
bullet per stage, falsifiable). A pipeline without exit criteria
|
|
55
|
+
cannot be audited.
|
|
56
|
+
|
|
57
|
+
### Step 1: Lock stage definitions with exit criteria
|
|
58
|
+
|
|
59
|
+
Each stage gets three lines:
|
|
60
|
+
|
|
61
|
+
1. **Definition** — what the deal looks like in this stage (one sentence).
|
|
62
|
+
2. **Entry trigger** — the buyer event that moves a deal in (not a rep action).
|
|
63
|
+
3. **Exit criterion** — the artefact or signal that proves the deal earned the next stage (one bullet, falsifiable; *"meeting booked"* is not falsifiable, *"economic buyer named and confirmed"* is).
|
|
64
|
+
|
|
65
|
+
Reject any stage whose exit criterion is a rep activity ("call
|
|
66
|
+
made") rather than a buyer signal ("buyer confirmed budget owner").
|
|
67
|
+
|
|
68
|
+
### Step 2: Compute per-stage conversion rates with bands
|
|
69
|
+
|
|
70
|
+
For each stage transition, compute the trailing-quarter rate and a
|
|
71
|
+
95 % confidence band. Segment by customer-segment (and channel-stage
|
|
72
|
+
if the channel mix changed). Report the band, not the point — a
|
|
73
|
+
30 % rate on 12 deals and a 30 % rate on 300 deals are different
|
|
74
|
+
signals.
|
|
75
|
+
|
|
76
|
+
### Step 3: Find the binding constraint
|
|
77
|
+
|
|
78
|
+
The constraint is the stage whose conversion rate is **furthest
|
|
79
|
+
below its segment-historical median, weighted by $ value flowing
|
|
80
|
+
through it**. Add deals upstream of any other stage and watch them
|
|
81
|
+
queue; add deals upstream of the constraint and they queue twice as
|
|
82
|
+
fast. A pipeline-coverage call that ignores the constraint
|
|
83
|
+
multiplies inventory the team cannot ship.
|
|
84
|
+
|
|
85
|
+
### Step 4: Compute coverage cell by cell, not by total
|
|
86
|
+
|
|
87
|
+
Coverage = (pipeline $ at stage *s*) ÷ (target closed-won $ in
|
|
88
|
+
window) ÷ (cumulative conversion from *s* to closed-won). Compute
|
|
89
|
+
per segment × stage cell. A 3× total can hide a 0.8× cell — the
|
|
90
|
+
0.8× cell is the quarter's risk.
|
|
91
|
+
|
|
92
|
+
### Step 5: Name three leaks with falsifiable hypotheses
|
|
93
|
+
|
|
94
|
+
For the three lowest coverage cells (or the three steepest
|
|
95
|
+
conversion-rate drops vs trailing-quarter median), write one
|
|
96
|
+
sentence per leak: *"\<cell\> leaks at \<stage\> because \<cause\>;
|
|
97
|
+
falsified if \<test\> shows \<expected signal\>."* If a cause is
|
|
98
|
+
not testable in under two weeks, the hypothesis is not yet sharp
|
|
99
|
+
enough — sharpen before recommending a fix.
|
|
100
|
+
|
|
101
|
+
### Step 6: Hand back
|
|
102
|
+
|
|
103
|
+
Hand the locked stages, the per-cell coverage table, and the three
|
|
104
|
+
leak hypotheses to
|
|
105
|
+
[`forecast-accuracy`](../forecast-accuracy/SKILL.md) for
|
|
106
|
+
commit / best-case categorisation, and to
|
|
107
|
+
[`deal-qualification-meddic`](../deal-qualification-meddic/SKILL.md)
|
|
108
|
+
when the leak is upstream qualification, not late-stage execution.
|
|
109
|
+
|
|
110
|
+
## Related Skills
|
|
111
|
+
|
|
112
|
+
**WHEN to use this**
|
|
113
|
+
|
|
114
|
+
- Designing or auditing pipeline stages and per-stage rates.
|
|
115
|
+
- Computing coverage by segment × stage instead of by total.
|
|
116
|
+
|
|
117
|
+
**WHEN NOT to use this**
|
|
118
|
+
|
|
119
|
+
- Single-deal qualification — route to
|
|
120
|
+
[`deal-qualification-meddic`](../deal-qualification-meddic/SKILL.md).
|
|
121
|
+
- Forecast call construction from a locked pipeline — route to
|
|
122
|
+
[`forecast-accuracy`](../forecast-accuracy/SKILL.md).
|
|
123
|
+
- Product-led conversion-funnel diagnosis (signup → activation → paid) — route to
|
|
124
|
+
[`funnel-analysis`](../funnel-analysis/SKILL.md).
|
|
125
|
+
|
|
126
|
+
## When the agent should load this
|
|
127
|
+
|
|
128
|
+
- "Tighten our pipeline stages — exit criteria are vibes."
|
|
129
|
+
- "Coverage looks 3× and we still missed. Where is the leak?"
|
|
130
|
+
- "Audit per-stage conversion by segment."
|
|
131
|
+
- "Welche Stage ist das Bottleneck im Quartal?"
|
|
132
|
+
|
|
133
|
+
## Output
|
|
134
|
+
|
|
135
|
+
1. **`stage-definitions.md`** — one block per stage: definition · entry trigger · exit criterion (buyer signal, falsifiable).
|
|
136
|
+
2. **`coverage-by-cell.md`** — table of segment × stage cells with $ pipeline, cumulative conversion, and computed coverage. Cells under 1× flagged.
|
|
137
|
+
3. **`leak-hypotheses.md`** — three leaks with falsifiable test + expected signal + 2-week deadline.
|
|
138
|
+
|
|
139
|
+
## Gotcha
|
|
140
|
+
|
|
141
|
+
- A pipeline with exit criteria written as rep activities (*"call made"*) is unauditable — reps move deals on activity, not on buyer signal, and forecasts inherit the noise.
|
|
142
|
+
- Total-pipeline coverage is the wrong unit. A 3× total made of 5× early-stage and 0.5× late-stage will miss the quarter even though the dashboard looks healthy.
|
|
143
|
+
- Per-stage conversion rates without confidence bands are gossip dressed as evidence. Twelve deals give you a band so wide the rate is uninformative.
|
|
144
|
+
|
|
145
|
+
## Do NOT
|
|
146
|
+
|
|
147
|
+
- Do NOT invent stages to flatter the dashboard. Each stage must have a buyer signal earning the transition.
|
|
148
|
+
- Do NOT compare the quarter's coverage to a fixed historical multiple if segment mix changed — recompute per cell.
|
|
149
|
+
- Do NOT recommend a fix to a leak before naming the falsifiable test that proves the cause.
|
|
150
|
+
|
|
151
|
+
## Runnable example
|
|
152
|
+
|
|
153
|
+
Mid-market SaaS, total coverage 3.1×, quarter missed by 18 %.
|
|
154
|
+
|
|
155
|
+
- Stages with exit criteria — *Discovery → Qualified (economic buyer named) → Proposal (pricing in writing) → Negotiation (terms in redline) → Won.*
|
|
156
|
+
- Per-cell coverage — Mid-Market × Proposal: **0.7×**. Mid-Market × Discovery: **6.4×**. Enterprise × Negotiation: **2.1×**.
|
|
157
|
+
- Constraint — Proposal → Negotiation conversion 22 % vs 41 % trailing-quarter median (band 14–31 %). Constraint is **Proposal exit**, not pipeline volume.
|
|
158
|
+
- Leaks — *(1)* Mid-Market proposals stall at pricing-page review; falsified if a pre-proposal pricing-walkthrough call lifts Proposal → Negotiation to 35 %+ within four weeks. *(2)* Enterprise Negotiation drags > 60 days; falsified if procurement-checklist shipped at Proposal stage cuts median age by 20 days. *(3)* Discovery overflow is unqualified — route to `deal-qualification-meddic`.
|
|
159
|
+
- Hand-off — coverage table + leaks → `forecast-accuracy` for commit / best-case rebuild on the corrected denominator.
|