@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.
Files changed (39) hide show
  1. package/.agent-src/personas/cmo.md +122 -0
  2. package/.agent-src/personas/customer-success-lead.md +126 -0
  3. package/.agent-src/personas/growth-pm.md +134 -0
  4. package/.agent-src/personas/revops.md +125 -0
  5. package/.agent-src/skills/activation-design/SKILL.md +160 -0
  6. package/.agent-src/skills/churn-prevention/SKILL.md +156 -0
  7. package/.agent-src/skills/content-funnel-design/SKILL.md +170 -0
  8. package/.agent-src/skills/deal-qualification-meddic/SKILL.md +165 -0
  9. package/.agent-src/skills/editorial-calendar/SKILL.md +161 -0
  10. package/.agent-src/skills/expansion-playbook/SKILL.md +171 -0
  11. package/.agent-src/skills/forecast-accuracy/SKILL.md +157 -0
  12. package/.agent-src/skills/fundraising-narrative/SKILL.md +189 -0
  13. package/.agent-src/skills/funnel-analysis/SKILL.md +26 -2
  14. package/.agent-src/skills/gtm-launch/SKILL.md +165 -0
  15. package/.agent-src/skills/messaging-architecture/SKILL.md +184 -0
  16. package/.agent-src/skills/onboarding-design/SKILL.md +158 -0
  17. package/.agent-src/skills/pipeline-strategy/SKILL.md +159 -0
  18. package/.agent-src/skills/positioning-strategy/SKILL.md +177 -0
  19. package/.agent-src/skills/retention-loops/SKILL.md +161 -0
  20. package/.agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  21. package/.agent-src/skills/voice-and-tone-design/SKILL.md +163 -0
  22. package/.agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  23. package/.claude-plugin/marketplace.json +17 -2
  24. package/CHANGELOG.md +45 -169
  25. package/README.md +2 -2
  26. package/docs/architecture.md +2 -2
  27. package/docs/archive/CHANGELOG-pre-2.7.0.md +185 -0
  28. package/docs/catalog.md +19 -3
  29. package/docs/contracts/adr-gtm-context-spine.md +115 -0
  30. package/docs/contracts/command-surface-tiers.md +5 -0
  31. package/docs/contracts/context-spine.md +50 -12
  32. package/docs/contracts/cross-wing-handoff.md +3 -3
  33. package/docs/contracts/persona-schema.md +20 -3
  34. package/docs/guidelines/gtm-handoff.md +114 -0
  35. package/package.json +1 -1
  36. package/scripts/lint_context_spine_usage.py +4 -1
  37. package/scripts/schemas/persona.schema.json +5 -0
  38. package/scripts/schemas/skill.schema.json +2 -2
  39. 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.