CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

webiny-mailer-smtp

Use when configuring SMTP email/mailer settings in a Webiny project. Triggers on: "configure email", "set up SMTP", "mailer config", "sending emails", "email not working", "configure mailer", "SMTP password", "Api.Mailer.Smtp".

Quality

79%

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/user-skills/mailer-smtp/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.

A highly actionable, well-structured single-file skill with concrete code, exact commands, and a genuinely useful mistakes table. The main costs are token inefficiency from a near-duplicate code example and triple-repeated build command, plus one broken .env snippet that undercuts copy-paste readiness.

Suggestions

Collapse the 'Full Example' and 'Core Pattern' sections into one example showing the component inside a minimal webiny.config.tsx config — the two code blocks are nearly identical and roughly double the example token cost.

Fix or remove the mangled .env snippet ('SMTP_PASSWORD = your - smtp - password - here;') — valid .env syntax is 'SMTP_PASSWORD=your-secret' with no spaces or semicolons; also state the env var requirement once alongside it instead of repeating the build command in three sections.

Turn the implied sequence into one explicit ordered list (add component → set env var → build with the correct --env flag → verify a test email), so the workflow reads end-to-end in one place instead of being assembled from the TL;DR, Common Mistakes, and Quick Reference sections.

DimensionReasoningScore

Conciseness

The body is mostly efficient — a TL;DR, a props table, and a mistakes table with no padding or explanation of concepts Claude already knows — but it could be meaningfully tightened: the 'Full Example' code block nearly duplicates the 'Core Pattern' block (same props, only wrapped in a config component), the build command ('yarn webiny build api') appears three times (TL;DR, Common Mistakes, Quick Reference), and the 'SMTP_PASSWORD = your - smtp - password - here;' snippet is mangled. This matches 'mostly efficient but includes some unnecessary explanation or could be tightened', not the level-4 anchor where only minor trims remain.

3 / 5

Actionability

Guidance is largely copy-paste ready: complete executable TSX for webiny.config.tsx, exact build commands with the '--env=YOUR_ENV' caveat, a props table with required/optional flags, and a mistakes table pairing real error messages ('expected string, received object') with fixes. The one gap is the .env snippet ('SMTP_PASSWORD = your - smtp - password - here;'), which is not valid .env syntax and would fail if copied as-is — a minor gap consistent with the level-4 anchor rather than the fully-executable level-5 anchor.

4 / 5

Workflow Clarity

This is a simple single-purpose skill and the action is unambiguous: add the component, supply the env var, run 'yarn webiny build api'. Error-recovery guidance is present via Common Mistakes (undefined env var at build time, RFC 5322 validation failures, settings not taking effect). It scores below 5 only because the sequence is implied across sections (TL;DR, example, Quick Reference) rather than stated once in order with an explicit final verify step.

4 / 5

Progressive Disclosure

A well-organized single-file skill: clear section headers (TL;DR, Core Pattern, Props Reference, Full Example, Common Mistakes, Quick Reference, Related Skills), no nested or dead references, and all content on one level. It does not hit the level-5 clean case because at ~90 lines the Props Reference and Full Example are candidates for a separate reference file, and the 'Related Skills' section points to skills that are not part of this bundle with no paths to verify.

4 / 5

Total

15

/

20

Passed

Description

81%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.

A strong, trigger-rich description with excellent natural-language and technical keyword coverage and clear Webiny-specific scoping. Its main weakness is that the capability ('what') is never stated independently of the 'when' clause, and the concrete actions the skill performs are left implicit.

DimensionReasoningScore

Specificity

The description names the domain ('SMTP email/mailer settings in a Webiny project') and one concrete action (configuring those settings), but never enumerates the specific actions the skill performs, such as adding the Api.Mailer.Smtp component or wiring the password via an environment variable. This matches 'names domain and 1-2 concrete actions, but not comprehensive', not the level-4 anchor requiring several specific listed actions.

3 / 5

Completeness

An explicit 'Use when' clause with concrete trigger phrases answers 'when' clearly, and the 'what' is present via 'configuring SMTP email/mailer settings', but it is merged into the when-clause rather than stated as a distinct capability (e.g., how the configuration is performed). This sits at 'has both what and when; when could be more explicit' territory — here it is the 'what' that could be more explicit — but not the level-5 anchor requiring both clearly and independently answered.

4 / 5

Trigger Term Quality

Trigger coverage is comprehensive and natural: action synonyms ('configure email', 'set up SMTP', 'configure mailer'), a symptom phrase users would actually say ('email not working'), credential terms ('SMTP password'), and the technical identifier 'Api.Mailer.Smtp'. Both natural-language synonyms and the component-level keyword are present, matching the comprehensive anchor rather than the 'a few natural terms missing' level-4 anchor.

5 / 5

Distinctiveness Conflict Risk

The description is tightly scoped to Webiny's mailer/SMTP extension, including the unambiguous 'Api.Mailer.Smtp' identifier. Generic phrases like 'configure email' are anchored by the Webiny context, giving a clear niche with minimal conflict risk against other skills.

5 / 5

Total

17

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

webiny/webiny-js

Path

skills/user-skills/mailer-smtp/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.