Skill clairem0/technically-curious-skills/communication/email
Compose and send emails with contact lookup, tone matching, and proper formatting. Use when the user says "email [person]", "send an email", or wants to compose a message.From its SKILL.md
npx -y skills add clairem0/technically-curious-skills --skill emailAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.0 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Draft and send emails with contact context and tone matching. Looks up the recipient first, selects the right tone based on the relationship, and always CCs you.
Connectors
| Connector | Required | Purpose |
|---|---|---|
| Google Workspace | Yes | Gmail (send, search, reply), Contacts (lookup), Drive (share files) |
Examples below show gws CLI syntax, but the workflow works with any Google Workspace connector. Claude will adapt the API calls for your setup.
Sending Models
There are two ways to set up email sending:
| Model | How it works | Best for |
|---|---|---|
| AI assistant account (default) | Sends from a dedicated AI email address, CCs you on everything | Transparency — recipients see it came from your AI assistant |
| Your own account | Sends directly from your personal email | When you want emails to appear as if you wrote them yourself |
This skill is designed around the AI assistant account model — it CCs you on every email so you always see what was sent on your behalf. If you switch to sending from your own account, you may want to remove the CC behavior.
Configuration
Load
env.mdfor accounts (send-from address, CC address). Loadstyle-guide.mdfor tone and voice.
From env.md:
- Sending account (the email address emails are sent from)
- CC address (your personal email — so you always see what was sent)
From style-guide.md:
- Tone by relationship type
- Voice and sign-off conventions
- Formatting rules
Workflow
Step 1: Identify Recipient
Look up the recipient in your contacts:
- Search contacts — by first name, last name, or email prefix (full names often fail in search)
- If found: Pull email, relationship type, and any notes for personalization
- If not found: Ask the user for the email and relationship context
Step 2: Gather Intent
- What's the purpose? (Update, request, thank you, intro, etc.)
- Key points to include?
- Any specific tone override?
If the user gave enough context in their initial message, skip to drafting.
Step 3: Draft
Select tone based on relationship:
| Relationship | Tone | Characteristics |
|---|---|---|
| Personal/Family | Warm, genuine | Express real interest, comfortable with emotion |
| Close Friends | Casual, playful | Direct and unfiltered |
| Professional | Polished but approachable | Clear, warm but efficient |
| Formal/External | Professional, clear | Structured, appropriate formality |
Structure:
Subject: [Clear, specific]
<p>[Greeting],</p>
<p>[Main point — get to it quickly]</p>
<p>[Supporting context if needed]</p>
<p>[Closing / next step]</p>
<p>[Sign-off],<br>
[Your name or AI name]</p>
Step 4: Review
Present the draft for review:
To: [recipient]
CC: [your CC address]
Subject: [subject]
[Body preview]
Ready to send? (Yes / Edit / Cancel)
Wait for confirmation before sending. Never send without explicit approval.
Step 5: Send
Send via your email connector:
gws gmail +send \
--to "[email protected]" \
--cc "[email protected]" \
--subject "Subject line" \
--body "<p>HTML body content</p>" \
--html
Confirm: "Sent! [Subject] to [Name] — you're CC'd."
Reply Mode
When replying to an existing conversation instead of starting new:
- Find the thread — search for the most recent message from the recipient
- Get message details — for threading headers (Message-ID, Thread-ID)
- Send the reply — using your connector's reply method (handles threading automatically)
Sharing Files
When an email needs to include a document:
- Upload to Drive
- Share with recipient (reader access)
- Include the Drive link in the email body
Error Handling
| Scenario | Response |
|---|---|
| Contact not found | Ask for email and relationship context |
| Auth expired | Re-authenticate, retry once |
| Send fails | Report the error — don't retry silently |
Customization Notes
How to adapt this skill to your own setup.
- Voice — Edit
style-guide.mdto match your writing voice. The tone-by-relationship table is the most important thing to personalize. - Sending model — See "Sending Models" above. If switching to send from your own account, update the sending address in
env.mdand consider removing the CC. - CC behavior — The default CCs you on everything because emails come from the AI assistant account. If sending from your own account, you can remove the CC.
- HTML vs plain text — This defaults to HTML for better mobile display. Switch to plain text if your recipients prefer it.
- Contact lookup — If you don't use Google Contacts, replace Step 1 with whatever contact store you use (local files, CRM, etc.)
What ships with it: 1 file
1.1 KB alongside SKILL.md
- style-guide.md1.1 KB