GM
How to read, draft, and send emails via Gmail API for the Tesseract operator
Install
mkdir -p .claude/skills/gmail-stelios12312312 && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14138" && unzip -o skill.zip -d .claude/skills/gmail-stelios12312312 && rm skill.zipInstalls to .claude/skills/gmail-stelios12312312
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
How to read, draft, and send emails via Gmail API for the Tesseract operator76 charsno explicit “when” trigger
About this skill
Gmail — Reference Skill
Authentication
- OAuth2 via service account or stored credentials
- Default account:
GMAIL_DEFAULT_ACCOUNT_IDenv var - Connector:
tesseract_operator/connectors/gmail.py - Skills:
tesseract_operator/skills/gmail_skills.py
Available Skills (5 total)
| Skill | Risk | MCP | Description |
|---|---|---|---|
gmail.list | LOW | ✅ | List Gmail messages |
gmail.get | LOW | ✅ | Get a single message by ID |
gmail.inbox_unread | LOW | ✅ | List unread inbox messages |
gmail.create_draft | MEDIUM | ✅ | Create a draft (safe, no send) |
gmail.send | HIGH | ❌ | Send an email — requires approval |
Usage Pattern
gmail = ctx.extras["gmail"]
# List unread
messages = gmail.list_messages(query="is:unread", max_results=20)
# Create draft (safe, with HTML signature automatically appended)
draft = gmail.create_draft(to="[email protected]", subject="Follow-up", body="Hi...", append_signature=True)
# Send requires approval gate
Known Gotchas
gmail.sendis HIGH risk and NOT MCP-exposed — requires explicit CLI invocation- Always CC
[email protected]on lead replies (rule G-010) - Default account is
[email protected] - G-030: Never include sender name in body — Gmail auto-appends the signature. End at "Με εκτίμηση," or "Best regards," only.
- G-032: Before drafting ANY lead reply, read
docs/email_rules.mdfirst. It has brochure attachment rules, voice/language rules, and email templates.