CtrlK
BlogDocsLog inGet started
Tessl Logo

resend

Resend integration. Manage Emails, Domains, ApiKeys. Use when the user wants to interact with Resend data.

56

Quality

63%

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/resend/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%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 content is a well-structured, executable guide with a clear connection-state workflow, but it caps on three fronts: an explanatory opening paragraph and asides hurt conciseness, placeholder/toy action examples hold back actionability, and the absence of validation guidance for destructive/batch actions caps workflow clarity. Progressive disclosure is good for a single-file skill.

Suggestions

Cut the "Resend is an email API platform..." paragraph and rhetorical asides; assume Claude knows what Resend and email APIs are.

Add a validation/verification step before destructive or batch actions (e.g. list-then-confirm before delete-contact/delete-domain, and dry-run or count check before send-batch-emails) to lift the workflow-clarity cap.

Show one concrete Resend action example with real values (e.g. `membrane action run send-email --input '{"from":"...","to":"...","subject":"..."}'`) instead of <actionId> and a toy key/value input.

DimensionReasoningScore

Conciseness

The body is mostly command-driven and lean, but the opening paragraph ("Resend is an email API platform for developers. It allows them to send transactional emails...") explains a concept Claude already knows, and a few rhetorical asides ("so you can focus on the integration logic rather than auth plumbing", "This is the fastest way to get a connection") add padding that could be trimmed.

3 / 5

Actionability

It provides concrete, executable commands throughout (install, login, connection ensure, action list/run, proxy) with realistic flags and a JSON-input example, matching anchor 4; it falls short of anchor 5 because the action-run example uses abstract placeholders (<actionId>) and a toy '{"key": "value"}' input rather than a realistic Resend example such as sending an email.

4 / 5

Workflow Clarity

The connect-to-run flow is clearly sequenced with explicit state branching (READY / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR) and a re-poll feedback loop, but the rubric caps destructive/batch skills at 3 when validation is absent — and the Popular actions table includes delete-contact, delete-domain, and send-batch-emails with no verification guidance before running them.

3 / 5

Progressive Disclosure

The single-file body is well-organized with clear section headers and easy navigation, with content appropriately placed and no problematic inlining or nested references; it sits at anchor 4 rather than 5 because no one-level-deep external references are used and the 15-row Popular actions table is bulk that could optionally live in a separate reference.

4 / 5

Total

14

/

20

Passed

Description

66%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 distinctive and explicitly pairs a clear "what" with a "Use when" trigger, but its actions stay generic ("Manage") and its trigger phrases are thinner than the best examples. It lands as a solid, above-midline description with room for more concrete action verbs and richer triggers.

Suggestions

Replace the generic verb "Manage" with concrete actions, e.g. "Send emails, list and verify domains, create and rotate API keys."

Expand the trigger clause with concrete natural phrases, e.g. "Use when the user wants to send transactional email or manage Resend emails, domains, or API keys."

Consider capitalizing resource names consistently ("Emails, Domains, API Keys") to match what users naturally type.

DimensionReasoningScore

Specificity

It names the Resend domain and three concrete resource classes ("Manage Emails, Domains, ApiKeys"), but "Manage" is a generic verb with no specific action verbs (send, verify, list), so it sits at the anchor-3 level of naming the domain plus concrete objects without comprehensive actions.

3 / 5

Completeness

It gives a clear "what" ("Resend integration. Manage Emails, Domains, ApiKeys.") and an explicit "Use when..." clause for the "when", matching anchor 4; it falls short of anchor 5 only because the trigger lacks the concrete trigger phrases (e.g. "when the user mentions emails, domains, or API keys").

4 / 5

Trigger Term Quality

It surfaces the distinctive "Resend" brand keyword plus resource terms (Emails, Domains, ApiKeys), but the single trigger phrase "interact with Resend data" is generic and it misses common natural-action phrasings users would say ("send email", "verify a domain", "create an API key").

3 / 5

Distinctiveness Conflict Risk

"Resend" is a specific named product, giving the skill a clear niche with minimal conflict risk; the brand keyword is highly distinctive and unlikely to trigger the wrong skill.

5 / 5

Total

15

/

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.