Find Gmail messages with attachments and save them to a Google Drive folder.
68
61%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/recipe-save-email-attachments/SKILL.mdQuality
Discovery
50%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 clearly communicates a specific integration between Gmail and Google Drive for handling attachments, making it distinctive and concrete. However, it lacks a 'Use when...' clause, which is critical for Claude to know when to select this skill from a large pool. Adding trigger guidance and more keyword variations would significantly improve its effectiveness.
Suggestions
Add a 'Use when...' clause such as 'Use when the user wants to save email attachments to Drive, backup Gmail attachments, or move files from Gmail to Google Drive.'
Include common keyword variations users might say, such as 'email attachments', 'download attachments', 'backup emails', 'export attachments', or 'move files from email to Drive'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lists specific concrete actions: finding Gmail messages with attachments and saving them to a Google Drive folder. These are clear, actionable capabilities. | 3 / 3 |
Completeness | The description answers 'what does this do' clearly but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and since the 'when' is entirely absent, this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes natural keywords like 'Gmail', 'attachments', 'Google Drive', and 'folder', but misses common variations users might say such as 'email attachments', 'download attachments', 'backup emails', or 'save email files'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of Gmail, attachments, and Google Drive creates a very specific niche that is unlikely to conflict with other skills. The cross-service integration (Gmail to Drive) makes it highly distinctive. | 3 / 3 |
Total | 9 / 12 Passed |
Implementation
72%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a concise, well-structured recipe that provides specific CLI commands for each step. However, it has actionability gaps around the attachment download-to-file process and lacks validation/error handling steps that would be important for a multi-step file transfer workflow.
Suggestions
Clarify how the attachment data from step 3 (likely base64-encoded) gets saved as a local file before uploading in step 4.
Add a validation step after upload (e.g., verify file exists in Drive) and mention handling for multiple attachments/messages.
Add a note about iterating when multiple messages match the search query, since step 1 may return many results.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is lean and efficient. The prerequisite note is necessary context, and every line serves a purpose. No unnecessary explanations of what Gmail or Drive are. | 3 / 3 |
Actionability | Commands are concrete and specific, but there are gaps: step 3 downloads an attachment but doesn't explain how to extract the attachment data (base64 decode) to a file, and the transition from step 3 to step 4 (saving as ./attachment.pdf) is unclear. The placeholder values (MESSAGE_ID, ATTACHMENT_ID, FOLDER_ID) are reasonable but the workflow between steps isn't fully executable as-is. | 2 / 3 |
Workflow Clarity | Steps are clearly sequenced, but there are no validation checkpoints (e.g., verifying the upload succeeded, handling cases where no attachments are found, or iterating over multiple messages/attachments). For a batch-like operation involving file transfers, the lack of verification steps caps this at 2. | 2 / 3 |
Progressive Disclosure | For a simple, short skill under 50 lines, the structure is appropriate. The prerequisite clearly signals dependencies on other skills, and the content is well-organized with a single clear section. | 3 / 3 |
Total | 10 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_field | 'metadata' should map string keys to string values | Warning |
Total | 10 / 11 Passed | |
a3768d0
Table of Contents
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.