CtrlK
BlogDocsLog inGet started
Tessl Logo

customerio-upgrade-migration

Plan and execute Customer.io SDK upgrades and migrations. Use when upgrading customerio-node versions, migrating from legacy APIs, or updating to new SDK patterns. Trigger: "upgrade customer.io", "customer.io migration", "update customer.io sdk", "customer.io breaking changes".

66

Quality

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

Quality

Content

62%

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

The body delivers a clear, well-validated migration workflow with concrete code, but it is verbose and monolithic, stranding its own reference files. Some centerpiece code blocks are not executable as written, which hurts actionability.

Suggestions

Fix the non-executable code: the CioMigrationClient constructor uses `await import()` in a non-async constructor (a syntax error) and the staged-rollout snippet references undefined `newClient`/`legacyClient` — make them copy-paste ready or explicitly label them as illustrative pseudocode (actionability).

Move the full wrapper class, test suite, and rollout implementations into references/implementation-guide.md or references/implementation.md and link to them from the body, keeping SKILL.md to the before/after migration pattern, commands, and checklist (conciseness).

Add a References section in the body that links to references/implementation-guide.md and references/implementation.md so the Python SDK, parallel-verification, and data-center migration material is discoverable instead of stranded (progressive_disclosure).

DimensionReasoningScore

Conciseness

Mostly efficient but long: the full CioMigrationClient wrapper class, complete test suite, and rollout code are inline in SKILL.md, and the "Key changes" bullets restate what the before/after code already shows. Not a 3 because the body could be tightened by moving detailed implementations to the existing reference files; not a 1 because it avoids explaining generic concepts at length.

2 / 3

Actionability

Provides substantial concrete, executable code (version check, npm install/test commands, vitest suite, error table), but key blocks are not copy-paste ready: the CioMigrationClient constructor uses `await import()` inside a non-async constructor (a syntax error), and the staged-rollout snippet references undefined `newClient`/`legacyClient`. Not a 3 because the centerpiece wrapper will not compile as written.

2 / 3

Workflow Clarity

Clear six-step sequence (Assess → Review breaking changes → Wrapper → Update and Test → Test suite → Staged rollout) with explicit validation (npm test, integration tests), a 10-item checklist, a rollback plan, and an error-handling table for recovery. Validation is present for this risky upgrade operation, so the destructive-operation cap does not apply.

3 / 3

Progressive Disclosure

Bundle files exist in references/ (implementation-guide.md, implementation.md) but are never linked or signaled from the body, and content that could live in those files is inline. Not a 1 because the body has clear section headers and step structure rather than poor organization; not a 3 because the references are stranded and navigation to them is missing.

2 / 3

Total

9

/

12

Passed

Description

100%

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 strong: it states concrete capabilities, provides explicit Use-when guidance plus a dedicated Trigger list, and occupies a distinct niche unlikely to conflict with other skills. It answers both what and when clearly and concisely.

DimensionReasoningScore

Specificity

Lists multiple concrete actions tied to a specific domain — "Plan and execute Customer.io SDK upgrades and migrations", "migrating from legacy APIs", "updating to new SDK patterns" — rather than vague language. Not a 2 because the actions are concrete and domain-specific, not just a named domain with partial actions.

3 / 3

Completeness

Explicitly answers both what ("Plan and execute Customer.io SDK upgrades and migrations") and when ("Use when upgrading customerio-node versions...") with explicit triggers. Matches the anchor example that pairs a capability statement with a Use-when clause.

3 / 3

Trigger Term Quality

Includes an explicit Trigger list with natural phrases a user would say: "upgrade customer.io", "customer.io migration", "update customer.io sdk", "customer.io breaking changes". Good coverage of likely user phrasings rather than technical jargon.

3 / 3

Distinctiveness Conflict Risk

Targets a clear niche (Customer.io SDK upgrades/migrations) with distinct triggers unlikely to fire for unrelated skills. Not a 2 because the scope is narrowly scoped to one vendor's SDK migration rather than overlapping with general code or document skills.

3 / 3

Total

12

/

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.

Validation13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

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

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

13

/

16

Passed

Repository
jeremylongshore/claude-code-plugins-plus-skills
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.