318 lines
13 KiB
Markdown
318 lines
13 KiB
Markdown
|
|
# Methodology — How a Marketing Plan Gets Made
|
|||
|
|
|
|||
|
|
The three-phase workflow that produces a comprehensive marketing plan. SKILL.md is the orchestration layer; this is the operational detail.
|
|||
|
|
|
|||
|
|
## Phase 1 — INIT (research + intake)
|
|||
|
|
|
|||
|
|
**Goal:** Walk into Phase 2 with enough context to draft every section without guessing.
|
|||
|
|
|
|||
|
|
### Step 1.1 — Set up the plan folder
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
~/marketing-plans/{client-slug}/
|
|||
|
|
├── materials/ # Client-provided files go here
|
|||
|
|
├── research.md # Written by this phase
|
|||
|
|
└── progress.md # Phase markers, updated as REVIEW progresses
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
If `~/marketing-plans/{client-slug}/research.md` already exists, this is a resumed plan — skip to Phase 2.
|
|||
|
|
|
|||
|
|
### Step 1.2 — Read existing materials
|
|||
|
|
|
|||
|
|
If `materials/` has files, read all of them. Common drops:
|
|||
|
|
- Pitch deck / investor deck
|
|||
|
|
- Positioning doc / brand voice doc
|
|||
|
|
- Customer research / ICP doc
|
|||
|
|
- App Store metrics / analytics snapshot
|
|||
|
|
- Lifecycle email inventory
|
|||
|
|
- Prior audit output (`audit_final_output.md` from `/audit-marketing`)
|
|||
|
|
- SEO research (`seo/plan.md`, `seo/keyword-shortlist.md`)
|
|||
|
|
- Kickoff call transcript
|
|||
|
|
- Founder Slack / async notes
|
|||
|
|
|
|||
|
|
Read everything. Capture key facts to `research.md` as you go.
|
|||
|
|
|
|||
|
|
### Step 1.3 — Pull live data where wired
|
|||
|
|
|
|||
|
|
If MCPs/APIs are wired for this client, pull:
|
|||
|
|
|
|||
|
|
- **Ahrefs** → domain rating, organic keywords, backlinks, top pages, ref domains (per `/seo-audit` skill)
|
|||
|
|
- **GA4 MCP** → traffic by channel, conversion events, retention curves
|
|||
|
|
- **Stripe MCP** → MRR, ARR, churn, plan mix, blended LTV by cohort
|
|||
|
|
- **App Store Connect** (manual or `dev-browser`) → install → trial → paid funnel; cohort retention
|
|||
|
|
- **Customer.io MCP** → flow inventory, send / open / click / unsubscribe rates
|
|||
|
|
- **Shopify** → product page conversion, AOV, repeat rate
|
|||
|
|
- **GitHub MCP** → repos inventory, last commit dates, what's stale
|
|||
|
|
- **Notion** → internal knowledge directory if exposed
|
|||
|
|
|
|||
|
|
Don't ask the user to copy/paste data that can be pulled directly.
|
|||
|
|
|
|||
|
|
### Step 1.4 — Conduct structured intake
|
|||
|
|
|
|||
|
|
For every gap in the materials, ask the user. The minimum intake covers ten topics:
|
|||
|
|
|
|||
|
|
#### Intake 1 — Client overview
|
|||
|
|
- What does the company do, in one sentence (founder's words)?
|
|||
|
|
- What's the primary product?
|
|||
|
|
- What other products / SKUs / tiers exist?
|
|||
|
|
- Is the product live, beta, or pre-launch?
|
|||
|
|
- If beta: throttling? GA timeline?
|
|||
|
|
|
|||
|
|
#### Intake 2 — ICP
|
|||
|
|
- Who are you for, in one sentence?
|
|||
|
|
- What do they say they want?
|
|||
|
|
- What do they actually want?
|
|||
|
|
- What's their stated problem? Their real problem?
|
|||
|
|
- Demographics / firmographics: who fits the ICP exactly?
|
|||
|
|
|
|||
|
|
#### Intake 3 — Funnel state today
|
|||
|
|
- What are the current funnel numbers? (signups, activations, paid, retention)
|
|||
|
|
- What's the funnel *shape* — is it bottle-necked at top, middle, or bottom?
|
|||
|
|
- What's the biggest leak?
|
|||
|
|
|
|||
|
|
#### Intake 4 — Funding state
|
|||
|
|
- Current round (pre-seed / seed / Series A / etc.)?
|
|||
|
|
- Total raised to date?
|
|||
|
|
- Current burn / runway?
|
|||
|
|
- Active raise? Closing when?
|
|||
|
|
- Investors of note?
|
|||
|
|
- Permission to mention fCMO engagement in pitches?
|
|||
|
|
|
|||
|
|
#### Intake 5 — Team
|
|||
|
|
- Founders and what each owns (product, marketing, sales, etc.)?
|
|||
|
|
- Other roles on the team and their marketing surface area?
|
|||
|
|
- Advisors who touch marketing?
|
|||
|
|
- Agencies / contractors / fractionals?
|
|||
|
|
- Where are the obvious gaps?
|
|||
|
|
|
|||
|
|
#### Intake 6 — Budget
|
|||
|
|
- Current monthly marketing spend, broken down: paid acquisition, tools, retainers, headcount?
|
|||
|
|
- Budget tier this maps to (see `funding-stage-unlocks.md`)?
|
|||
|
|
- What budget unlocks when the next round closes?
|
|||
|
|
|
|||
|
|
#### Intake 7 — Channels currently active
|
|||
|
|
- Acquisition: organic SEO, paid search, paid social, content, social, partnerships, events, PR, ambassadors, etc. — for each, status (live / paused / never tried)
|
|||
|
|
- Activation: onboarding state, signup flow, paywall, first-session experience, app store listing
|
|||
|
|
- Retention: lifecycle email state, in-app upsells, churn cohort
|
|||
|
|
- Referral: program existence, attribution, inbound interest
|
|||
|
|
- Revenue: pricing structure, plan mix, recent experiments
|
|||
|
|
|
|||
|
|
#### Intake 8 — Already done
|
|||
|
|
What past work should this plan acknowledge?
|
|||
|
|
- Major launches and dates
|
|||
|
|
- PR moments and who covered
|
|||
|
|
- Content pillars / hubs / cornerstone pieces
|
|||
|
|
- Partnerships
|
|||
|
|
- Awards / certifications
|
|||
|
|
- Notable customers / users (if consumer-named users)
|
|||
|
|
- Past advisors / fractionals
|
|||
|
|
|
|||
|
|
#### Intake 9 — In-flight and stuck
|
|||
|
|
- What's drafted but not shipped? Why?
|
|||
|
|
- What's been "almost ready" for months?
|
|||
|
|
- What's blocking each?
|
|||
|
|
- What's broken or actively harmful?
|
|||
|
|
|
|||
|
|
#### Intake 10 — Strategic posture
|
|||
|
|
- The most important thing to fix this quarter (founder's read)
|
|||
|
|
- The most important thing to ignore this quarter (founder's read)
|
|||
|
|
- What investors / board are asking about most
|
|||
|
|
- Any constraints not visible elsewhere (legal, partnership-related, brand-related)
|
|||
|
|
|
|||
|
|
### Step 1.5 — Optionally run audit-marketing
|
|||
|
|
|
|||
|
|
If no audit has been run on this client AND the user wants a formal scored current-state, offer:
|
|||
|
|
> *"Want me to run `/audit-marketing {client-domain}` before we draft the plan? It produces a 17-section scored audit that becomes the foundation of Section 3 (Current State). Takes ~30–60 min of walking through sections together."*
|
|||
|
|
|
|||
|
|
If user agrees, run that skill. Resume here when done.
|
|||
|
|
|
|||
|
|
If user declines (common when fCMO already has rich context), use the rubric as a current-state *lens* against existing materials — faster, less rigorous, captured in `references/current-state-rubric.md`.
|
|||
|
|
|
|||
|
|
### Step 1.6 — Write research.md
|
|||
|
|
|
|||
|
|
Compile everything into `research.md` with this structure:
|
|||
|
|
|
|||
|
|
```markdown
|
|||
|
|
# {Client} — Marketing Plan Research Record
|
|||
|
|
|
|||
|
|
**Date:** YYYY-MM-DD
|
|||
|
|
**Author:** (fCMO / planner name)
|
|||
|
|
|
|||
|
|
## Company snapshot
|
|||
|
|
- One-sentence description
|
|||
|
|
- Stage (pre-seed / seed / Series A / etc.)
|
|||
|
|
- Product status (beta / GA)
|
|||
|
|
|
|||
|
|
## ICP
|
|||
|
|
- Primary ICP
|
|||
|
|
- Stated vs. actual problem
|
|||
|
|
- Demographics / firmographics
|
|||
|
|
|
|||
|
|
## Funnel state today
|
|||
|
|
- Current numbers
|
|||
|
|
- Funnel shape
|
|||
|
|
- Biggest leak
|
|||
|
|
|
|||
|
|
## Funding
|
|||
|
|
- Total raised
|
|||
|
|
- Current round status
|
|||
|
|
- Runway
|
|||
|
|
|
|||
|
|
## Team
|
|||
|
|
- Founders and ownership
|
|||
|
|
- Marketing surface area by person
|
|||
|
|
- Gaps
|
|||
|
|
|
|||
|
|
## Current marketing budget
|
|||
|
|
- $/mo total
|
|||
|
|
- Breakdown
|
|||
|
|
- Tier mapping
|
|||
|
|
|
|||
|
|
## Channels currently active
|
|||
|
|
[By AARRR stage]
|
|||
|
|
|
|||
|
|
## Already done (acknowledge in plan)
|
|||
|
|
[List]
|
|||
|
|
|
|||
|
|
## In-flight and stuck
|
|||
|
|
[List with blockers]
|
|||
|
|
|
|||
|
|
## Strategic posture
|
|||
|
|
- Founder's top priority
|
|||
|
|
- Founder's top de-prioritization
|
|||
|
|
- Investor pressure points
|
|||
|
|
- Constraints
|
|||
|
|
|
|||
|
|
## Audit-marketing scores
|
|||
|
|
[If run, paste section scores. If not run, mark "lens used, not formal audit."]
|
|||
|
|
|
|||
|
|
## Materials read
|
|||
|
|
[List of files in materials/ + when read]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Save. Move to Phase 2.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Phase 2 — REVIEW (section-by-section drafting)
|
|||
|
|
|
|||
|
|
**Goal:** Walk through all 13 sections of the plan template (`references/plan-template.md`), drafting each, getting user confirmation, saving as you go.
|
|||
|
|
|
|||
|
|
### Step 2.1 — Initialize progress.md
|
|||
|
|
|
|||
|
|
```markdown
|
|||
|
|
# {Client} — Marketing Plan Progress
|
|||
|
|
|
|||
|
|
## 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 order
|
|||
|
|
|
|||
|
|
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`
|
|||
|
|
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 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`).
|
|||
|
|
|
|||
|
|
**Sections 4–8 (AARRR)** each follow the same internal structure: current state, the plan (numbered moves), 90-day moves, 12-month outlook, skills + tools. Don't skip the skills + tools sub-section — it's what makes the plan operationally honest.
|
|||
|
|
|
|||
|
|
**Section 11 (Marketing operations stack)** is auto-generatable from `references/ops-stack-mapping.md` plus the specific moves named in Sections 4–8.
|
|||
|
|
|
|||
|
|
**Section 12 (Idea bank)** is auto-generatable from `references/idea-cross-reference.md` plus client-specific filters (skip ideas that conflict with brand voice; status moves based on funding-stage timing).
|
|||
|
|
|
|||
|
|
**Section 13** lives at the end. Open decisions should be ranked by impact. Appendix should reference only files the team can access (warn about machine-local paths).
|
|||
|
|
|
|||
|
|
### Step 2.4 — Brand voice consistency
|
|||
|
|
|
|||
|
|
If the client has documented brand voice rules (captured in research.md / Section 2), every section must respect them. Common voice constraints:
|
|||
|
|
- Vocabulary rules (YES / NO lists)
|
|||
|
|
- CTA rules (e.g., "never pressure")
|
|||
|
|
- Initiatory vs. explanatory framing
|
|||
|
|
- Tone (e.g., authoritative-yet-accessible, intimate-yet-professional)
|
|||
|
|
|
|||
|
|
If a section's draft violates the brand voice, redo it before showing it to the user.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Phase 3 — FINALIZE (compile + verify + publish)
|
|||
|
|
|
|||
|
|
**Goal:** Produce `final_plan.md` and optionally publish to a shared repo.
|
|||
|
|
|
|||
|
|
### Step 3.1 — Compile
|
|||
|
|
|
|||
|
|
Concatenate all 13 sections into `final_plan.md`. Add:
|
|||
|
|
- Title header with date and "v1" version marker
|
|||
|
|
- "Prepared by / For / Date / Status" frontmatter
|
|||
|
|
- Section anchors that work in Notion paste
|
|||
|
|
|
|||
|
|
### Step 3.2 — Verification pass
|
|||
|
|
|
|||
|
|
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.
|
|||
|
|
- **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.
|
|||
|
|
- **Open-decisions check** — every "TBD" or unanswered question from intake is listed in Section 13's open decisions, not hidden in the body.
|
|||
|
|
- **Acknowledge check** — every item from "already done" in research.md is acknowledged somewhere in the plan.
|
|||
|
|
|
|||
|
|
### Step 3.3 — Print
|
|||
|
|
|
|||
|
|
Output `final_plan.md` to the plan folder. Print a summary to chat:
|
|||
|
|
|
|||
|
|
> *"Marketing Plan v1 saved to `~/marketing-plans/{client-slug}/final_plan.md`. ~X,XXX words across 13 sections. Ready to paste into Notion or share with the team."*
|
|||
|
|
|
|||
|
|
### Step 3.4 — Publish (optional)
|
|||
|
|
|
|||
|
|
Ask the user:
|
|||
|
|
> *"Want me to publish this to a shared GitHub repo so the team can access it? If yes, what's the target repo and path (e.g., `{client-org}/{client-context}/marketing/plan.md`)?"*
|
|||
|
|
|
|||
|
|
If yes:
|
|||
|
|
- Clone (or assume cloned) target repo
|
|||
|
|
- Check out a feature branch or push direct to main per user's preference
|
|||
|
|
- Copy `final_plan.md` to the target path
|
|||
|
|
- Adjust the appendix to use repo-relative paths (not machine paths)
|
|||
|
|
- Commit + push
|
|||
|
|
- Confirm with commit URL
|
|||
|
|
|
|||
|
|
If no: leave it local. Done.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 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.
|
|||
|
|
|
|||
|
|
If the user says *"start over"* or *"redo Section X,"* respect that — reset that section's progress marker and re-draft.
|
|||
|
|
|
|||
|
|
## Failure modes to watch for
|
|||
|
|
|
|||
|
|
- **Skipping intake.** A plan written without proper intake is generic and won't survive contact with the founder. Always do the full ten-topic intake unless the user explicitly waives it.
|
|||
|
|
- **Pretending data exists.** If you can't confirm a number (current MRR, retention rate, etc.), don't guess. Mark it `[TBD — to confirm with team]` in the plan and add to open decisions.
|
|||
|
|
- **Ignoring the brand voice.** If the client has a strong voice (most do), every section must respect it. Read the voice rules before drafting any copy-adjacent text.
|
|||
|
|
- **Padding the idea bank.** Section 12 is comprehensive only if it includes the skip list with reasons. Don't pad with ideas that clearly don't fit just to hit the 139.
|
|||
|
|
- **Glossing over uncomfortable metrics.** If churn is high or activation is low, name it in Current State. Founders read past sugar-coating.
|
|||
|
|
- **Forgetting funding-stage logic.** If the client is mid-raise, the plan must explain what changes when the round closes. Skipping this turns a plan into a wish-list.
|