Skip to content

launch-feature

launch-feature takes a feature that just shipped and produces the artefacts the team needs to announce it. It spans two audiences from one source: acquisition surfaces (landing-page copy, social posts) and lifecycle messages to your existing contact list (a professional HTML email and a WhatsApp message), plus a commercial changelog entry and an optional video script and image assets.

Why a launch skill instead of “the marketer writes it”

Two reasons:

  • The feature context is local. The launch copy that lands well refers to the actual problem the feature solves — the RM’s motivation, the spec’s constraints, the PR’s diff. That context lives in the repo, not in the marketer’s head. Generating from the source means the launch matches the feature.
  • The launch is multi-channel. Email, WhatsApp, X, LinkedIn, Instagram, landing page — each has a different voice and length. Writing every version manually is high-friction and prone to drift between channels. The skill produces them all from one source with the channel-specific voice applied, and you can scope to a subset — e.g. --channels=email,whatsapp for a lifecycle announcement to your list.

What goes in a launch kit

The output lives at docs/marketing/launches/YYYY-MM-DD-<slug>/:

FileChannel
copy-lp.mdLanding-page section copy
email.mdAnnouncement email — copy
email.htmlAnnouncement email — send-ready HTML (brand tokens, unsubscribe footer, UTM-tagged links)
whatsapp.mdWhatsApp broadcast message
post-instagram.mdInstagram post
post-linkedin.mdLinkedIn post
thread-x.mdX / Twitter thread
changelog-vendedor.mdCommercial changelog entry (user-facing)
roteiro-video.md60-90 second video script (if applicable)
image-prompts.md / images/Optional image assets
README.mdKit index, recording which override source each channel used

The team picks which channels are relevant and ignores the rest — the skill produces them all to remove the friction of “I should write a WhatsApp message too”.

Voice per channel

  • Email — second-person, benefit-led, structured as what changed / why it matters / what to do with a single call to action. The HTML variant carries the brand tokens from brand.yml, an unsubscribe + company-address footer, and UTM-tagged links; the copy follows the embedded SaaS email framework.
  • WhatsApp — short: a bold headline, one hook line, up to two highlights, and one CTA link.
  • X — thread; the first post is the hook, subsequent posts develop the use case, the last post is the link.
  • LinkedIn — longer than X, professional tone, single post.
  • Instagram — visual-first caption with a hook and a CTA.
  • Landing-page copy — third-person, benefit-led headline, technical proof points.
  • Commercial changelog — neutral tone, focused on user- visible behaviour, no internal jargon.

Approval-gated by design

The skill drafts; it doesn’t publish. Every artefact lands as a file the team reviews before sending. The marketer role’s tools: allowlist explicitly forbids the file-modification or network tools that would let an agent publish autonomously — a deliberate guardrail.

Pairing with launch-release

launch-feature announces one shipped feature. launch-release announces a whole release that bundled several — it adds a release-notes summary, a status-page entry, an in-app banner, and a themed landing page, channels that fit a versioned release but not a single feature.

Source: skills/launch-feature/SKILL.md