CtrlK
BlogDocsLog inGet started
Tessl Logo

sparkpost

SparkPost integration. Manage Campaigns, Templates. Use when the user wants to interact with SparkPost data.

56

Quality

65%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

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

Quality

Content

67%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 well-structured and actionable with executable Membrane CLI commands and a clear connection workflow. Its main weakness is some padded explanatory prose at the top and the absence of explicit error-recovery feedback loops.

Suggestions

Trim the opening product explanation (what SparkPost is) and rationale asides like 'so you can focus on the integration logic rather than auth plumbing' to improve conciseness.

Add an explicit error-recovery feedback loop for CONFIGURATION_ERROR/SETUP_FAILED states (check error field, fix, re-run ensure, re-poll) to raise workflow clarity.

Provide one or two worked action-run examples with realistic --input JSON for common SparkPost operations to strengthen actionability.

DimensionReasoningScore

Conciseness

The body is mostly efficient with concrete command blocks, but includes unnecessary product explanation ("SparkPost is an email delivery service that helps businesses send transactional and marketing emails reliably...") and padded rationale prose, fitting 'mostly efficient but includes some unnecessary explanation'; not 4 because the opening overview and several explanatory asides could be trimmed.

3 / 5

Actionability

It provides concrete, executable commands throughout (membrane connection ensure, action run, request with a flags table) with only minor placeholder gaps (CONNECTION_ID, actionId), matching 'mostly executable guidance; minor gaps'; not 5 because common-case worked examples for action parameters are limited.

4 / 5

Workflow Clarity

There is a clear sequence (install CLI, authenticate, ensure connection, poll/wait for READY, search actions, run actions) with polling checkpoints for connection states, matching 'clear sequence with most checkpoints present'; not 5 because there is no explicit validate-fix-retry feedback loop for error states like CONFIGURATION_ERROR.

4 / 5

Progressive Disclosure

The skill is a single well-organized SKILL.md with clear section headers and no bundle files or nested references, fitting 'good structure; most content appropriately placed'; not 5 because the entity list and proxy flag table could optionally be split into reference files, and there are no signaled one-level-deep references.

4 / 5

Total

15

/

20

Passed

Description

62%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 third-person, includes an explicit 'Use when' trigger, and names a concrete domain with two actions. Its main weakness is limited action coverage and generic trigger phrasing rather than concrete user phrases.

Suggestions

Add more concrete actions beyond Campaigns and Templates (e.g., send email, manage suppression lists, view metrics) to lift specificity toward 4-5.

Replace the generic 'interact with SparkPost data' trigger with concrete user phrases like 'when the user wants to send, schedule, or track SparkPost email campaigns'.

Include common synonyms/extensions (e.g., 'SparkPost email', 'SparkPost API') to broaden natural trigger-term coverage.

DimensionReasoningScore

Specificity

The description names the SparkPost domain and two concrete actions ("Manage Campaigns, Templates") matching the 'names domain and 1-2 concrete actions' anchor; it does not reach 4 because only two narrow actions are listed rather than several.

3 / 5

Completeness

It answers both 'what' ("Manage Campaigns, Templates") and 'when' ("Use when the user wants to interact with SparkPost data"), matching the 'has both what and when; when could be more explicit' anchor; it stops short of 5 because the trigger is generic rather than concrete phrases.

4 / 5

Trigger Term Quality

It surfaces the strong domain keyword "SparkPost" and the phrase "interact with SparkPost data", but lacks common variations or synonyms users might say, so it sits at 'some relevant keywords but missing common variations' rather than 4.

3 / 5

Distinctiveness Conflict Risk

The product-specific name "SparkPost" gives it a clear niche with distinct triggers and minimal conflict risk, fitting 'mostly distinct; minor overlap risk'; it is not a 5 only because the trigger wording is fairly generic.

4 / 5

Total

14

/

20

Passed

Validation

93%

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

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository
membranedev/application-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.