- THE COMPLIANCE MODE IS LAW. The caller passes a per-platform mode (
references/compliance-modes.md);
it overrides every default. If the mode forbids vote mobilization (e.g. Hacker News), do NOT produce
supporter-wave plans or "we're live, come engage" broadcasts — coach presence-in-thread only. Never
produce copy that violates the platform's rules.
- NEVER SOLICIT OR INCENTIVIZE VOTES. No "please upvote", "support us", "give us a vote", "help us hit
#1", and never tie any discount/perk to a vote. Ask people to visit, try, and give honest feedback.
Every message passes the banned-phrase scan in
references/compliance-modes.md before it ships.
- PERSONALIZE; DON'T SPAM. 1:1 DMs go only to people the user actually knows, personalized each time.
Identical copy-pasted blasts to strangers and scraped cold emails are prohibited "mass messaging".
Opt-in waitlist/customer email framed for feedback is fine; cold mass-DM is not.
- GROUND IT IN THE REAL PRODUCT. Read
.ulpi/launch/positioning.md if present; if it's missing (e.g. run
standalone before a platform skill produced it), gather the product summary from the caller or via one
or two focused questions. Never invent features or proof.
- BE HONEST ABOUT REACH. If the user has little or no audience, say so plainly and coach building one —
don't imply outreach can manufacture a result it can't.
- STAGGER, DON'T BLAST (when the mode allows waves). Notify in waves across the day to sustain genuine
velocity; a single mass spike both underperforms and looks like manipulation.
launch-outreach
Inputs
$request: the platform/launch and the audience/channels available. When invoked by a launch skill,
the caller passes the compliance mode, the product (positioning.md), and the launch date/time.
Standalone, gather these with one or two focused questions.
Goal
Produce a segmented outreach plan + paste-ready, compliant messages for the launch, written to
.ulpi/launch/<channel>/OUTREACH.md (the <channel> is the hyphenated launch slug the caller passes, e.g.
product-hunt; or handed back to the caller). Covers recruiting the audience
before launch and notifying it on the day, in the platform's compliance mode.
Step 0: Resolve context & compliance mode
Adopt the caller's compliance mode, or pick it from references/compliance-modes.md by platform. Confirm
the product, the launch date/time (timezone), and what audience/channels exist. Success criteria: the
mode, product, date, and available reach are known.
Step 1: Recruit / assess the audience (pre-launch)
Load references/outreach-playbook.md. If there's runway before launch, coach building a warm list
off-platform (a simple email-capture landing page + building-in-public on X/LinkedIn) — many platforms
no longer offer a native pre-launch notify list. Inventory what the user already has (list size, social
following, communities they're a real member of, existing users). Be realistic about what that reach
can produce. Success criteria: an honest picture of available reach and a plan to grow it if there's time.
Step 2: Segment & plan reach
Segment the audience and decide how each is reached (load references/outreach-playbook.md):
- Team / co-founders — briefed, on-call.
- Friends & peers — personal, low-pressure heads-up.
- Existing users / customers / waitlist — highest intent; a genuine "we're live, tell us what to fix".
- Communities you're a real member of — a single organic heads-up where allowed, never a vote drive.
- Public audience (X/LinkedIn followers) — launch-day posts.
DM the top ~20–50 supporters personally (personalized each time); reach the rest via segmented email
and broadcast posts. Success criteria: each segment has a channel, a message type, and a send time.
Step 3: Draft the message set (grounded + compliant)
Load references/templates.md. Draft, personalized to the product from positioning.md, in the
compliance mode: the pre-launch teaser DM, the waitlist "we launch soon, I'd love your honest feedback"
email, the launch-day email wave(s), the community heads-up, the personal 1:1 DM, and the social
amplification posts (X thread, LinkedIn). Every message asks for a visit / try / feedback, never a
vote. Success criteria: every message is paste-ready, personalized, and on-mode.
Step 4: Wave plan (only if the mode allows mobilization)
If the compliance mode allows supporter waves (e.g. Product Hunt), lay out a staggered send schedule
across the launch day (closest circle first, then list waves by engagement/timezone, holding a reserve for
the midday lull and final hours) so velocity is sustained, not spiked. If the mode forbids mobilization
(e.g. Hacker News), skip this and coach genuine in-thread presence instead. Success criteria: a
wave schedule that fits the mode — or a clear note that waves don't apply here.
Step 5: Compliance scan
Run the banned-phrase scan (references/compliance-modes.md) over every message. Any hit → rewrite.
Success criteria: zero vote-soliciting/incentivizing/mass-spam language anywhere.
Guardrails
- The compliance mode overrides all defaults; when unsure, ask the caller.
- Never solicit or incentivize votes; never tie a perk to a vote.
- Personalize 1:1 outreach; no identical blasts to strangers, no scraped cold email.
- Ground messages in the real product; reuse
.ulpi/launch/positioning.md.
- Be honest about reach; don't imply outreach can fake momentum.
- Respect each community's self-promo rules; share only where the user genuinely participates.
- This skill writes person-to-person and broadcast outreach — not the listing/first-comment copy (that's
launch-copy).
When To Load References
references/outreach-playbook.md — recruiting an audience, the five segments, reach plan, and the
wave strategy with timing (Steps 1, 2, 4).
references/templates.md — the paste-ready, compliant message library: teaser DM, waitlist email,
launch-day email waves, community heads-up, 1:1 DM, X thread, LinkedIn post (Step 3).
references/compliance-modes.md — per-platform compliance dials and the banned-phrase scan
(Steps 0, 5).
Output Contract
Write / return:
- an
OUTREACH.md with the segmented plan and the paste-ready, compliant messages per segment
- (if the mode allows) a staggered launch-day wave schedule; otherwise a note that waves don't apply
- the compliance affirmation: zero vote-soliciting/incentivizing/mass-spam language, scan passed
1---2name: launch-outreach3description: Build and notify a launch's supporter audience with paste-ready, platform-COMPLIANT outreach — the messages you send to PEOPLE, never the on-listing copy. Recruits an audience before launch, segments it (team · friends · users/waitlist · communities · public followers), and notifies it in timed waves on the day. Drafts the teaser DMs, waitlist and launch-day emails, community heads-ups, 1:1 DMs, and X/LinkedIn amplification posts, and writes them to `.ulpi/launch/<channel>/OUTREACH.md`. Parameterized by a per-platform COMPLIANCE MODE the caller passes (Product Hunt: supporter waves allowed, ask for feedback not upvotes; Hacker News: NO vote mobilization at all); grounds every message in `.ulpi/launch/positioning.md` and NEVER solicits/incentivizes votes or mass-spams. Shared audience block of the launch-* family, invoked by the per-platform runners (`launch-product-hunt`, `launch-hacker-news`, `launch-x`, `launch-linkedin`) or run standalone. Use when a launch needs who-to-tell and what-to-say, compliant to e4---5
6<EXTREMELY-IMPORTANT>
7This skill drafts outreach for a launch. Non-negotiable rules:
8
91. THE COMPLIANCE MODE IS LAW. The caller passes a per-platform mode (`references/compliance-modes.md`);
10 it overrides every default. If the mode forbids vote mobilization (e.g. Hacker News), do NOT produce
11 supporter-wave plans or "we're live, come engage" broadcasts — coach presence-in-thread only. Never
12 produce copy that violates the platform's rules.
132. NEVER SOLICIT OR INCENTIVIZE VOTES. No "please upvote", "support us", "give us a vote", "help us hit
14 #1", and never tie any discount/perk to a vote. Ask people to **visit, try, and give honest feedback**.
15 Every message passes the banned-phrase scan in `references/compliance-modes.md` before it ships.
163. PERSONALIZE; DON'T SPAM. 1:1 DMs go only to people the user actually knows, personalized each time.
17 Identical copy-pasted blasts to strangers and scraped cold emails are prohibited "mass messaging".
18 Opt-in waitlist/customer email framed for feedback is fine; cold mass-DM is not.
194. GROUND IT IN THE REAL PRODUCT. Read `.ulpi/launch/positioning.md` if present; if it's missing (e.g. run
20 standalone before a platform skill produced it), gather the product summary from the caller or via one
21 or two focused questions. Never invent features or proof.
225. BE HONEST ABOUT REACH. If the user has little or no audience, say so plainly and coach building one —
23 don't imply outreach can manufacture a result it can't.
246. STAGGER, DON'T BLAST (when the mode allows waves). Notify in waves across the day to sustain genuine
25 velocity; a single mass spike both underperforms and looks like manipulation.
26</EXTREMELY-IMPORTANT>
27
28# launch-outreach
29
30## Inputs
31
32- `$request`: the platform/launch and the audience/channels available. When invoked by a launch skill,
33 the caller passes the **compliance mode**, the product (`positioning.md`), and the launch date/time.
34 Standalone, gather these with one or two focused questions.
35
36## Goal
37
38Produce a **segmented outreach plan + paste-ready, compliant messages** for the launch, written to
39`.ulpi/launch/<channel>/OUTREACH.md` (the `<channel>` is the hyphenated launch slug the caller passes, e.g.
40`product-hunt`; or handed back to the caller). Covers recruiting the audience
41before launch and notifying it on the day, in the platform's compliance mode.
42
43## Step 0: Resolve context & compliance mode
44
45Adopt the caller's compliance mode, or pick it from `references/compliance-modes.md` by platform. Confirm
46the product, the launch date/time (timezone), and what audience/channels exist. **Success criteria**: the
47mode, product, date, and available reach are known.
48
49## Step 1: Recruit / assess the audience (pre-launch)
50
51Load `references/outreach-playbook.md`. If there's runway before launch, coach building a warm list
52**off-platform** (a simple email-capture landing page + building-in-public on X/LinkedIn) — many platforms
53no longer offer a native pre-launch notify list. Inventory what the user already has (list size, social
54following, communities they're a real member of, existing users). **Be realistic** about what that reach
55can produce. **Success criteria**: an honest picture of available reach and a plan to grow it if there's time.
56
57## Step 2: Segment & plan reach
58
59Segment the audience and decide how each is reached (load `references/outreach-playbook.md`):
60
611. **Team / co-founders** — briefed, on-call.
622. **Friends & peers** — personal, low-pressure heads-up.
633. **Existing users / customers / waitlist** — highest intent; a genuine "we're live, tell us what to fix".
644. **Communities** you're a real member of — a single organic heads-up where allowed, never a vote drive.
655. **Public audience** (X/LinkedIn followers) — launch-day posts.
66
67**DM the top ~20–50 supporters personally** (personalized each time); reach the rest via segmented email
68and broadcast posts. **Success criteria**: each segment has a channel, a message type, and a send time.
69
70## Step 3: Draft the message set (grounded + compliant)
71
72Load `references/templates.md`. Draft, personalized to the product from `positioning.md`, in the
73compliance mode: the pre-launch teaser DM, the waitlist "we launch soon, I'd love your honest feedback"
74email, the launch-day email wave(s), the community heads-up, the personal 1:1 DM, and the social
75amplification posts (X thread, LinkedIn). Every message asks for a **visit / try / feedback**, never a
76vote. **Success criteria**: every message is paste-ready, personalized, and on-mode.
77
78## Step 4: Wave plan (only if the mode allows mobilization)
79
80If the compliance mode allows supporter waves (e.g. Product Hunt), lay out a **staggered send schedule**
81across the launch day (closest circle first, then list waves by engagement/timezone, holding a reserve for
82the midday lull and final hours) so velocity is sustained, not spiked. If the mode forbids mobilization
83(e.g. Hacker News), **skip this** and coach genuine in-thread presence instead. **Success criteria**: a
84wave schedule that fits the mode — or a clear note that waves don't apply here.
85
86## Step 5: Compliance scan
87
88Run the banned-phrase scan (`references/compliance-modes.md`) over every message. Any hit → rewrite.
89**Success criteria**: zero vote-soliciting/incentivizing/mass-spam language anywhere.
90
91## Guardrails
92
93- The compliance mode overrides all defaults; when unsure, ask the caller.
94- Never solicit or incentivize votes; never tie a perk to a vote.
95- Personalize 1:1 outreach; no identical blasts to strangers, no scraped cold email.
96- Ground messages in the real product; reuse `.ulpi/launch/positioning.md`.
97- Be honest about reach; don't imply outreach can fake momentum.
98- Respect each community's self-promo rules; share only where the user genuinely participates.
99- This skill writes person-to-person and broadcast outreach — not the listing/first-comment copy (that's
100 `launch-copy`).
101
102## When To Load References
103
104- `references/outreach-playbook.md` — recruiting an audience, the five segments, reach plan, and the
105 wave strategy with timing (Steps 1, 2, 4).
106- `references/templates.md` — the paste-ready, compliant message library: teaser DM, waitlist email,
107 launch-day email waves, community heads-up, 1:1 DM, X thread, LinkedIn post (Step 3).
108- `references/compliance-modes.md` — per-platform compliance dials and the banned-phrase scan
109 (Steps 0, 5).
110
111## Output Contract
112
113Write / return:
114
1151. an `OUTREACH.md` with the segmented plan and the paste-ready, compliant messages per segment
1162. (if the mode allows) a staggered launch-day wave schedule; otherwise a note that waves don't apply
1173. the compliance affirmation: zero vote-soliciting/incentivizing/mass-spam language, scan passed