Klaviyo weekly
Skill NovateStudioGit/novate-studio-skills/email-marketing/klaviyo-weekly
Monday morning Klaviyo intelligence — pulls last 7 days of campaign + flow performance, attributes revenue, flags underperformers, recommends one A/B test, one flow tweak, and one new campaign theme for the week ahead. ~2 min, fully automated. Trigger when the user says "weekly report", "Monday update", "how did emails do last week", "Klaviyo weekly", or per-cron on Mondays.From its SKILL.md
npx -y skills add NovateStudioGit/novate-studio-skills --skill klaviyo-weeklyAssembled 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.8 KB, ~1.2k 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-weekly
The agency Monday strategy call, run as a skill. Pulls real numbers from Klaviyo, attributes revenue, and outputs three concrete moves for the week ahead. Replaces the "let me hop on a call to walk you through the dashboard" call.
Flow
- Resolve the brand + date range — default: last 7 days for the brand connected to the Klaviyo MCP. If multiple brands in scope, ask which.
- Pull campaign performance —
mcp__claude_ai_Klaviyo__klaviyo_get_campaignsfiltered to send dates in range. For each, callklaviyo_get_campaign_reportto get opens / clicks / conversions / revenue. - Pull flow performance —
mcp__claude_ai_Klaviyo__klaviyo_get_flows. For each active flow, callklaviyo_get_flow_reportfor the date range. - Pull baseline metrics —
mcp__claude_ai_Klaviyo__klaviyo_query_metric_aggregatesforPlaced Order(total brand revenue) over the same window. Compute email revenue share = (email-attributed revenue) / (total revenue). - Compute the table — see
## Output structurebelow. - Generate recommendations — exactly three:
- One A/B test to run this week. Pick a high-volume campaign type and a single variable (subject line / send time / CTA / preview text). Specify hypothesis + variant + success metric.
- One flow tweak — identify the lowest-performing flow step in the report and propose a specific edit (subject line rewrite, delay adjustment, content swap).
- One new campaign theme — based on what hasn't been covered in the last 14 days, propose a theme + product + segment for a fresh send.
- Save the report —
~/notes/Klaviyo/<brand>/weekly-reports/YYYY-MM-DD.md. - Print summary to chat — top-line numbers + three recommendations + link to the file. No emojis.
Output structure
# Klaviyo Weekly — [brand] — YYYY-MM-DD (week of YYYY-MM-DD to YYYY-MM-DD)
## Headline numbers
- **Email revenue share:** N% (benchmark: 30-40%)
- **Total email revenue:** $X
- **Campaigns sent:** N
- **Active flows:** N
- **Total emails delivered:** N
- **Avg open rate:** N% (with iOS MPP caveat)
- **Avg click rate:** N%
- **Avg unsubscribe rate:** N% (red flag at >0.5%)
- **Avg complaint rate:** N% (red flag at >0.1%)
## Campaigns
| Send date | Campaign | Segment | Delivered | Open % | CTR | Revenue | RPR |
|---|---|---|---|---|---|---|---|
| ... | ... | ... | ... | ... | ... | ... | ... |
Top performer: **[name]** — why it worked (one line).
Bottom performer: **[name]** — what likely hurt it (one line).
## Flows
| Flow | Step | Delivered | Open % | CTR | Revenue | Issue? |
|---|---|---|---|---|---|---|
Top: **[flow + step]**.
Underperforming: **[flow + step]** — specific issue.
## Three moves for this week
### 1. A/B test
**Hypothesis:** ...
**Variable:** subject line / send time / CTA / preheader
**Test on:** [campaign type]
**Success metric:** [open / CTR / revenue]
**Sample size needed:** N per variant
### 2. Flow tweak
**Flow:** [name]
**Step:** [N]
**Current state:** ...
**Proposed change:** ...
**Expected impact:** ...
### 3. New campaign theme
**Theme:** ...
**Product(s):** ...
**Segment:** ...
**Why now:** ...
**Brief for `/klaviyo-campaign`:** [one-line prompt to feed straight in]
What this skill does NOT do
- Does not auto-implement recommendations — those are surfaced for Will to invoke
/klaviyo-campaign,/klaviyo-flow, or/klaviyo-ab. - Does not pull SMS performance separately — bundled into the same metrics where Klaviyo treats them as one channel.
- Does not deliver a multi-week trend report — that's a different skill (
/klaviyo-monthlyif ever needed).
Failure modes
- No campaigns sent in range → still output flow + revenue numbers, note "no campaigns this week" + recommend one for next week.
- Klaviyo MCP not connected → tell Will, stop.
- Multiple brands connected, ambiguous → ask which brand before running.
Cadence
Designed to run every Monday. Can be scheduled via the /schedule skill or cron to fire automatically. The output overwrites nothing — each report is its own dated file.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.