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 workflow involving Gmail attachments and Google Drive, making it distinctive and concrete. However, it lacks any explicit 'Use when...' trigger guidance, which significantly hurts completeness and could make it harder for Claude to know when to select this skill. Adding trigger terms and common user phrasings would substantially improve it.
Suggestions
Add a 'Use when...' clause such as 'Use when the user wants to save email attachments from Gmail to Google Drive, or mentions backing up Gmail attachments.'
Include additional natural trigger terms users might say, such as 'email attachments', 'download attachments', 'backup emails to Drive', or 'extract files from emails'.
| 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 workflow described is distinct and narrowly scoped. | 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 skill that provides specific CLI commands for each step. However, it has gaps in the workflow between downloading an attachment (base64 data) and uploading it as a file, and lacks validation/error-handling steps for what is essentially a batch file operation.
Suggestions
Clarify how the attachment data from step 3 (typically base64-encoded) gets saved as a local file before step 4's upload.
Add a validation step after upload (e.g., verify file exists in Drive) and mention handling for multiple attachments/messages (loop guidance).
Add a note about handling the case where the search returns no results or messages have multiple attachments.
| 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., checking if the upload succeeded, handling cases where no attachments are found, or iterating over multiple messages/attachments). For a batch-like operation involving file downloads and uploads, the lack of error handling or verification caps this at 2. | 2 / 3 |
Progressive Disclosure | For a simple, short skill under 50 lines, the structure is appropriate. It clearly references prerequisite skills (gws-gmail, gws-drive) 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 | |
c7c6646
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.