SKILL.md
Gmail Email Management
This skill provides comprehensive guidance for managing Gmail emails, labels, and organization.
Requirements
- Hyper MCP installed and connected. https://app.hyperfx.ai/mcp
- Gmail integration enabled at https://app.hyperfx.ai/apps.
Label Operations - Critical Distinctions
ADD LABEL (keeps email in current location + adds new label)
- Use:
gmaillabelsadd - Use case: Adding labels WITHOUT moving the email from its current location
- Example: Email stays in INBOX and also gets labeled "Important"
MOVE TO LABEL (removes from INBOX + adds to target label)
- Use:
gmailmessagesmovetolabel - Use case: Moving email OUT of inbox and INTO a specific label/folder
- Example: Email is removed from INBOX and moved to "Archive" or "Work"
- This performs TWO operations: removes INBOX label + adds target label
REMOVE LABEL (removes specific label)
- Use:
gmaillabelsremove - Use case: Removing labels from an email
- Can remove any label including INBOX
Getting Label IDs
CRITICAL: Most Gmail label operations require label IDs, NOT label names.
- Always call
gmaillabelslistfirst to get available labels and their IDs - Label IDs look like: "Label123", "Label456", or system labels: "INBOX", "SENT", "TRASH"
- Never guess or make up label IDs
Common Workflows
Email Triage/Organization
- Call
gmaillabelslistto see available labels - Call
gmailmessageslistto get emails - Use
gmailmessagesmovetolabelto move emails from INBOX to appropriate labels
Adding Categories (keep in inbox)
- Call
gmaillabelslistto get label IDs - Use
gmaillabelsaddto categorize emails while keeping them in INBOX
Creating New Labels
- Use
gmaillabelscreateif the desired label doesn't exist - Returns the new label's ID for immediate use
Searching and Listing Messages
gmailmessageslist supports full Gmail search query syntax:
queryparameter accepts the same syntax as Gmail's search box- Examples:
"is:unread","from:[email protected]","has:attachment subject:invoice" - Combine operators:
"from:[email protected] is:unread has:attachment" - By default, excludes drafts (adds
-in:draftautomatically) - Use
labelparameter to filter by specific label
Drafts Workflow
Creating and sending draft emails
gmaildraftscreate- Create initial draftgmaildraftsupdate- Edit existing draft (optional)gmaildraftssend- Send the draft as email
Managing drafts
gmaildraftslist- List all draft emailsgmaildraftsget- Get a specific draft by IDgmaildraftsdelete- Delete a draft without sending
When to use drafts vs direct send
- Use
gmailmessagessendfor immediate one-step sending - Use draft workflow when you want to review/edit before sending or schedule for later
Email Actions - Important Distinctions
Archive vs Trash
gmailmessagesarchive- Removes from INBOX but keeps in "All Mail" (recoverable, not deleted)gmailmessagestrash- Moves to Trash folder (will be auto-deleted after 30 days)- Archive is the preferred way to "clean up" inbox while keeping emails
Attachments
gmailattachmentsget- Download attachments from received emails- When sending emails with attachments, use
file_idsparameter (requires files to be in the database first)
Tool Selection Quick Reference
| Action | Tool |
|---|---|
| Add label X | gmaillabelsadd |
| Move to label X | gmailmessagesmovetolabel |
| Remove from inbox | gmailmessagesmovetolabel (move to target) OR gmaillabelsremove (just remove INBOX) |
| Archive email | gmailmessagesarchive (preferred for cleanup) |
| Delete/trash email | gmailmessagestrash |
| Send email now | gmailmessagessend |
| Create email for later | gmaildraftscreate + gmaildraftssend |