CtrlK
BlogDocsLog inGet started
Tessl Logo

email-drafting

Draft an email matching the user's voice, with structured intent and CTA

62

Quality

73%

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 ./surfsense_backend/app/agents/chat/multi_agent_chat/main_agent/skills/builtin/email-drafting/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

92%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, well-structured instruction-only skill: it defines scope boundaries, gives a concrete voice-matching procedure with a sensible default, enforces an ordered draft structure with checkable constraints, and scripts the closing follow-up offer. The only soft spot is a couple of under-specified operations ('Search the KB', 'length distribution').

Suggestions

Specify where and how to search the KB (e.g. which directory or tool holds prior emails) so the voice-matching step is executable rather than assumed.

Make 'mirror... length distribution' concrete — e.g. 'match the typical paragraph count and sentence length of the 3 most recent prior emails to this recipient'.

DimensionReasoningScore

Conciseness

Every line is actionable and nothing restates what Claude already knows; even the scope exclusion ('Plain "summarize the email" is **not** in scope') earns its tokens by preventing misuse. Matches the 5-anchor (lean, assumes competence) with no padding to trim.

5 / 5

Actionability

Guidance is mostly executable with concrete, checkable rules — '≤ 8 words, no `Re:` unless replying', 'Opening (1 sentence)', 'Bullets only if there are >3 discrete items', and a copy-paste-ready closing sentence. Not 5 because 'Search the KB' and 'mirror... length distribution' assume unstated context (which KB, where, how to measure length distribution) — minor gaps in an otherwise concrete instruction-only skill.

4 / 5

Workflow Clarity

The simple-skill exception applies: a single task with an unambiguous flow — search precedent → mirror or apply the stated default → assemble the numbered 1–5 structure in order → end with the alternatives offer. The required structure is an explicit in-order sequence, so nothing is ambiguous; not a destructive/batch operation so no validation cap applies.

5 / 5

Progressive Disclosure

Under 50 lines with no need for external references, and the body is well organized into four well-labeled sections (When to use, Voice, Required structure, Always offer alternatives) — per the rubric's simple-skill note this earns 5 on organization alone.

5 / 5

Total

19

/

20

Passed

Description

53%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 states a clear, compact 'what' with a couple of concrete differentiators (voice matching, structured intent, CTA), but it has no 'Use when...' trigger clause and few natural trigger synonyms, so it would often fail to fire on real requests like 'reply to this thread' or 'write a follow-up'. It sits at the midpoint: unambiguous domain, weak triggering.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user asks to draft, write, or reply to an email, write a follow-up, or compose outreach — not for summarizing or analyzing email.'

Include natural trigger variations users actually say: 'draft', 'write', 'reply', 'follow-up', 'compose', 'email' — so the skill fires on common phrasings.

Unpack 'with structured intent and CTA' into concrete capability language (e.g. 'single explicit call to action, subject line, and sign-off matched to the user's style') so the what is specific rather than cryptic.

DimensionReasoningScore

Specificity

Names the domain and concrete elements — 'Draft an email matching the user's voice, with structured intent and CTA' — but coverage is not comprehensive: 'structured intent' reads as a compressed feature name rather than an action, and reply/follow-up handling and alternative offering are absent. Not 4 because it does not list several distinct specific actions like the 4-anchor example; clearly above the generic 2-anchor.

3 / 5

Completeness

The 'what' is clear (draft emails matching the user's voice with structured intent and CTA), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. Not 4 because the 'when' is entirely absent rather than merely imprecise.

3 / 5

Trigger Term Quality

'Draft an email' is a natural user phrase and 'voice' is relevant, but common variations users actually say — 'reply', 'follow-up', 'compose', 'write' — are missing. Matches the 3-anchor ('some relevant keywords but missing common variations or synonyms') better than 4 ('good keyword coverage').

3 / 5

Distinctiveness Conflict Risk

Email drafting is a mostly distinct niche, and 'matching the user's voice' separates it from generic writing skills; residual overlap risk exists with general composition/communication skills. Not 5 because the description lacks the distinct explicit triggers shown in the 5-anchor example.

4 / 5

Total

13

/

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
MODSetter/SurfSense
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.