CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

email-drafter

Use this skill when the user wants to draft, improve, or respond to emails — cold outreach, follow-ups, escalations, team announcements, or any professional communication.

Quality

85%

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

SKILL.md
Quality
Evals
Security

Quality

Content

81%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 tight, code-first skill that is immediately usable: executable functions, an email-type template map, and a quick-reference table with no token waste on concepts Claude already knows. The main flaws are a latent f-string bug in the system prompt, a hardcoded model version, and no guidance for handling truncation on longer drafts.

Suggestions

Fix the system-prompt f-string so the length mapping resolves to a real value (e.g. compute length_desc = {'short': '2-3 sentences', ...}.get(length, '2-3 paragraphs') before building the prompt) instead of injecting literal dict-lookup syntax into the model's instructions.

Move the model ID out of the hardcoded 'claude-opus-4-6' into a constant or parameter so it does not go stale as models are deprecated, and bump max_tokens (or scale it with length) so 'long' full-email drafts are not truncated at 1024 tokens.

Trim the duplicated length documentation between the function-signature comment and the system prompt so the parameter is specified in exactly one place.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence — no padding or re-teaching of email concepts — but the system-prompt f-string re-specifies the length parameter already documented in the function signature, and a hardcoded model version ("claude-opus-4-6") adds time-sensitive detail. These are minor trims, matching anchor 4 rather than the every-token-earns-its-place of 5.

4 / 5

Actionability

Provides mostly executable, copy-paste-ready functions with defaults and prompt templates covering draft, type-specific draft, and improve flows. However, the f-string at the system-prompt line emits literal `{"short": ...}.get(length, ...)` text into the prompt instead of the resolved value, and max_tokens=1024 can truncate 'long' full emails — concrete code with minor gaps, not the fully robust coverage of a 5.

4 / 5

Workflow Clarity

This is a simple, single-purpose skill (three unambiguous API-call functions, no multi-step or destructive/batch operations), so the simple-skill exception applies: each action is unambiguous and the section structure makes the right entry point obvious. There is nothing risky that would demand validation checkpoints, so it does not fall to the anchor-3/4 territory.

5 / 5

Progressive Disclosure

The single file is well-organized with clear section headers, an overview, and a quick-reference table, with no nested or buried references. At roughly 99 lines it exceeds the under-50-line bar that would qualify a compact single file for a 5, so it sits at 'good structure; most content appropriately placed' — a 4.

4 / 5

Total

17

/

20

Passed

Description

83%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 that states concrete actions and an explicit, trigger-rich 'Use when' clause in third person. Its only weaknesses are the vague "any professional communication" catch-all at the end and a few missing natural synonyms (e.g., 'reply', 'write').

DimensionReasoningScore

Specificity

The description lists several concrete actions ("draft, improve, or respond to emails") plus enumerated contexts ("cold outreach, follow-ups, escalations, team announcements"), but trails off into the generic catch-all "any professional communication", leaving minor gaps in coverage rather than the comprehensive action list of a 5.

4 / 5

Completeness

It explicitly answers both: what ("draft, improve, or respond to emails") and when ("Use this skill when the user wants to draft, improve, or respond to emails — cold outreach, follow-ups, escalations...") with concrete trigger phrases. The when-clause is explicit and specific, so it fits the anchor-5 example rather than anchor 4 where the 'when' could be more explicit.

5 / 5

Trigger Term Quality

Natural user phrases like "draft", "follow-ups", "cold outreach", and "escalations" are present and would be said when needed, but common synonyms such as "reply", "write an email", or "email template" are missing, matching the 'good coverage, a few natural terms missing' anchor rather than comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The email-drafting niche is mostly distinct with clear triggers, but "or any professional communication" broadens it into overlap territory with general writing/communication skills — minor overlap risk with closely related skills rather than the clear, minimally-conflicting niche of a 5.

4 / 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

ProwlrBot/prowlr-marketplace

Path

external/community/email-drafter/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.