chore(marketing): 0.1.0 launch campaign drafts - #1074
Open
blove wants to merge 2 commits into
Open
Conversation
Adds the campaign for the 0.1.0 announcement, following the grade-a-trust structure: a plan doc, per-adapter JSON drafts for X and Dev.to, and a manual-channels file for Hacker News, r/Angular, Discord, LinkedIn, and newsletter pitches. Every draft is review_status: awaiting-brian. Merging this posts nothing. The plan assigns a different angle per channel rather than repeating one paragraph five times. Hacker News leads with the versioning confession — 55 breaking changes shipped under a patch counter — because a version-bump submission reads as promotion and gets flagged, while a self-critical semver post is something that community argues about on its own. Reddit and Dev.to lead with the "where it stops" list. X, Discord and LinkedIn carry the complete-and-free story, always pairing "free" with what the paid tiers actually sell. Two findings from reading the existing assets, both recorded in the plan: - marketing/assets/src/brand.ts:14 defaults the card eyebrow to 'Agent UI for Angular · MIT', which is retired positioning. The website's public-copy contract does not scan marketing/, so nothing catches it. The plan requires passing an explicit eyebrow and shows the call. - The X adapter's metrics() is a stub until the API tier is upgraded, so impressions are not collectable. Success is defined on referral sessions and the try-without-a-backend page instead. No competitor comparisons, unlike grade-a-trust, which named other frameworks only because it was reporting a public leaderboard. Verification: both adapter drafts pass the real validateDraft() — all eight X parts inside 280 code points, Dev.to tags matching ^[a-z0-9]+$. Every UTM link resolves against the live post, which was confirmed at HTTP 200 with its table, emphasis and index listing rendering correctly before these drafts were committed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
…to drafts Both drafts had Brian confessing that an earlier homepage draft wrongly claimed destructive actions were held for approval automatically. He never said that. The detail came from a code comment in apps/website/src/lib/preflight-checklist.ts recording a verification pass, and writing it up as his own admission puts words in his mouth about his own work. docs/gtm/voice.md is explicit: never fabricate a first-person anecdote. The "where it stops" list stands on its own without a manufactured confession attached to it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Campaign drafts for the 0.1.0 announcement post, which is now live on production.
Merging this posts nothing. Every draft is
review_status: awaiting-brian.Files
-launch-plan.md-x.json-devto.json-manual-channels.mdSame structure as
grade-a-trust, which is the only prior campaign in this directory.The one decision worth arguing with
"We released 0.1.0" is not a story, so no channel gets that sentence. Three angles, assigned by what each channel rewards:
Sequence is Day 0 X/Discord → Day 2 Dev.to → Day 4 HN + Reddit → Day 5 LinkedIn → Day 6–7 newsletters. The two-day gap before HN is so Dev.to comments can catch a wrong technical claim while correcting it is still cheap.
Two findings from reading the existing assets
marketing/assets/src/brand.ts:14defaults the card eyebrow to'Agent UI for Angular · MIT'— retired positioning.public-copy-contract.tsdoes not scanmarketing/, so nothing catches this. The plan requires an expliciteyebrowand shows the call. Worth fixing the default separately.metrics()is a stub until the API tier upgrade, so impressions are not collectable. Success is defined on referral sessions and/docs/chat/getting-started/try-without-a-backendinstead.Deliberate departure from precedent
No competitor comparisons.
grade-a-trustnamed other frameworks because it was reporting a public leaderboard; this campaign has no such cover, and a "vs them" frame invites a fight over a story that is entirely about what we ship.Verification
validateDraft()— 8 X parts all inside 280 code points, Dev.to tags matching^[a-z0-9]+$, 4-tag limit respected.<em>emphasis intact, featured on/blog, sampled internal links all 200.utm_campaign=threadplane-0-1-0with per-channel source and medium.Not included
No gratitude paragraph in the source post yet —
voice.mdlists naming people you are thankful to as a recurring value, and a milestone is the natural place for it. Omitted rather than fabricate names; easy follow-up.🤖 Generated with Claude Code