CtrlK
BlogDocsLog inGet started
Tessl Logo

gmail-automation

Automate Gmail tasks via Rube MCP (Composio): send/reply, search, labels, drafts, attachments. Always search tools first for current schemas.

77

1.52x
Quality

67%

Does it follow best practices?

Impact

96%

1.52x

Average score across 3 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./plugins/all-skills/skills/gmail-automation/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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, well-structured reference whose main costs are redundancy across sections, missing validation checkpoints around batch and irreversible label operations, and a monolithic single-file layout that inlines material better split into reference files.

Suggestions

Add validation checkpoints to batch/destructive workflows: verify message IDs/label IDs before GMAIL_BATCH_MODIFY_MESSAGES, and require confirmation plus a re-list check after irreversible GMAIL_DELETE_LABEL.

De-duplicate content across sections — keep query-syntax pitfalls and label-ID rules in one place (Known Pitfalls or a reference file) and reference them from the workflows.

Move the Gmail Query Syntax section and Quick Reference table into a references/ file (e.g. references/query-syntax.md, references/tool-table.md) and link to them from SKILL.md to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The body is dense and free of conceptual padding, but contains noticeable redundancy: the 'is:snoozed' vs 'label:snoozed' mistake appears in both workflow 3 and Known Pitfalls, the label-ID-not-name rule appears three times, and "resultSizeEstimate is approximate" is stated twice. It fits "mostly efficient but could be tightened"; it is not 2 because there is no over-explanation of known concepts.

3 / 5

Actionability

Guidance is fully executable for an MCP-tool skill: exact tool slugs, numbered sequences, concrete parameter formats (e.g. "thread_id: Hex string from FETCH_EMAILS (e.g., '169eefc8138e68ca')"), worked query examples like "(from:alice OR from:bob) is:starred", and a quick-reference table. Per the rubric's code-vs-instruction note, absence of code is not penalized when guidance is this actionable.

5 / 5

Workflow Clarity

Sequences are clearly ordered and setup includes a checkpoint ("Confirm connection status shows ACTIVE before running any workflows"), but batch and destructive operations lack validation: GMAIL_BATCH_MODIFY_MESSAGES (up to 1000 messages) and the irreversible GMAIL_DELETE_LABEL have no verify-before or verify-after step. The rubric explicitly caps workflow clarity at 3 for destructive/batch operations without validation.

3 / 5

Progressive Disclosure

Sections are well organized with clear headers, but this is a single ~270-line file: the Gmail Query Syntax reference and the Quick Reference table are inline content that clearly belongs in separate reference files, and no references/ bundle exists. This matches "some structure but content that should be separate is inline"; it is above 2 because structure is genuinely good, not minimal.

3 / 5

Total

14

/

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, specific, well-scoped description that clearly states what the skill does. Its main weakness is the absence of an explicit "when to use" trigger clause, which caps completeness at 3 and limits natural-term coverage.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user wants to send, reply to, search, label, or draft Gmail emails" — this would lift completeness from 3 to 4-5.

Include the natural synonyms "email" and "inbox" in the description so the skill fires on phrasing that doesn't mention Gmail by name.

Consider naming a couple of extra capabilities (archive, mark as read/unread) to round out the action list toward comprehensive coverage.

DimensionReasoningScore

Specificity

The description lists several concrete action areas — "send/reply, search, labels, drafts, attachments" — matching the anchor for several specific actions with minor gaps (archive and mark-read/unread are only implied via "labels"). It falls short of 5 because the abbreviated list is not fully comprehensive.

4 / 5

Completeness

The "what" is concrete and clear, but there is no "Use when..." clause — "Always search tools first for current schemas" is an operating instruction, not a trigger. Per the rubric, a missing explicit trigger guidance caps completeness at 3.

3 / 5

Trigger Term Quality

Natural terms like "Gmail", "send", "reply", "search", "labels", "drafts", and "attachments" map well to what users would say. It is not 5 because common synonyms such as "email" and "inbox" are absent.

4 / 5

Distinctiveness Conflict Risk

The description is tightly scoped to Gmail via "Rube MCP (Composio)", giving it a clear niche with distinct triggers and minimal conflict risk with other skills. It does not straddle adjacent domains the way the score-4 example ("PDF and Word") does.

5 / 5

Total

16

/

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
davepoon/buildwithclaude
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.