Klaviyo calendar
Skill NovateStudioGit/novate-studio-skills/email-marketing/klaviyo-calendar
Generate a 30-day Klaviyo campaign calendar — slot per send-day with theme, product, segment, hook. Reads product launches, holidays, prior month's themes to avoid repeats. Output is a month plan where each slot is a ready-to-feed brief for `/klaviyo-campaign`. Trigger when the user says "plan next month", "campaign calendar", "what should we send in [month]", "monthly content plan".From its SKILL.md
npx -y skills add NovateStudioGit/novate-studio-skills --skill klaviyo-calendarAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.2 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Brand scoping
Outputs live under ~/notes/Klaviyo/<brand>/<subfolder>/, where <brand> is resolved at run time from the connected Klaviyo account's organizationName attribute (via mcp__claude_ai_Klaviyo__klaviyo_get_account_details). For ExampleBrand, this resolves to ExampleBrand. If multiple brands are connected, ask Will which brand the current run is for.
/klaviyo-calendar
The agency monthly planning call, run as a skill. Lays out 30 days of campaign sends with theme, product, segment, hook — each slot is a one-line brief that feeds directly into /klaviyo-campaign when send-day comes.
Flow
- Resolve the month + brand — default: next month for the connected Klaviyo brand. If unclear, ask.
- Load brand context —
~/notes/[brand-slug]/brand-identity/for voice + products. Read the product catalog so themes can hook real SKUs. - Pull last 60 days of campaigns —
mcp__claude_ai_Klaviyo__klaviyo_get_campaigns. Note themes already covered. Avoid repeats within 30-day windows. - Pull the brand's product launch schedule + relevant holidays — read any
[brand]/launches/folder, plus check the month for ecom-relevant holidays (BFCM, Valentine's, Mother's/Father's Day, summer/winter seasons, regional events). - Decide send cadence — default: 2-3 sends per week (Tue / Thu / Sat). Adjust based on prior month's unsubscribe rate (>0.5% → cut a send; <0.2% → consider adding one).
- Slot the month — for each send-day, pick a theme + product + segment + hook from the brand's tactical palette. Mix:
- Promotional (~30%) — direct sales push, discount, bundle
- Educational (~30%) — how-to, comparison, behind-the-scenes
- Social proof (~20%) — UGC, reviews, case studies
- Story / brand (~20%) — founder, mission, values, narrative
- Apply segment rotation — don't send everything to the master list. Mix: full list, engaged-30d, VIPs, recent-buyers, lapsed. Rotation ensures no segment gets fatigued.
- Write the calendar —
~/notes/Klaviyo/<brand>/calendar/YYYY-MM.md. - Print summary — month table + the suggested first send for the week, with a one-line prompt to feed straight into
/klaviyo-campaign.
Calendar output structure
# Klaviyo Calendar — [brand] — [Month Year]
**Cadence:** N sends/week (Tue/Thu/Sat default)
**Master rotation:** promotional 30% / educational 30% / social proof 20% / brand 20%
**Avoid themes:** [list themes used in last 60 days]
**Holidays/launches in scope:** ...
## Schedule
| Date | Day | Theme bucket | Theme | Product | Segment | Hook | `/klaviyo-campaign` prompt |
|---|---|---|---|---|---|---|---|
| YYYY-MM-DD | Tue | promotional | ... | ... | engaged-30d | ... | "..." |
| YYYY-MM-DD | Thu | educational | ... | ... | full-list | ... | "..." |
| ... |
## Week-by-week rationale
### Week 1
- ...
### Week 2
- ...
What this skill does NOT do
- Does not auto-create campaigns — each slot is a brief Will runs through
/klaviyo-campaignon the send-day. Calendar = plan, not execution. - Does not lock the schedule — slots can be moved, swapped, or cut as the month plays out. Calendar is a starting point, not a contract.
- Does not include SMS-only sends — bundle SMS into the email slot where the segment supports it.
Failure modes
- No brand product catalog → ask Will to point at the product list or run the brand discovery first.
- Prior 60 days has heavy theme overlap (already covered everything) → surface and ask if it's time to introduce a new theme bucket (e.g., add an educational series, run a UGC campaign).
- High unsubscribe rate (>0.5% in prior 30 days) → recommend cadence reduction before slotting the new month.
Cadence
Run monthly, ideally 5-7 days before the new month starts. Pair with /klaviyo-weekly for the in-flight feedback loop.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.