diff --git a/skills/marketing-plan/SKILL.md b/skills/marketing-plan/SKILL.md index 8e8f8cb..6282605 100644 --- a/skills/marketing-plan/SKILL.md +++ b/skills/marketing-plan/SKILL.md @@ -1,7 +1,6 @@ --- name: marketing-plan -version: 1.0.0 -description: When the user needs to build a comprehensive marketing plan for a client, a company they advise, or their own product. Also use when the user mentions "marketing plan," "growth plan," "GTM plan," "go-to-market plan," "AARRR plan," "90-day marketing plan," "12-month marketing roadmap," "fractional CMO plan," "fCMO plan," or wants a "comprehensive marketing strategy document." Generates an exhaustive 13-section plan structured by AARRR (Acquisition, Activation, Retention, Referral, Revenue), customized to the client's current budget, team, and stage, mapped to future funding milestones, cross-referenced with the 139-idea marketing-ideas library and the 17-section audit-marketing rubric, with a full marketing operations stack showing which skills and MCP/API integrations execute each part. Outputs a Notion-paste-ready markdown document. For scoring current state, see audit-marketing. For positioning before planning, see positioning. For stage-specific deep work, see onboarding, signup, emails, referrals, pricing. +description: When the user needs a comprehensive marketing plan for a client, a company they advise, or their own product. Also use when the user mentions "marketing plan," "growth plan," "GTM plan," "go-to-market plan," "AARRR plan," "90-day marketing plan," "12-month marketing roadmap," "fractional CMO plan," or "fCMO plan." Generates an exhaustive 13-section plan structured by AARRR (Acquisition, Activation, Retention, Referral, Revenue), customized to the client's current budget, team, and stage, mapped to future funding milestones, cross-referenced with the 139-idea marketing-ideas library and the 17-section audit-marketing rubric, with a full marketing operations stack showing which skills and MCP/API integrations execute each part. Outputs a Notion-paste-ready markdown document. For scoring current state, see audit-marketing. For positioning before planning, see positioning. For stage-specific deep work, see onboarding, signup, emails, referrals, pricing. --- # Marketing Plan @@ -33,9 +32,7 @@ Examples: - `/marketing-plan acme-saas` - `/marketing-plan` (will prompt for client name) -On invocation, the skill auto-detects whether this is a new plan or an in-progress one: -- If `~/marketing-plans/{client-slug}/` exists with a `research.md` or any phase markers, **resume** from the last completed phase. -- If no folder exists, **initialize** a new one. +On invocation, the skill reads `~/marketing-plans/{client-slug}/progress.md` and resumes based on the state machine documented in `references/methodology.md` Step 1.1.2 (fresh → INIT → REVIEW → FINALIZE → finalized). Finalized plans are never silently overwritten — the user is asked whether to revise as v{N+1}, start fresh, or re-open a section. ## The three phases @@ -101,13 +98,15 @@ The plan's "Current State" section scores the client against the 17-section `aud If the user has already run `/audit-marketing` on this client, ingest the scored output directly. If not, offer to run it before drafting Section 3, OR use the rubric as a lens against existing materials (faster, less rigorous — useful when client provides rich context but a formal audit hasn't happened). -## Cross-references — the three external skills this plan depends on +## Cross-references — skills this plan integrates with -1. **`marketing-ideas`** — 139 proven marketing tactics. Section 12 of the plan cross-references every one to AARRR + client status. Detail in `references/idea-cross-reference.md`. -2. **`audit-marketing`** — 17-section scored rubric. Section 3 of the plan uses this as the scoring lens. Detail in `references/current-state-rubric.md`. -3. **All AARRR-stage-specific skills** — `onboarding`, `signup`, `emails`, `referrals`, `pricing`, etc. The "Marketing operations stack" (Section 11) maps these to AARRR stages. +Some referenced skills live in this `marketingskills` repo; others live in adjacent Claude Code marketplaces (notably `cf-skills` for `audit-marketing` and `positioning`). The plan still works without external skills — it falls back to using the embedded rubric as a lens (see `references/current-state-rubric.md`). -The plan is **opinionated about which skills serve which stages.** Full mapping in `references/ops-stack-mapping.md`. +1. **`marketing-ideas`** *(this repo)* — 139 proven marketing tactics. Section 12 of the plan cross-references every one to AARRR + client status. Detail in `references/idea-cross-reference.md`. +2. **`audit-marketing`** *(external — `cf-skills` repo)* — 17-section scored rubric. Section 3 uses this as the scoring lens; falls back to lens-only mode if the skill isn't installed. +3. **AARRR-stage-specific skills** *(mostly this repo)* — `onboarding`, `signup`, `emails`, `referrals`, `pricing`, etc. The "Marketing operations stack" (Section 11) maps these to AARRR stages. + +The plan is **opinionated about which skills serve which stages.** Full mapping in `references/ops-stack-mapping.md` (which also lists optional external skills and substitutions). ## The marketing operations stack @@ -192,12 +191,17 @@ Length expectation: ~8,000–12,000 words for a comprehensive plan. Shorter is f ``` ~/marketing-plans/ └── {client-slug}/ - ├── materials/ # Client-provided files (positioning, decks, audit output, etc.) - ├── research.md # Research record written during INIT - ├── progress.md # Section-by-section progress tracker (REVIEW phase) - └── final_plan.md # The finished plan (FINALIZE output) + ├── materials/ # Client-provided files (decks, audit output, brand-voice doc, etc.) + ├── research.md # Research record written during INIT + ├── progress.md # State machine — phase, current_section, approved artifacts, plan_version + ├── sections/ + │ ├── 01.md # Each approved section saved as a canonical artifact + │ └── ... # Zero-padded so they sort in order + └── final_plan.md # Compiled deliverable (FINALIZE output) ``` +The full schema for `progress.md` and the resumption decision tree live in `references/methodology.md` Steps 1.1.1 and 1.1.2. + ## Related skills - **`audit-marketing`** — Run before planning to score current state across 17 sections. Output feeds Section 3 of the plan. diff --git a/skills/marketing-plan/references/aarrr-framework.md b/skills/marketing-plan/references/aarrr-framework.md index 9e7a539..f273eae 100644 --- a/skills/marketing-plan/references/aarrr-framework.md +++ b/skills/marketing-plan/references/aarrr-framework.md @@ -6,8 +6,10 @@ AARRR (Dave McClure's "pirate metrics") is the spine of every plan produced by t | Stage | Question | Common metrics | |---|---|---| -| **A**cquisition | How do strangers become aware of us? | Visits, MQLs, signups, app installs, CAC by channel | -| **A**ctivation | Once they try us, do they have an experience that converts? | Time-to-value, % completing first key action, trial → paid rate | +| **A**cquisition | How do strangers become aware of us? | Visits, MQLs, signup-page sessions, app-store visits, CAC by channel | +| **A**ctivation | Once they try us, do they have an experience that converts? | Signup completion rate, time-to-value, % completing first key action, trial → paid rate | + +> **Signup boundary rule.** Signup *intent* (a stranger landing on the signup page) is Acquisition. Signup *completion* and everything after (first key action, trial-to-paid) is Activation. Apply this rule consistently across all docs and the plan template. | **R**etention | Do they stay and deepen? | DAU/WAU/MAU, week-1/4/12 retention, churn | | **R**eferral | Do retained users bring more users? | Viral coefficient, NPS, ambassador attribution | | **R**evenue | What do they pay, who pays, how does it compound? | ARPU, LTV, expansion revenue, ARR / MRR | diff --git a/skills/marketing-plan/references/example-olo.md b/skills/marketing-plan/references/example-olo.md index 5fc426d..8413b21 100644 --- a/skills/marketing-plan/references/example-olo.md +++ b/skills/marketing-plan/references/example-olo.md @@ -24,6 +24,8 @@ Use this as the "what good looks like" reference when drafting a new plan. The s **Date:** 2026-05-27 **Status:** Draft v1 — for team review +## 1. Executive summary + Olo has built something rare: a clinically validated, brand-coherent, founder-led product in a category that doesn't yet have a name. The opportunity in the next twelve months is not to invent a marketing engine from scratch — it's to **convert the existing organic gravity into a measurable, repeatable funnel**, then layer paid acquisition on top of that funnel once the seed round closes. **Three big bets, ranked by leverage:** diff --git a/skills/marketing-plan/references/idea-cross-reference.md b/skills/marketing-plan/references/idea-cross-reference.md index fe077f5..c4a1c19 100644 --- a/skills/marketing-plan/references/idea-cross-reference.md +++ b/skills/marketing-plan/references/idea-cross-reference.md @@ -4,11 +4,15 @@ The `marketing-ideas` skill catalogs 139 proven marketing tactics. This doc is t The plan's Section 12 ("Tactical idea bank") uses this mapping as the base, then layers client-specific filters: brand voice rules might skip some ideas; funding stage might shift Q-status; client category might rule out others. -## Primary AARRR assignment for all 139 ideas +## How to read this doc -Numbers correspond exactly to the `marketing-ideas` skill ordering. If `marketing-ideas` reorders or expands, update this doc. +- **139 unique ideas, 144 entries.** Five ideas cross-cut multiple AARRR stages and appear under each stage they serve (#79 Early-Access Referrals, #86 Lifetime Deals, #91 In-App Upsells, #114 Moneyball Marketing, #117 Product Competitions). Each duplicate row carries a cross-cut note. +- **"Entries" counts rows; idea IDs are unique.** Section header counts reflect rows in this doc, not unique ideas from `marketing-ideas`. +- **Numbers correspond exactly to the `marketing-ideas` skill ordering.** If `marketing-ideas` reorders or expands, update this doc. -### Acquisition (88 ideas) +## AARRR assignment for all 139 ideas + +### Acquisition (116 entries) These ideas primarily serve top-of-funnel awareness, traffic, and lead generation. @@ -131,7 +135,7 @@ These ideas primarily serve top-of-funnel awareness, traffic, and lead generatio | 133 | Investor Marketing | Developer/etc | Now (when raising) | | 138 | Podcast Tours | Audience-Specific | Q2+ | -### Activation (7 ideas) +### Activation (8 entries) | # | Idea | Category | Typical stage available | |---|---|---|---| @@ -144,7 +148,7 @@ These ideas primarily serve top-of-funnel awareness, traffic, and lead generatio | 96 | Onboarding Optimization | Product-Led | Now | | 124 | App Store Optimization | Platforms | Now (App Store products) | -### Retention (8 ideas) +### Retention (8 entries) | # | Idea | Category | Typical stage available | |---|---|---|---| @@ -157,7 +161,7 @@ These ideas primarily serve top-of-funnel awareness, traffic, and lead generatio | 135 | Support as Marketing | Developer/etc | Q2+ | | 134 | Certifications | Developer/etc | Q3+ (cross-cuts Referral) | -### Referral (5 ideas) +### Referral (5 entries) | # | Idea | Category | Typical stage available | |---|---|---|---| @@ -167,22 +171,23 @@ These ideas primarily serve top-of-funnel awareness, traffic, and lead generatio | 93 | Viral Loops | Product-Led | Q3+ | | 137 | Two-Sided Referrals | Audience-Specific | Q2+ | -### Revenue (3 ideas — most monetization is strategy not tactic) +### Revenue (2 entries — most monetization is strategy not tactic) | # | Idea | Category | Typical stage available | |---|---|---|---| -| 86 | Lifetime Deals | Launches | Generally off-brand | | 91 | In-App Upsells | Product-Led | Q2+ (cross-cuts Activation) | | 132 | Price Localization | International | Q4+ | -### Cross-cutting / brand foundation (2 ideas) +> **Skipped from Revenue:** #86 Lifetime Deals appears under Launches (Acquisition section) only. It's generally off-brand for subscription products because it damages LTV math; recommend in Section 12's Skip list with rationale, not in stage totals. + +### Cross-cutting / brand foundation (2 entries) | # | Idea | Category | Typical stage available | |---|---|---|---| | 114 | Moneyball Marketing | Unconventional | Ongoing methodology | | 139 | Customer Language | Audience-Specific | Now (foundational) | -### Developer-specific / dev tool products (2 ideas) +### Developer-specific / dev tool products (2 entries) | # | Idea | Category | Use when | |---|---|---|---| @@ -249,12 +254,12 @@ After all five AARRR tables + skip list: ## How to maintain this doc If `marketing-ideas` adds new ideas (it's a living skill — the 139 may become 145 or 160 over time): -1. Read `~/.claude/skill-packs/marketingskills/skills/marketing-ideas/references/ideas-by-category.md` +1. Read `skills/marketing-ideas/references/ideas-by-category.md` in the `marketingskills` repo 2. Assign each new idea to a primary AARRR stage using the rules above 3. Add to this doc's tables 4. Update SKILL.md's idea-count reference ## Sources -- `~/.claude/skill-packs/marketingskills/skills/marketing-ideas/SKILL.md` -- `~/.claude/skill-packs/marketingskills/skills/marketing-ideas/references/ideas-by-category.md` +- `skills/marketing-ideas/SKILL.md` (in the `marketingskills` repo) +- `skills/marketing-ideas/references/ideas-by-category.md` (in the `marketingskills` repo) diff --git a/skills/marketing-plan/references/methodology.md b/skills/marketing-plan/references/methodology.md index a40b18a..8f402cc 100644 --- a/skills/marketing-plan/references/methodology.md +++ b/skills/marketing-plan/references/methodology.md @@ -8,14 +8,67 @@ The three-phase workflow that produces a comprehensive marketing plan. SKILL.md ### Step 1.1 — Set up the plan folder +Canonical file layout for every plan: + ``` ~/marketing-plans/{client-slug}/ -├── materials/ # Client-provided files go here -├── research.md # Written by this phase -└── progress.md # Phase markers, updated as REVIEW progresses +├── materials/ # Client-provided files (decks, audit output, brand-voice doc, etc.) +├── research.md # Written in Phase 1 (INIT) +├── progress.md # State machine — see Step 1.1.1 for schema +├── sections/ +│ ├── 01.md # Executive summary (written last, ordered first) +│ ├── 02.md # Strategic frame +│ ├── ... +│ └── 13.md # Measurement, RACI, open decisions, appendix +└── final_plan.md # Compiled deliverable (Phase 3 output) ``` -If `~/marketing-plans/{client-slug}/research.md` already exists, this is a resumed plan — skip to Phase 2. +### Step 1.1.1 — `progress.md` state schema + +Every plan tracks a single `progress.md` file at the plan root. It's the source of truth for resumption. Schema: + +```markdown +# {Client} — Marketing Plan Progress + +phase: init | review | finalize | finalized +current_section: +plan_version: v1 +last_updated: YYYY-MM-DD HH:MM + +## Sections completed +- [ ] 2. Strategic frame +- [ ] 3. Current state +- [ ] 4. Acquisition +- [ ] 5. Activation +- [ ] 6. Retention +- [ ] 7. Referral +- [ ] 8. Revenue +- [ ] 9. 90-day roadmap +- [ ] 10. 12-month outlook +- [ ] 11. Marketing operations stack +- [ ] 12. Tactical idea bank +- [ ] 13. Measurement, RACI, open decisions, appendix +- [ ] 1. Executive summary (synthesized last) + +## Approved artifacts +sections/02.md, sections/03.md, ... (list as they're written) + +## Notes + +``` + +### Step 1.1.2 — Resumption decision tree + +On every invocation, check state in this order: + +1. **No `{client-slug}/` folder** → fresh plan. Create folder + `materials/` + empty `sections/`. Start INIT (Step 1.2). +2. **Folder exists, no `research.md`** → INIT was interrupted. Resume from Step 1.2. +3. **`research.md` exists, no `progress.md`** → INIT done, REVIEW not started. Create `progress.md`, start REVIEW from Section 2. +4. **`progress.md` exists, `phase: review`** → REVIEW in progress. Resume from `current_section` (or first unchecked box). +5. **`progress.md` exists, `phase: finalize`** → FINALIZE was interrupted. Re-run Phase 3. +6. **`progress.md` exists, `phase: finalized`** → plan is done. **Do not silently overwrite.** Ask the user: *"This plan is finalized (v{N}). Want to (a) revise it as v{N+1}, (b) start a fresh plan in a new folder, or (c) re-open a specific section?"* + +Update `phase` and `last_updated` whenever state changes. ### Step 1.2 — Read existing materials @@ -200,39 +253,24 @@ Save. Move to Phase 2. ### Step 2.1 — Initialize progress.md -```markdown -# {Client} — Marketing Plan Progress +Use the schema defined in Step 1.1.1 above. Set `phase: review`, `current_section: 2`, `plan_version: v1`, and stamp `last_updated`. -## Sections completed -- [ ] 1. Executive summary -- [ ] 2. Strategic frame -- [ ] 3. Current state -- [ ] 4. Acquisition -- [ ] 5. Activation -- [ ] 6. Retention -- [ ] 7. Referral -- [ ] 8. Revenue -- [ ] 9. 90-day roadmap -- [ ] 10. 12-month outlook -- [ ] 11. Marketing operations stack -- [ ] 12. Tactical idea bank -- [ ] 13. Measurement, RACI, open decisions, appendix -``` +### Step 2.2 — Walk each section in this order: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, then 1 -### Step 2.2 — Walk each section in order +Section 1 (Executive Summary) is drafted **last** because it depends on every other section's conclusions. Walk Sections 2 → 13 in numeric order, then synthesize Section 1 from the others. The final compiled `final_plan.md` is always presented in canonical order 1 → 13. For each section, use the template at `references/plan-template.md` to draft. Then in chat: 1. Present the draft (or key bullets — short sections inline, long sections as bullet outline first) 2. Ask: *"Approve, adjust, or expand?"* 3. Iterate until user confirms -4. Save the confirmed text to a per-section file (`section-1.md`, `section-2.md`, etc.) or to a single growing `draft_plan.md` +4. Save the confirmed text to `sections/01.md` ... `sections/13.md` (one file per section, zero-padded for sort order). This is the canonical persisted artifact — recovery depends on it. 5. Check the box in `progress.md` 6. Move to next section ### Step 2.3 — Section-specific guidance -**Section 1 (Executive summary)** is typically drafted **last** in actual writing time — easier after all the other sections exist. But present it first in the output document. +**Section 1 (Executive summary)** is synthesized from Sections 2–13 after they're all approved. Draft it last; present it first in the output document. **Section 3 (Current state)** is where audit-marketing output gets integrated. If a formal audit was run, paste the scored rubric. If not, use the rubric as a lens (see `references/current-state-rubric.md`). @@ -262,7 +300,7 @@ If a section's draft violates the brand voice, redo it before showing it to the ### Step 3.1 — Compile -Concatenate all 13 sections into `final_plan.md`. Add: +Set `phase: finalize` in `progress.md` before starting. Concatenate `sections/01.md` through `sections/13.md` into `final_plan.md` (canonical order 1 → 13, regardless of drafting order). Add: - Title header with date and "v1" version marker - "Prepared by / For / Date / Status" frontmatter - Section anchors that work in Notion paste @@ -271,7 +309,7 @@ Concatenate all 13 sections into `final_plan.md`. Add: Before printing: -- **Cross-reference check** — every marketing-ideas number (e.g., "idea #17") matches the actual idea in `references/idea-cross-reference.md`. Every related-skill mention exists in the marketingskills repo. +- **Cross-reference check** — every marketing-ideas number (e.g., "idea #17") matches the actual idea in `references/idea-cross-reference.md`. Every related-skill mention either exists in the `marketingskills` repo or is documented as an external dependency (see ops-stack-mapping note on cross-marketplace skills). - **MCP/API check** — every tool mentioned in Section 11 actually exists in the user's stack (per research.md intake) OR is flagged as "future / not yet wired." - **Path check** — no machine-specific paths (`/Users/...`, `/home/...`) in the output. Replace with descriptive references. - **Voice check** — final read against brand voice rules. Flag and fix violations. @@ -299,13 +337,18 @@ If yes: If no: leave it local. Done. +### Step 3.5 — Mark finalized + +Set `phase: finalized` in `progress.md` and stamp `last_updated`. This is the terminal state and prevents future `/marketing-plan` invocations from silently overwriting the plan (see Step 1.1.2 case 6). + --- ## Resuming a plan -If `progress.md` shows incomplete sections, resume from the next unfinished. Skip Phase 1 entirely. Open `research.md` to refresh context, then dive into the next section. +Resumption is governed entirely by the decision tree in Step 1.1.2 above — always check state in that order on every invocation. -If the user says *"start over"* or *"redo Section X,"* respect that — reset that section's progress marker and re-draft. +If the user says *"start over"* → ask whether they want to delete the existing folder or move it to `archive/` first; don't silently overwrite. +If the user says *"redo Section X"* → uncheck that box in `progress.md`, delete `sections/0X.md`, and re-draft. ## Failure modes to watch for diff --git a/skills/marketing-plan/references/ops-stack-mapping.md b/skills/marketing-plan/references/ops-stack-mapping.md index 08bf0bc..c805973 100644 --- a/skills/marketing-plan/references/ops-stack-mapping.md +++ b/skills/marketing-plan/references/ops-stack-mapping.md @@ -2,6 +2,8 @@ This doc maps every marketing-skill and every relevant MCP/API integration to the AARRR stage(s) it primarily serves. It's the source for Section 11 of every plan. +> **Note on scope.** Skills below are drawn from the broader Claude Code marketplace ecosystem — not all live in this `marketingskills` repo. Skills shown without a `:` prefix (e.g., `seo-audit`) are in this repo. Skills referenced from adjacent marketplaces (e.g., `cf-skills:audit-marketing`, `vercel:agent-browser`, `compound-engineering:diagram-maker`, `marketing-skills:typefully`) are optional — substitute equivalents if not installed. When a plan references a skill that isn't available, fall back to the underlying tactic and call it out in Section 13's open decisions. + ## The thesis A small team + fCMO + agentic tooling = output of a 15–20-person traditional marketing org. The skills + MCPs encode workflows that previously required dedicated headcount per channel. @@ -180,7 +182,7 @@ The plan's Section 11 must include this table (or equivalent), specific to the c | Stage | Headcount | Tooling | Channels live | |---|---|---|---| | **Pre-seed / bootstrapped** | fCMO + founder team | All current tooling + marketing-skills library + MCP layer | Organic only (SEO, content, App Store, founder-led social, events, WOM, ambassador) | -| **Seed close** | + first marketing hire (lifecycle/content owner) | + paid ad accounts (Apple Search Ads, Meta, LinkedIn) + `ads` skill activated | + paid acquisition pilot ($5–10K/mo) | +| **Seed close** | + first marketing hire (lifecycle/content owner) | + paid ad accounts (Apple Search Ads, Meta, LinkedIn) + `ads` skill activated | + paid acquisition pilot ($5–15K/mo — see `funding-stage-unlocks.md` for canonical tiers) | | **Seed deployment** | + designer (potentially fractional) | + analytics expansion (Mixpanel / Amplitude if needed) | + paid scaling ($20–50K/mo) + first launches (PH, GA) | | **Series A** | + performance marketing lead + content lead | + dedicated tooling spend ($2–5K/mo software) + sponsored event budget | + paid scaling ($50–150K/mo) + international consideration + B2B vertical expansion | | **Series B+** | Full-stack marketing org (10+ people) | + agency partnerships + PR firm | + brand campaigns + acquisitions + sponsorships at category level |