Read content from a Google Doc and use it as the body of a Gmail message.
Install with Tessl CLI
npx tessl i github:googleworkspace/cli --skill recipe-draft-email-from-doc59
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Discovery
32%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 identifies a specific integration workflow between Google Docs and Gmail but lacks explicit trigger guidance, which significantly limits Claude's ability to know when to select this skill. The description is functional but incomplete, missing the 'when to use' component and broader trigger term coverage.
Suggestions
Add a 'Use when...' clause with trigger terms like 'send doc as email', 'email document content', 'use Google Doc as email body', 'compose email from doc'
Include common term variations: 'Google Docs', 'email', 'draft', 'compose', 'send'
Clarify the specific workflow more precisely, e.g., whether it creates a draft, sends directly, or handles formatting
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Google Doc, Gmail) and describes two actions (read content, use as email body), but lacks comprehensive detail about what 'read content' entails or additional capabilities. | 2 / 3 |
Completeness | Describes what the skill does but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. | 1 / 3 |
Trigger Term Quality | Includes natural terms 'Google Doc' and 'Gmail message' that users would say, but missing common variations like 'Google Docs', 'email', 'send email', 'draft', or 'compose'. | 2 / 3 |
Distinctiveness Conflict Risk | The combination of Google Doc + Gmail is somewhat specific, but could overlap with general Google Docs skills or general Gmail skills; the integration aspect isn't strongly emphasized as the distinguishing factor. | 2 / 3 |
Total | 7 / 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 skill with good structure for its simplicity. However, it falls short on actionability by not showing how to actually extract text from the document response and inject it into the email command. The workflow would benefit from explicit guidance on parsing the document content.
Suggestions
Show how to extract text from the document API response (e.g., the JSON path to body content) rather than saying 'copy the text'
Provide a complete example showing the actual data flow from document response to email body parameter
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is lean and efficient, with no unnecessary explanations. Every line serves a purpose and assumes Claude understands the concepts involved. | 3 / 3 |
Actionability | Provides concrete commands but uses placeholders (DOC_ID, CONTENT_FROM_DOC) without showing how to actually extract and substitute the content programmatically. Step 2 'Copy the text from the body content' is vague. | 2 / 3 |
Workflow Clarity | Steps are listed in sequence but lack validation checkpoints. No guidance on handling errors (e.g., document not found, permission issues) or verifying the email was sent successfully. | 2 / 3 |
Progressive Disclosure | For this simple, short skill, the structure is appropriate. Prerequisites are clearly stated upfront, and the content is well-organized without needing external references. | 3 / 3 |
Total | 10 / 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.