klaviyo-campaign — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited klaviyo-campaign (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
One command, brief in → scheduled Klaviyo campaign out. Will approves before the send is confirmed. The MCP creates the campaign + template; Will hits "Send Now" or schedules in Klaviyo if that final step is gated.
+sms to add SMS). If anything's missing, ask before drafting.~/notes/[brand-slug]/brand-identity/ for voice, products, visual guidelines. If unclear which brand, ask. Per memory: don't infer voice from visuals — read the persona doc.mcp__claude_ai_Klaviyo__klaviyo_get_campaigns for the last 14 days. Check subject lines + themes. If the proposed theme is too close to a recent send, surface the conflict before continuing.## Copy framework below.mcp__claude_ai_Klaviyo__klaviyo_upload_image_from_url. Create the template via mcp__claude_ai_Klaviyo__klaviyo_create_email_template.mcp__claude_ai_Klaviyo__klaviyo_get_segments. If it doesn't exist yet, hand off to /klaviyo-segment to build it first.ship, tweak X, or cancel. Never auto-create the campaign without approval.mcp__claude_ai_Klaviyo__klaviyo_create_campaign with the segment, then mcp__claude_ai_Klaviyo__klaviyo_assign_template_to_campaign_message to attach the template.~/notes/Klaviyo/<brand>/campaigns/YYYY-MM-DD-[slug]/brief.md plus copy.md, design.html, config.json.Ready to create campaign:
Brand: <brand>
Audience: <segment> (<n profiles>)
Send time: <YYYY-MM-DD HH:MM tz> | "immediate" | "draft only"
Subject (A): <variant>
Subject (B): <variant>
Subject (C): <variant>
Preheader: <text>
Body preview:
<first 200 chars of body>...
Template: <name | new template will be created>
Folder: ~/notes/Klaviyo/<brand>/campaigns/<slug>/Wait for ship, tweak <field>, or cancel. On tweak <field>, regenerate that field only.
~/notes/Klaviyo/<brand>/campaigns/YYYY-MM-DD-[slug]/
brief.md # the original brief + context
copy.md # final subject lines, preheader, body
design.html # the email template HTML
config.json # segment id, send time, template id, campaign id (post-creation)/klaviyo-segment./klaviyo-flow./klaviyo-ab (subject-line variants in this skill are for Will's pick, not a live A/B)./klaviyo-segment to create it, or pick from existing.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.