CtrlK
BlogDocsLog inGet started
Tessl Logo

klaviyo

Klaviyo email/SMS marketing - profiles, events, flows, segmentation

38

Quality

37%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/klaviyo/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

32%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description identifies the platform (Klaviyo) and lists key feature areas, which provides some useful context. However, it reads as a noun list rather than describing concrete actions, and critically lacks any 'Use when...' guidance to help Claude know when to select this skill. Adding action verbs and explicit trigger conditions would significantly improve its effectiveness.

Suggestions

Add a 'Use when...' clause with trigger terms like 'Use when the user asks about Klaviyo, email campaigns, SMS marketing, marketing automation, or customer segmentation in Klaviyo'.

Convert the noun list into concrete actions, e.g., 'Manages Klaviyo email/SMS marketing: creates and edits flows, builds audience segments, tracks customer events, and manages subscriber profiles'.

Include additional natural trigger terms users might say, such as 'campaign', 'automation', 'subscriber list', 'newsletter', or 'Klaviyo API'.

DimensionReasoningScore

Specificity

Names the domain (Klaviyo email/SMS marketing) and lists some areas (profiles, events, flows, segmentation), but these are more like feature categories than concrete actions. It doesn't describe what it actually does with these (e.g., 'create flows', 'manage profiles', 'build segments').

2 / 3

Completeness

It partially answers 'what' (Klaviyo email/SMS marketing features) but has no 'when' clause or explicit trigger guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' is also weak (just listing nouns), so this scores a 1.

1 / 3

Trigger Term Quality

Includes relevant keywords like 'Klaviyo', 'email', 'SMS', 'marketing', 'profiles', 'events', 'flows', 'segmentation' which users might naturally mention. However, it's missing common variations like 'campaign', 'automation', 'subscriber', 'list', or 'newsletter'.

2 / 3

Distinctiveness Conflict Risk

The mention of 'Klaviyo' specifically is distinctive and narrows the niche, but 'email/SMS marketing' could overlap with other marketing or email-related skills. The platform-specific mention helps but the broad marketing terms reduce distinctiveness.

2 / 3

Total

7

/

12

Passed

Implementation

42%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill provides highly actionable, executable code examples covering the full Klaviyo API surface area, which is its primary strength. However, it is excessively verbose — including marketing-style feature tables, redundant multi-language examples, and explanations Claude doesn't need — consuming far more tokens than necessary. The monolithic structure with no progressive disclosure and missing validation checkpoints in workflows significantly reduce its effectiveness as a skill file.

Suggestions

Cut the 'Why Klaviyo' table, API Key Scopes table, and setup checklist entirely — these don't help Claude execute tasks. Reduce to one primary language (TypeScript) with a brief note that Python SDK exists.

Split into multiple files: keep SKILL.md as a concise overview with core setup + profile/event basics, then reference separate files like EVENTS.md (e-commerce event catalog), WEBHOOKS.md, and PATTERNS.md (integration patterns).

Add explicit validation steps to the integration patterns — e.g., after syncing an order, verify the event appears via GET /events, and handle cases where profile upsert fails before tracking the event.

Remove the common e-commerce events catalog (Viewed Product, Added to Cart, etc.) or move it to a reference file — the pattern is clear from one example, and Claude can generalize.

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~600+ lines. It includes a 'Why Klaviyo' marketing table Claude doesn't need, explains API key scopes, provides redundant Python + TypeScript + HTTP examples for the same operations, lists common flow triggers Claude already knows, and includes a setup checklist that's not actionable guidance. Much of this could be cut by 60%+ without losing utility.

1 / 3

Actionability

The code examples are concrete, executable, and copy-paste ready across TypeScript, Python, and client-side JavaScript. Functions include proper request bodies with JSON:API format, error handling, rate limit retry logic, pagination, and webhook signature verification — all directly usable.

3 / 3

Workflow Clarity

The 'E-Commerce Order Sync' pattern shows a clear 3-step sequence (upsert profile → update properties → track event), but there are no validation checkpoints or error recovery steps. For batch operations like syncing orders or bulk profile updates, there's no guidance on verifying success, handling partial failures, or rollback strategies.

2 / 3

Progressive Disclosure

Everything is in a single monolithic file with no references to supporting files despite the content being long enough to warrant splitting (e.g., event tracking examples, webhook setup, and integration patterns could each be separate files). No bundle files exist, and the skill doesn't organize content into overview vs. detail layers.

1 / 3

Total

7

/

12

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (810 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

9

/

11

Passed

Repository
alinaqi/claude-bootstrap
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.