CtrlK
BlogDocsLog inGet started
Tessl Logo

mailjet

Mailjet integration. Manage Campaigns, Templates, Senders. Use when the user wants to interact with Mailjet 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

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/mailjet/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 provides concrete, executable Membrane CLI commands and a sensible connection-to-action flow, but it is padded with introductory framing, references a non-existent 'Step 2', lacks validation guidance around destructive actions, and keeps all reference material inlined in a single file.

Suggestions

Trim the Mailjet intro paragraph and 'auth plumbing' commentary to assume Claude's familiarity, keeping only operationally necessary context.

Add an explicit validation/confirmation checkpoint before destructive actions (e.g., confirm with the user before running 'delete-contact-list'), and relabel or remove the dangling 'Step 2' reference so the connection→action sequence is unambiguous.

Move the 'Popular actions' catalog and proxy flag reference into a separate reference file (e.g. ACTIONS.md) referenced from SKILL.md to introduce one-level-deep progressive disclosure.

DimensionReasoningScore

Conciseness

Quotes 'Mailjet is an email marketing platform that helps businesses create, send, and track marketing and transactional emails. It's used by marketers, developers, and agencies...' and 'so you can focus on the integration logic rather than auth plumbing' — mostly efficient, but the intro paragraph and auth-plumbing commentary explain context Claude largely already knows, matching anchor 3 rather than 4.

3 / 5

Actionability

Quotes executable commands like 'npm install -g @membranehq/cli@latest', 'membrane connection ensure "https://www.mailjet.com" --json', and 'membrane action run <actionId> --connectionId=CONNECTION_ID --input ...' — concrete, copy-pasteable CLI guidance covering the common cases, but placeholders and the absence of one fully-worked end-to-end example keep it just below anchor 5.

4 / 5

Workflow Clarity

Quotes a clear connection sequence ('If the returned connection has state: READY, skip to Step 2' with BUILDING polling and CLIENT_ACTION_REQUIRED re-poll loops), but 'Step 2' is never labeled as a section and the 'Running actions' guidance surfaces destructive actions like 'Delete Contact List' with no confirmation/validation step — the destructive-operations cap holds this at anchor 3.

3 / 5

Progressive Disclosure

Quotes the inlined 'Popular actions' table and proxy 'Common options' table — the file is internally well-sectioned but is a single >50-line monolith with reference material (action catalog, flag tables) inlined and zero external reference files, matching anchor 3 ('content that should be separate is inline').

3 / 5

Total

13

/

20

Passed

Description

73%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, concise, and clearly scoped to Mailjet with an explicit 'Use when' trigger, giving it strong distinctiveness and completeness. Its main weakness is the generic repeated verb 'Manage', which limits specificity and the richness of trigger phrases.

Suggestions

Replace the single generic verb 'Manage' with several distinct concrete actions (e.g., 'Create and send email campaigns, design templates, manage senders and contacts').

Expand the 'when' clause to list concrete trigger phrases beyond 'interact with Mailjet data', e.g. 'Use when the user wants to send marketing emails, manage contact lists, or work with Mailjet campaigns and templates.'

DimensionReasoningScore

Specificity

Quotes 'Manage Campaigns, Templates, Senders' — it names the domain plus three concrete resource areas, but repeats the single generic verb 'Manage' rather than listing several distinct actions, so it sits at anchor 3 rather than 4.

3 / 5

Completeness

Quotes both 'Manage Campaigns, Templates, Senders' (what) and 'Use when the user wants to interact with Mailjet data' (when); both are present and explicit, but the 'when' clause is a single generic trigger rather than the concrete multi-phrase triggers of anchor 5.

4 / 5

Trigger Term Quality

Quotes 'Mailjet', 'Campaigns', 'Templates', 'Senders' — natural terms a user would say, giving good keyword coverage; missing common synonyms like 'email' or 'marketing email', which keeps it below anchor 5.

4 / 5

Distinctiveness Conflict Risk

Quotes 'Mailjet integration' and 'interact with Mailjet data' — the named-vendor scope is a clear niche with minimal overlap risk against other skills, matching anchor 5.

5 / 5

Total

16

/

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.