|
| 1 | +# Campaign Spec — "Graded A for Trust" |
| 2 | + |
| 3 | +> GTM distribution plan for the HVTrust Grade A announcement. Source content: the blog post |
| 4 | +> `apps/website/content/blog/2026-06-24-threadplane-earns-grade-a-hvtrust.mdx`. |
| 5 | +> Voice/messaging source of truth: `docs/gtm/voice.md`, `docs/gtm/messaging.md`, `docs/gtm/icp.md`. |
| 6 | +> Tracking taxonomy: `docs/gtm/taxonomy.md`. |
| 7 | +
|
| 8 | +## 1. Objective & KPIs |
| 9 | + |
| 10 | +Primary objective: **awareness that converts to adoption.** The blog post itself names adoption as |
| 11 | +our weakest trust signal, so the campaign turns that candor into the ask. |
| 12 | + |
| 13 | +| KPI | Baseline (Day 0) | Window | Source | |
| 14 | +| --- | --- | --- | --- | |
| 15 | +| GitHub stars | 99 | 14 days | github.com/cacheplane/angular-agent-framework | |
| 16 | +| npm weekly downloads (`@threadplane/*`) | snapshot Day 0 | 14 days | npmjs + `ngaf:postinstall` (PostHog) | |
| 17 | +| Referral sessions → blog + listing | 0 | 14 days | PostHog `$pageview` UTMs, `marketing:external_link_click` | |
| 18 | +| Earned mentions | 0 | 14 days | manual (HN, Reddit, reposts, newsletters) | |
| 19 | + |
| 20 | +**Measurement method:** snapshot stars + npm weekly downloads on Day 0 and Day 14. Every outbound |
| 21 | +link carries `utm_campaign=grade-a-trust`. Honest caveat: stars/downloads are noisy and attribution |
| 22 | +is fuzzy — read directionally. |
| 23 | + |
| 24 | +## 2. Core narrative & guardrails |
| 25 | + |
| 26 | +**The shareable paradox:** Threadplane ranks #7 of 75 agent frameworks on trust — above CrewAI, |
| 27 | +AutoGen, and LangChain — with 99 stars against their tens of thousands. Independently graded, and we |
| 28 | +name our own weak spot. This hook is credible (third-party) *and* earns the adoption ask. |
| 29 | + |
| 30 | +**Guardrails:** |
| 31 | +- **Do not claim "first OSSF product" or "first MIT-licensed framework."** Unprovable superlative; |
| 32 | + violates messaging.md's Avoid list and voice.md's no-hype rule. Use "OSSF-first / security-first |
| 33 | + posture." Decision (2026-06-24): the "first" framing is dropped entirely. |
| 34 | +- Keep HVTracker's "not a safety endorsement" caveat visible on long-form channels — it is what makes |
| 35 | + the grade credible. |
| 36 | +- Brian's voice on every post (voice.md): one thought per line, contractions, opinions flagged, no |
| 37 | + "blazing/game-changing/revolutionary." |
| 38 | +- No logo walls, no progressive lead forms (messaging.md). |
| 39 | + |
| 40 | +## 3. Assets (build once, reuse) |
| 41 | + |
| 42 | +- [x] Blog post — `2026-06-24-threadplane-earns-grade-a-hvtrust.mdx`. |
| 43 | +- [ ] HVTrust badge in repo README — `[](https://hvtracker.net/agents/threadplane)`. |
| 44 | +- [ ] Repo "Website" field → `threadplane.ai` (backlink fix; HVTracker scrapes repo metadata). |
| 45 | +- [ ] One branded social/OG card — leaderboard + "Grade A · 82.8" — via `marketing/assets`. Reused on X, LinkedIn, blog OG. |
| 46 | +- [x] Canonical UTM link set (§6). |
| 47 | + |
| 48 | +## 4. Channel plan & sequencing (~2-week drip) |
| 49 | + |
| 50 | +| Day | Channel | Track | Angle | Mechanism | |
| 51 | +| --- | --- | --- | --- | --- | |
| 52 | +| 0 | Blog publish | both | Full story | Merge + deploy | |
| 53 | +| 0 | X thread (Brian) | developer | The 99-stars-vs-trust paradox + card | Adapter (DRY_RUN → post) | |
| 54 | +| 0 | LinkedIn (Brian) | enterprise | "Code you didn't write" supply-chain framing | Manual paste | |
| 55 | +| 2 | Dev.to | developer | Full post, `canonicalUrl` → blog | Adapter (DRY_RUN → post) | |
| 56 | +| 2 | Discord | developer | Casual honest breakdown | Manual | |
| 57 | +| 4 | Hacker News (Brian) | developer | Technical supply-chain framing, NOT "look at our grade" | Manual | |
| 58 | +| 4 | r/Angular + LangChain/AG-UI communities | developer | Value-first lesson, grade as evidence | Manual | |
| 59 | +| 6–7 | Newsletter pitches (Angular Weekly, etc.) | developer | Short pitch + link | Manual | |
| 60 | +| 7 | X follow-up (Brian) | developer | Amplify earned discussion / re-drive adoption ask | Adapter | |
| 61 | +| 8–14 | Monitor, reply, repost top performer | — | — | — | |
| 62 | + |
| 63 | +## 5. Per-channel angle briefs |
| 64 | + |
| 65 | +- **X thread:** hook = paradox + card; middle = what HVTrust measures / why agent frameworks are |
| 66 | + higher-stakes / the honest weak signal; close = links + "help us close the gap." |
| 67 | +- **LinkedIn:** architect voice; the verifiable credentials (MIT, signed commits, provenance); one CTA |
| 68 | + to the listing. |
| 69 | +- **HN:** neutral technical title; Brian posts and stays in comments; honest caveat up front. |
| 70 | +- **Reddit:** lead with the supply-chain lesson, grade as proof; respect r/angular self-promo norms. |
| 71 | +- **Discord/newsletter:** short, warm, linked. |
| 72 | + |
| 73 | +## 6. Tracking — canonical UTM link set |
| 74 | + |
| 75 | +Blog slug: `threadplane-earns-grade-a-hvtrust`. Base: `https://threadplane.ai/blog/threadplane-earns-grade-a-hvtrust`. |
| 76 | + |
| 77 | +| Channel | utm_source | utm_medium | Link | |
| 78 | +| --- | --- | --- | --- | |
| 79 | +| X | `x` | `social` | `…?utm_source=x&utm_medium=social&utm_campaign=grade-a-trust` | |
| 80 | +| LinkedIn | `linkedin` | `social` | `…?utm_source=linkedin&utm_medium=social&utm_campaign=grade-a-trust` | |
| 81 | +| Dev.to | `devto` | `referral` | canonicalUrl = bare blog URL (no UTM on canonical) | |
| 82 | +| Hacker News | `hackernews` | `community` | `…?utm_source=hackernews&utm_medium=community&utm_campaign=grade-a-trust` | |
| 83 | +| Reddit | `reddit` | `community` | `…?utm_source=reddit&utm_medium=community&utm_campaign=grade-a-trust` | |
| 84 | +| Discord | `discord` | `community` | `…?utm_source=discord&utm_medium=community&utm_campaign=grade-a-trust` | |
| 85 | +| Newsletter | `newsletter` | `referral` | `…?utm_source=newsletter&utm_medium=referral&utm_campaign=grade-a-trust` | |
| 86 | + |
| 87 | +External targets (no PostHog UTM benefit, link plainly): listing |
| 88 | +`https://hvtracker.net/agents/threadplane/`, leaderboard |
| 89 | +`https://hvtracker.net/categories/agent-frameworks/`. |
| 90 | + |
| 91 | +## 7. Execution mechanics |
| 92 | + |
| 93 | +- Each social draft → `marketing/cowork/inbox/2026-06-24-grade-a-<channel>.json`, matching the `Draft` |
| 94 | + interface (`marketing/channels/src/types.ts`). Human-readable `_meta` keys carry campaign context. |
| 95 | +- **X + Dev.to:** `DRY_RUN=1` smoke first → review → real post via adapter. |
| 96 | +- **LinkedIn / Reddit / HN / Discord / newsletter:** adapters not built → ready-to-paste copy, posted |
| 97 | + by hand. |
| 98 | +- Brian approves every draft before anything ships. |
| 99 | + |
| 100 | +## 8. Risks |
| 101 | + |
| 102 | +- HN promo backlash → technical framing, real human, honest caveat. |
| 103 | +- Reddit self-promo rules → value-first, not headline-first. |
| 104 | +- "First" overclaim → cut (see §2). |
| 105 | +- Vanity-metric trap → stars aren't revenue; chosen because the goal is adoption and the post owns it. |
| 106 | + Enterprise leads are a watched secondary, not the goal. |
| 107 | + |
| 108 | +## 9. Out of scope / follow-ups |
| 109 | + |
| 110 | +- Building the LinkedIn + Reddit channel adapters (manual is fine for one campaign). |
| 111 | +- Wiring the `/marketing` Cowork dispatch loop (still a stub). |
0 commit comments