CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cloudflare-email-routing

Cloudflare Email Routing for receiving/sending emails via Workers. Use for email workers, forwarding, allowlists, or encountering Email Trigger errors, worker call failures, SPF issues.

63

Quality

79%

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 ./plugins/cloudflare-email-routing/skills/cloudflare-email-routing/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%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, production-oriented body with copy-paste-ready code for receiving, sending, forwarding, and filtering. Its weaknesses are redundancy (rules/error sections that restate each other and the bundled references), use-case code that duplicates the Common Patterns section, and a "Using Bundled Resources" section that advertises seven template files which are missing from the bundle.

Suggestions

Delete or create the `templates/` files listed under "Using Bundled Resources" — the directory does not exist, so the listing is a dead reference that contradicts the frontmatter's `templates_included: 0`.

Deduplicate the Critical Rules, "Top 5 Errors Prevented", and `references/common-errors.md` coverage into a single error/reference section to reclaim tokens.

Move the Email Message Properties API reference and the three Use Cases into existing reference files, and add an explicit "send a real test email and check logs" validation step to the Quick Start workflow.

DimensionReasoningScore

Conciseness

The body is code-heavy and mostly efficient, but carries noticeable redundancy: "Never Do #1 Never skip nodejs_compat" restates "Always Do #1", "Top 5 Errors Prevented" restates both rules sections and duplicates `references/common-errors.md`, and the three full Use Cases (~90 lines) re-implement patterns already shown under Common Patterns. "What Is Email Routing?" and the "Both free and work together" line also pad with what Claude can infer. This matches anchor 3 ('mostly efficient but could be tightened'), not 4 — the duplication is more than minor trimming.

3 / 5

Actionability

Install commands ("bun add postal-mime@2.5.0 mimetext@3.0.27"), a complete receive worker, wrangler config, and a complete send flow are copy-paste ready, matching anchor 4. Not anchor 5: several snippets have minor gaps — the Reply pattern uses `env.SES` and `email.subject` without their imports/parser setup, and the Allowlist snippet assumes handler context defined elsewhere — so the common cases are not all fully self-contained.

4 / 5

Workflow Clarity

The Quick Start is a well-sequenced three-part walkthrough (enable routing → receive → send) with concrete dashboard clicks, deploy command, and a closing troubleshooting checklist, matching anchor 4. Not anchor 5: checkpoints are mostly implicit — "Test with real emails (not just dashboard)" appears only as a rule, never as an explicit verify step inside the flow — so the validate-and-retry feedback loop is absent.

4 / 5

Progressive Disclosure

References are well signaled ("Load `references/setup-guide.md` when:", a "Using Bundled Resources" listing, one level deep, and all 4 reference files exist), but the body inlines ~100+ lines that belong in separate files (the Email Message Properties API reference and the three Use Cases), and it lists 7 files under `templates/` that do not exist — a navigation dead end the frontmatter itself contradicts ("templates_included: 0"). This lands on anchor 3, not 4, because the dead template listing and inlined API reference are more than minor organization gaps.

3 / 5

Total

14

/

20

Passed

Description

87%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 description: concrete actions, an explicit 'Use for' trigger clause covering both tasks and named failure modes, and a distinct Cloudflare-specific niche. Keyword coverage is good but a few natural variations users might say (e.g., 'send email from worker', 'email not forwarding') live only in the metadata keywords rather than the description text.

DimensionReasoningScore

Specificity

The description names the domain ("Cloudflare Email Routing") and several concrete actions — "receiving/sending emails via Workers", "forwarding, allowlists" — which matches anchor 4 ('several specific actions; minor gaps'). It is not anchor 5 because coverage is compressed and omits capabilities the skill body documents (blocklists, parsing, replying, MX/DNS setup).

4 / 5

Completeness

Both halves are explicit: what — "Cloudflare Email Routing for receiving/sending emails via Workers"; when — "Use for email workers, forwarding, allowlists, or encountering Email Trigger errors, worker call failures, SPF issues" with concrete trigger phrases. This matches anchor 5 exactly; anchor 4 would require the 'when' to be less explicit or specific than it is.

5 / 5

Trigger Term Quality

"email workers", "forwarding", "allowlists", "Email Trigger errors", "worker call failures", "SPF issues" are natural phrases a user hitting these problems would say — good coverage matching anchor 4. Not anchor 5: common variations like "send email from a Worker", "email routing", "MX records", or "not forwarding" appear only in the frontmatter keywords, not the description itself.

4 / 5

Distinctiveness Conflict Risk

"Cloudflare Email Routing" plus product-specific triggers ("Email Trigger errors", "SPF issues") carve out a clear niche with minimal overlap with other skills, matching anchor 5. It is not a 4 because no closely related skill (e.g., a generic email or Workers skill) would plausibly capture these error strings.

5 / 5

Total

18

/

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

Total

15

/

16

Passed

Repository

secondsky/claude-skills

Path

plugins/cloudflare-email-routing/skills/cloudflare-email-routing/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.