Read content from a Google Doc and use it as the body of a Gmail message.
64
56%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/recipe-draft-email-from-doc/SKILL.mdQuality
Discovery
40%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 identifies a specific integration between Google Docs and Gmail, making it distinctive. However, it lacks an explicit 'Use when...' clause and could benefit from more trigger terms that users would naturally say. The scope of capabilities described is also very narrow—only one action is mentioned.
Suggestions
Add a 'Use when...' clause such as 'Use when the user wants to send a Google Doc as an email, compose a Gmail message from document content, or email a doc.'
Include more natural trigger terms users might say, such as 'send doc as email', 'email document content', 'compose email from Google Doc', or 'convert doc to email'.
Consider broadening the capability description if the skill supports related actions, e.g., 'Reads content from Google Docs and sends it via Gmail. Supports formatting preservation, recipient selection, and subject line configuration.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names two specific services (Google Doc, Gmail) and describes a concrete workflow (read content, use as email body), but only describes one narrow action rather than listing multiple capabilities. | 2 / 3 |
Completeness | Describes what the skill does but has no explicit 'Use when...' clause or equivalent trigger guidance, which per the rubric should cap completeness at 2, and the 'what' is also fairly narrow. Missing the 'when' entirely caps this at 2, but the what is also limited, placing it closer to 1-2. Scoring at 1 because there is no 'when' guidance at all. | 1 / 3 |
Trigger Term Quality | Includes natural keywords like 'Google Doc', 'Gmail', and 'email message', but misses common variations users might say such as 'send doc as email', 'email a document', 'Google Docs to email', or 'compose email from doc'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of Google Docs and Gmail in a specific workflow (reading doc content to use as email body) is a very clear niche that is unlikely to conflict with other skills. | 3 / 3 |
Total | 8 / 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 clearly communicates the high-level workflow. However, it has a critical gap in step 2 where the actual extraction of text from the Google Docs API response (which returns structured JSON, not plain text) is hand-waved. The lack of validation before sending an irreversible email also weakens the workflow.
Suggestions
Clarify step 2 by showing how to extract plain text from the Google Docs API structured response (e.g., iterating over body.content[].paragraph.elements[].textRun.content), or at minimum note that the response is structured JSON requiring text extraction.
Add a validation checkpoint before sending the email, such as confirming the extracted content looks correct or previewing the draft before sending.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Very lean and efficient. The prerequisite note is necessary context, and the steps are minimal without explaining what Google Docs or Gmail are. Every token earns its place. | 3 / 3 |
Actionability | Provides concrete CLI commands with specific syntax, but step 2 ('Copy the text from the body content') is vague—it doesn't explain how to extract text from the structured document response (which returns JSON with nested structural elements, not plain text). The placeholder 'CONTENT_FROM_DOC' lacks guidance on how to actually transform the document content into a usable string. | 2 / 3 |
Workflow Clarity | Steps are clearly sequenced, but there's no validation—no check that the document was retrieved successfully, no verification that the content was properly extracted, and no confirmation that the email was sent. For an operation that sends an email (a non-reversible action), a validation checkpoint before sending would be important. | 2 / 3 |
Progressive Disclosure | For this simple, short skill (under 50 lines), the structure is appropriate. It references prerequisite skills clearly and keeps the content at the right level without unnecessary nesting or monolithic blocks. | 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.