CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

testing-with-sandbox

Use when capturing outbound email in development or staging without delivering to real recipients, inspecting HTML or headers, running spam or structure checks, or automating tests against a fake inbox. Use when testing outgoing mail from an app without committing to a production ESP yet. Use when using Mailtrap Email Sandbox, Sandbox API, or sandbox-mode sending.

Quality

77%

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/testing-with-sandbox/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 well-structured quick-reference with genuinely actionable SMTP/API details, clear scope gating, and appropriate delegation to external docs and sibling skills. The main costs are token efficiency (repeated inbox-id/sandbox glosses and a padded SDK paragraph) and the absence of any end-to-end example request, which keeps several dimensions at 'good but not excellent'.

Suggestions

Explain inbox id and the 'sandbox (test inbox)' gloss once in a Key-parameters section and drop the repeated definitions from Common mistakes, Typical use cases, and the sandbox email address section.

Add one complete, copy-paste example of sending a test email (e.g. a curl POST to /api/send/{inbox_id} with Authorization header and a minimal body) and one of verifying capture (GET .../messages) to close the execution gap and give the workflow an explicit validation checkpoint.

Trim the SDK section prose to just the 'check the repo README for current sandbox flags' instruction plus the repo link list, and move the endpoint table and SDK list into a reference file so SKILL.md stays a lean overview.

DimensionReasoningScore

Conciseness

The body is dominated by dense, high-value tables (SMTP host/ports, endpoints, mistakes/fixes), but there is real repetition and padding that could be tightened: "inbox id" is explained three times (Key parameters, Common mistakes, line 108's sandbox address note), "sandbox (test inbox)" is glossed at lines 15, 62, and 108, "Use API docs for details" appears twice, and the SDK paragraph's "This allows you to use the same integration for both live sending and sandbox testing—simply change the mode or credentials depending on your environment" is over-explanation of an already-stated idea. This matches 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than 4's 'minor instances'.

3 / 5

Actionability

Concrete, directly usable artifacts throughout: the send URL `https://sandbox.api.mailtrap.io/api/send/{inbox_id}` with its `Authorization: Bearer` header, SMTP host `sandbox.smtp.mailtrap.io` with explicit ports (2525/25/465/587), a full endpoint table with HTTP verbs and paths, and a mistakes table with fixes. It stops short of 5 because no fully copy-paste request exists — there is no example POST body for sending a test email, the message-listing endpoints lack their auth header, and credentials are only pointed at ('Per sandbox credentials from the Integration tab') rather than shown, leaving minor execution gaps.

4 / 5

Workflow Clarity

The decision flow is well sequenced for a lookup skill: When to use / When not to use gates the choice, 'When to use API vs SMTP' branches it, Quick reference supplies the config, and Common mistakes acts as an error-avoidance checkpoint. It is not 5: at ~98 lines with multiple distinct paths (send, inspect, automate, template test) there is no explicit step sequence or verification step (e.g. 'confirm capture by listing messages after sending'), and the simple-skill exception does not apply since this is not a single short task.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), and the body compensates with well-signaled, one-level-deep external links (API docs per endpoint, SDK repo READMEs, per-topic doc pages) plus cross-references to sibling skills for token/auth detail instead of inlining it. Structure is clean with descriptive headers throughout. Not 5 because everything lives inline in one ~98-line file — the endpoint table, SDK list, and sandbox-address details are natural candidates for reference files that would keep SKILL.md a leaner overview, leaving 'minor organization gaps' versus anchor 5.

4 / 5

Total

15

/

20

Passed

Description

75%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-first description with concrete actions, natural synonyms, and clear sandbox-vs-live distinction. Its main weakness is structural: the capability statement ('what') is only implied inside the 'Use when' clauses, and the second sentence partially duplicates the first.

DimensionReasoningScore

Specificity

The description names several concrete actions — "capturing outbound email", "inspecting HTML or headers", "running spam or structure checks", "automating tests against a fake inbox" — which matches the 'several specific actions; minor gaps in coverage' anchor. It falls short of 5 because no action states the mechanism (e.g. via SMTP/API/SDK) and the second sentence ("testing outgoing mail from an app without committing to a production ESP yet") restates the first rather than adding a new capability.

4 / 5

Completeness

Explicit 'Use when' trigger guidance is present (three clauses), and the "what" is conveyed through the gerund actions (capturing, inspecting, running checks, automating tests), so both halves are covered. It does not reach 5 because the "what" is never stated as a standalone capability declaration — it only exists embedded inside the when-clauses, mirroring anchor 4's 'when could be more explicit' condition on the what side.

4 / 5

Trigger Term Quality

Strong natural phrasing users would actually say — "fake inbox", "outbound email", "outgoing mail", "development or staging", "Mailtrap Email Sandbox", "Sandbox API", "sandbox-mode sending" — with genuine synonyms present. Not 5 because common variants like "test inbox", "email testing", "catch email in tests", or "SMTP" are absent, leaving a few natural terms missing.

4 / 5

Distinctiveness Conflict Risk

Naming "Mailtrap Email Sandbox", "Sandbox API", and "sandbox-mode sending" carves out a clear niche that is well separated from live sending (reinforced by "without committing to a production ESP yet"). Minor overlap risk remains with sibling skills (live `sending-emails`, `using-email-templates` preview sends) and with generic email-capture testing tools (MailHog, smtp4dev), since the first clause does not mention Mailtrap — fitting 'mostly distinct; minor overlap risk' rather than 5.

4 / 5

Total

16

/

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

mailtrap/mailtrap-skills

Path

skills/testing-with-sandbox/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.