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 high-level feature areas, which provides some distinctiveness. However, it lacks concrete action verbs describing what the skill actually does, misses a 'Use when...' clause entirely, and reads more like a topic tag list than a functional description. It would benefit significantly from specifying actions and explicit trigger conditions.

Suggestions

Add a 'Use when...' clause specifying trigger conditions, e.g., 'Use when the user asks about Klaviyo API integration, managing email campaigns, setting up automated flows, or working with customer segments in Klaviyo.'

Replace the noun list with concrete action phrases, e.g., 'Creates and manages Klaviyo email/SMS campaigns, configures automated flows, builds audience segments, tracks customer events, and manages subscriber profiles.'

Include additional natural trigger terms users might say, such as 'campaigns', 'automations', 'subscribers', 'lists', 'email templates', or 'marketing automation'.

DimensionReasoningScore

Specificity

Names the domain (Klaviyo email/SMS marketing) and lists some areas (profiles, events, flows, segmentation), but these are category nouns rather than concrete actions like 'create segments', 'trigger flows', or 'manage subscriber profiles'.

2 / 3

Completeness

Provides a brief 'what' (Klaviyo email/SMS marketing features) but completely lacks any 'when' clause or explicit trigger guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' itself is also quite thin, warranting a 1.

1 / 3

Trigger Term Quality

Includes relevant keywords like 'Klaviyo', 'email', 'SMS', 'flows', 'segmentation', and 'profiles' that users might naturally mention, but misses common variations like 'campaigns', 'automations', 'subscribers', 'lists', 'templates', or 'marketing automation'.

2 / 3

Distinctiveness Conflict Risk

The mention of 'Klaviyo' specifically is distinctive and narrows the domain well, but 'email/SMS marketing' could overlap with other email marketing or SMS skills. The specific platform name helps but the generic marketing terms could cause some conflict.

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, which is its primary strength. However, it is severely bloated — the 'Why Klaviyo' marketing table, redundant multi-language examples for every operation, and inlining of all reference material into a single file make it extremely token-inefficient. The content would benefit enormously from splitting into a concise overview SKILL.md with references to separate files for events, webhooks, integration patterns, and API reference.

Suggestions

Remove the 'Why Klaviyo' feature/benefit table and API Key Scopes table — these add no actionable value for Claude.

Split into multiple files: keep SKILL.md as a concise overview (~100 lines) with setup + core profile/event examples, then reference separate files like EVENTS.md, WEBHOOKS.md, INTEGRATION_PATTERNS.md for detailed code.

Choose one primary language (TypeScript) for examples and only include Python where the SDK interface differs meaningfully, rather than duplicating every example.

Add explicit validation/error-recovery steps to the integration workflows — e.g., verify profile exists before tracking events, check Klaviyo dashboard after first sync, handle partial failures in order sync.

DimensionReasoningScore

Conciseness

Extremely verbose at ~500+ lines. Includes unnecessary tables explaining 'Why Klaviyo' (Claude doesn't need marketing pitches), redundant Python + TypeScript + HTTP examples for the same operations, API key scope tables, and explanations of basic concepts like what webhooks are. The 'Why Klaviyo' feature/benefit table and API Key Scopes table add zero actionable value.

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, pagination, rate limiting with retry logic, and webhook signature verification.

3 / 3

Workflow Clarity

The 'E-Commerce Order Sync' pattern shows a clear 3-step sequence (upsert profile → update metrics → track event), and the checklist provides a good overview. However, there are no explicit validation checkpoints or error recovery steps in the integration workflows — e.g., no guidance on what to do if profile upsert fails before tracking the event, or how to verify events landed correctly.

2 / 3

Progressive Disclosure

This is a monolithic wall of text with no bundle files to offload content to. The e-commerce events, webhook handling, pagination, filtering, and integration patterns could all be separate reference files. Everything is inlined into a single massive document with no references to supporting files, making it overwhelming as a skill file that competes with conversation context.

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.