CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

klaviyo

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

52

Quality

66%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/klaviyo/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%Weight 40%Scale 1-5

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

The body is a dense, highly actionable API reference with executable examples across languages and thoughtful extras (anti-patterns, checklists, env var patterns). Its main weaknesses are its monolithic single-file structure — no progressive disclosure despite reference-worthy volume — and missing validation/feedback loops for its batch and sync workflows.

Suggestions

Split the long-tail reference material (campaigns, flows, webhook topics, filtering/sorting, pagination) into references/ files (e.g., references/api-reference.md, references/events.md) and keep SKILL.md as a concise overview with clearly signaled one-level-deep links.

Add validation checkpoints and feedback loops to the batch/sync workflows, e.g., verify the tracked event appears via GET /events after syncOrderToKlaviyo, and retry/rollback guidance for bulk list operations.

Remove the 'Why Klaviyo' marketing benefits table and other non-instructional padding, and fix internal inconsistencies such as the undefined getProfileIdByEmail helper and the WEBHOOK_SECRET vs KLAVIYO_WEBHOOK_SECRET mismatch.

DimensionReasoningScore

Conciseness

The body is almost entirely executable code with almost no padded conceptual explanation, but the "Why Klaviyo" benefits table is marketing fluff and the ~800-line inline API reference (campaigns, flows, filtering, pagination, webhooks) could be substantially tightened or trimmed, matching 'mostly efficient but could be tightened'.

3 / 5

Actionability

Concrete, mostly copy-paste-ready TypeScript, Python, HTTP, and client-side examples cover the common cases (profile upsert, e-commerce events, list management, webhook verification, rate-limit retry, cursor pagination), but there are minor gaps: getProfileIdByEmail is called in the order-sync pattern but never defined, and the Express handler uses WEBHOOK_SECRET while the env docs define KLAVIYO_WEBHOOK_SECRET.

4 / 5

Workflow Clarity

A rough setup → integration → testing sequence exists via the checklists and the numbered order-sync pattern, and the testing checklist includes 'Verify events in Klaviyo dashboard', but batch operations (bulk addToList, getAllProfiles pagination, webhook-driven sync) lack validation checkpoints and feedback loops, capping workflow clarity at 3.

3 / 5

Progressive Disclosure

There are no references/, scripts/, or assets/ bundle files, and roughly 800 lines of API reference that clearly belongs in separate files is fully inlined; section headers are well-organized so it is above 'minimal structure', matching 'some structure but content that should be separate is inline'.

3 / 5

Total

13

/

20

Passed

Description

61%Weight 40%Scale 1-5

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 is compact and names a specific, recognizable product with its main capability areas, giving it strong distinctiveness. Its weaknesses are the absence of any 'use when' trigger phrasing inside the description itself and the lack of action verbs describing what the skill actually does with profiles, events, flows, and segmentation.

Suggestions

Add an explicit trigger clause to the description, e.g., "Use when integrating Klaviyo for email/SMS marketing, tracking e-commerce events, or building segmentation/flows".

Turn the bare noun list into concrete actions, e.g., "Create and update customer profiles, track e-commerce events, manage lists and segments, and inspect campaigns and flows via the Klaviyo API".

Include natural user variations such as "campaigns", "newsletters", and "audience" to broaden trigger-term coverage.

DimensionReasoningScore

Specificity

"Klaviyo email/SMS marketing - profiles, events, flows, segmentation" names the domain and four concrete capability areas, but lists them as bare nouns with no action verbs (e.g., no "create profiles", "track events"), placing it between the 'minimal actions' (2) and 'concrete actions' (3) anchors.

3 / 5

Completeness

The description clearly answers 'what' (Klaviyo email/SMS marketing covering profiles, events, flows, segmentation) but contains no 'Use when...' clause or equivalent trigger phrase — the trigger guidance lives in a separate when-to-use frontmatter field, not the description — so completeness is capped at 3.

3 / 5

Trigger Term Quality

"Klaviyo", "email/SMS", "marketing", "flows", and "segmentation" are terms users naturally say, giving good keyword coverage; however common variations like "campaigns", "newsletters", "audience", or "automation" are missing, so it does not reach comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

"Klaviyo" pins a clear product niche with minimal conflict risk, but the trailing "email/SMS marketing" scope overlaps with skills for competing marketing platforms (e.g., a generic email-marketing or Mailchimp-type skill), matching 'mostly distinct; minor overlap risk'.

4 / 5

Total

14

/

20

Passed

Validation

87%

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

Validation — 14 / 16 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

14

/

16

Passed

Repository

alinaqi/maggy

Path

skills/klaviyo/SKILL.md

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.