Find Gmail messages with attachments and save them to a Google Drive folder.
Install with Tessl CLI
npx tessl i github:googleworkspace/cli --skill recipe-save-email-attachments86
Quality
85%
Does it follow best practices?
Impact
93%
6.20xAverage score across 3 eval scenarios
Discovery
82%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a well-written, specific description that clearly communicates the skill's purpose with natural trigger terms. Its main weakness is the lack of explicit 'Use when...' guidance, which would help Claude know exactly when to select this skill over others. The specificity of mentioning both Gmail and Google Drive makes it highly distinctive.
Suggestions
Add a 'Use when...' clause with trigger phrases like 'Use when the user wants to save email attachments, download Gmail attachments to Drive, or backup attachments from their inbox'
Consider adding file type variations users might mention, such as 'email files', 'inbox attachments', or 'attachment backup'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists two specific concrete actions: 'Find Gmail messages with attachments' and 'save them to a Google Drive folder'. Clear, actionable capabilities. | 3 / 3 |
Completeness | Clearly answers 'what does this do' but lacks an explicit 'Use when...' clause or equivalent trigger guidance. The when is only implied by the description of capabilities. | 2 / 3 |
Trigger Term Quality | Contains natural keywords users would say: 'Gmail', 'messages', 'attachments', 'Google Drive', 'folder'. These are common terms users would naturally use when requesting this functionality. | 3 / 3 |
Distinctiveness Conflict Risk | Very specific niche combining Gmail attachments with Google Drive storage. The combination of these two specific services makes it highly distinctive and unlikely to conflict with other skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
87%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-crafted, concise recipe skill that provides clear, actionable CLI commands for a straightforward 4-step workflow. Its main weakness is the lack of validation steps - there's no verification that attachments were found, downloaded successfully, or uploaded correctly, which is important for file operations.
Suggestions
Add a validation step after searching to handle the case when no messages with attachments are found
Include verification after upload (e.g., list files in folder to confirm) since file operations can fail silently
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Lean and efficient with no unnecessary explanation. Every line serves a purpose - prerequisite note, brief description, and concrete commands. No padding or concepts Claude already knows. | 3 / 3 |
Actionability | Provides fully executable CLI commands with realistic parameter structures. Each step has copy-paste ready commands with clear placeholders (MESSAGE_ID, ATTACHMENT_ID, FOLDER_ID) that indicate what needs substitution. | 3 / 3 |
Workflow Clarity | Steps are clearly sequenced and logical, but lacks validation checkpoints. No guidance on error handling (e.g., what if no attachments found, what if upload fails) or verification that the upload succeeded. | 2 / 3 |
Progressive Disclosure | Appropriately simple for a recipe-style skill. Clear prerequisite reference to dependent skills, well-organized single-level structure. No need for external references given the focused scope. | 3 / 3 |
Total | 11 / 12 Passed |
Validation
72%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 8 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata.version' is missing | Warning |
metadata_field | 'metadata' should map string keys to string values | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 8 / 11 Passed | |
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.