CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

email-ops

邮件起草与发送,支持纯文本正文和 ZIP、PDF、图片等多个附件。用户要求把文件发到指定邮箱时也使用本技能。

Quality

75%

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

Quality

Content

71%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, highly actionable operations skill: exact commands, explicit safety gating, JSON receipt validation, and an error-handling table give Claude everything needed to execute. The structural weakness is progressive disclosure — the six drafting templates are inlined and the bundled script is never referenced by path, relying on an undocumented PATH-installed `email-ops` wrapper.

Suggestions

Reference the bundled script explicitly (e.g., note that `email-ops` corresponds to scripts/send_email.py, or show `python3 scripts/send_email.py` as fallback) so the skill works when the wrapper is not on PATH.

Move the six Step 4 drafting templates into a references/ file (e.g., references/templates.md) and keep one compact example plus a type-to-template map in SKILL.md, cutting context load substantially.

Promote the pre-send check into an explicit validation step (核对主题、收件人、正文、附件清单 → 与用户确认) with a re-check loop before executing Step 5.

DimensionReasoningScore

Conciseness

The body is dense and operational with no explanations of concepts Claude already knows — no SMTP primer, no email-format tutorial — and specifics like "SMTP_PORT 默认 587(STARTTLS),465 使用 SSL" earn their tokens. Minor tightening is possible (the "中文" requirement and "返回格式: Subject: ... ---" boilerplate repeat across all six drafting templates and could be factored out), which matches 'efficient; minor instances that could be trimmed' rather than the fully lean level-5 anchor.

4 / 5

Actionability

Sending is fully executable: copy-paste bash blocks with exact flags ("--attachment \"/绝对路径/方案.pdf\""), explicit env-var contract, and JSON receipt semantics ("ok: true 表示 SMTP 服务器已接受发送"). The main gap is that the wrapper is invoked as "email-ops" via PATH while the bundle's actual file scripts/send_email.py is never referenced by path, leaving the user stranded if the command isn't installed — hence 4 rather than 5.

4 / 5

Workflow Clarity

A clear 6-step sequence with an early-exit rule ("用户已给出收件人、文件和发送要求时……直接执行 Step 5"), explicit validation ("任一附件不可读时不发送邮件", ok:true/false receipt handling), a safety gate ("默认行为是起草,不发送"), and an error-recovery table ("SMTP 认证失败 → 停止……告知用户"). It falls short of the level-5 anchor only because pre-send verification of the draft against the user's request is stated briefly rather than as an explicit checkpoint with a re-check loop.

4 / 5

Progressive Disclosure

Section structure is good (numbered steps, two well-formed tables), but the ~150 lines of six drafting templates are inlined in a 337-line SKILL.md where a references/ file would fit, and the one bundle file (scripts/send_email.py) is not clearly signaled — the body points to an `email-ops` PATH command instead of the bundled script's path. This matches 'some structure; references present but not clearly signaled; content that should be separate is inline'.

3 / 5

Total

15

/

20

Passed

Description

70%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 concise, third-person description that clearly states what the skill does and includes one explicit use-when trigger with concrete attachment formats. Its main weaknesses are underselling the skill's actual breadth (only drafting and sending are named) and covering just one trigger scenario, which leaves it solid but not exemplary.

Suggestions

Add the other concrete capabilities the body actually covers (读取现有线程、跟进、会前/会后邮件、合作提案) so the 'what' is comprehensive rather than two verbs.

Extend the trigger clause beyond file-sending to cover drafting requests (e.g., 用户要求起草、回复或跟进邮件时) and add common synonyms like 转发/写邮件.

DimensionReasoningScore

Specificity

The description names the domain and two concrete actions ("邮件起草与发送") plus concrete format support ("纯文本正文和 ZIP、PDF、图片等多个附件"), but coverage is narrow relative to the skill's actual scope (thread reading, follow-ups, proposals, meeting confirmations are unmentioned). It fits the 'names domain and 1-2 concrete actions, but not comprehensive' anchor better than the level-4 anchor, which expects several specific actions.

3 / 5

Completeness

Both parts are explicitly present: a clear what ("邮件起草与发送,支持纯文本正文和……多个附件") and an explicit when ("用户要求把文件发到指定邮箱时也使用本技能"). Not a 5 because the 'when' clause covers only the file-sending scenario and leaves the drafting trigger implied; not a 3 because explicit trigger guidance exists.

4 / 5

Trigger Term Quality

Natural user phrases are present: "邮件", "发送", "附件", concrete formats "ZIP、PDF、图片", and the scenario "把文件发到指定邮箱". A few common natural terms are missing (e.g., 回复/跟进/转发/写邮件), matching the 'good keyword coverage; a few natural terms missing' anchor rather than the comprehensive level-5 example.

4 / 5

Distinctiveness Conflict Risk

Email drafting/sending with SMTP attachments (ZIP/PDF/图片) is a clear niche with the distinct trigger "把文件发到指定邮箱", giving minimal conflict with unrelated skills. Minor overlap risk remains with generic file-transfer or mail-client skills since the description doesn't state what distinguishes it (e.g., SMTP-based sending), fitting the 'mostly distinct' anchor.

4 / 5

Total

15

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

TeamWiseFlow/xiaobei

Path

skills/email-ops/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.