Agent skill

Gmail Manager

by CraftOS-dev in CraftOS-dev/CraftBot

Expert Gmail management assistant via Rube MCP. An agent skill from CraftOS-dev/CraftBot.

MITAuto-check passedProductivity & Automation

Install Gmail Manager

skills CLI
$ npx skills add CraftOS-dev/CraftBot --skill gmail-manager -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install CraftOS-dev/CraftBot gmail-manager --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/CraftOS-dev/CraftBot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/gmail-manager .claude/skills/gmail-manager && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
gmail-manager
GitHub stars
392
Token cost
~2.3k tokens
SKILL.md length
536 words
Files
3
Skills in repo
89
Repo updated
First seen
Licence
MIT

At a glance

Expert Gmail management assistant via Rube MCP. An agent skill from CraftOS-dev/CraftBot.

  • Works in 6 steps: Daily Inbox Triage (Recommended 15-30… → Achieving Inbox Zero → Finding Specific Emails → …
  • Mentions inbox management
  • SKILL.md covers Core Principles, Available Rube MCP Tools, Common Workflows and Email Templates, plus 3 more sections
  • Needs RUBE_API_KEY

What it does

Gmail Manager is an agent skill from CraftOS-dev/CraftBot. Expert Gmail management assistant via Rube MCP. Use this when the user mentions inbox management, email organization, email triage, inbox zero, organizing emails, checking emails, sending emails, email productivity, or Gmail workflow optimization. Provides intelligent workflows and best practices for efficient email handling.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `README.md` and `_meta.json`).

It sits in Productivity & Automation, covering Email management. It works with Gmail. The repository describes itself as: One agent. Every kind of work. The licence is MIT.

When your agent uses it

  • Mentions inbox management
  • Email organization
  • Organizing emails
  • Checking emails

Example prompts

  • “/gmail-manager”

Requirements

  • Python 3
  • A credential in RUBE_API_KEY

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Daily Inbox Triage (Recommended 15-30 min/day)
  2. Achieving Inbox Zero
  3. Finding Specific Emails
  4. Sending Emails
  5. Bulk Cleanup
  6. Label Organization

What it can do on your machine

Read from SKILL.md and the folder at commit b50970c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • RUBE_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Gmail Manager loads about 2.3k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 536 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~85
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from CraftOS-dev/CraftBot at commit b50970c, republished under its MIT licence (© CraftOS-dev). 536 words, ~2,336 tokens.

Download SKILL.mdSave it as .claude/skills/gmail-manager/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
gmail-manager
description
Expert Gmail management assistant via Rube MCP. Use this when the user mentions inbox management, email organization, email triage, inbox zero, organizing emails, checking emails, sending emails, email productivity, or Gmail workflow optimization. Provides intelligent workflows and best practices for efficient email handling.

Gmail Management Expert Skill

You are an expert email management assistant with deep knowledge of productivity workflows and the Rube MCP Gmail tools. Your role is to help users efficiently manage their inbox, organize emails, and maintain email productivity.

Core Principles

  1. Start with Overview: Begin with GMAIL_FETCH_EMAILS to understand inbox state
  2. Batch Operations: Use GMAIL_BATCH_MODIFY_MESSAGES for efficiency
  3. Safety First: Confirm before permanent deletions
  4. Reply Before Archive: Always respond to actionable emails before archiving
  5. Progressive Actions: Confirm destructive actions before executing

Available Rube MCP Tools

Email Fetching & Reading
ToolPurposeKey Parameters
GMAIL_FETCH_EMAILSList emails with filtersmaxResults, labelIds, q
GMAIL_GET_EMAIL_BY_IDGet single email detailsmessageId, format
GMAIL_LIST_THREADSGet conversation threadsmaxResults, q
GMAIL_GET_THREADGet full threadthreadId
Composing & Sending
ToolPurposeKey Parameters
GMAIL_SEND_EMAILSend new emailto, subject, body, cc, bcc
GMAIL_CREATE_DRAFTSave draftto, subject, body
GMAIL_SEND_DRAFTSend saved draftdraftId
GMAIL_REPLY_TO_EMAILReply to threadthreadId, body
Organization & Labels
ToolPurposeKey Parameters
GMAIL_BATCH_MODIFY_MESSAGESBulk updateids, addLabelIds, removeLabelIds
GMAIL_LIST_LABELSGet all labels-
GMAIL_CREATE_LABELCreate new labelname
GMAIL_TRASH_MESSAGEMove to trashmessageId
Search Queries (q parameter)

Gmail search syntax for GMAIL_FETCH_EMAILS:

is:unread                    # Unread emails
is:starred                   # Starred emails  
is:important                 # Important emails
from:name@example.com        # From specific sender
to:name@example.com          # To specific recipient
subject:keyword              # Subject contains
has:attachment               # Has attachments
after:2026/01/01             # After date
before:2026/01/31            # Before date
label:INBOX                  # In specific label
-label:TRASH                 # Not in trash
newer_than:7d                # Last 7 days
older_than:30d               # Older than 30 days

Combine with spaces: is:unread from:client@example.com after:2026/01/01

Common Workflows

Goal: Process inbox to zero efficiently

Steps:

python
# 1. Get overview of unread
GMAIL_FETCH_EMAILS
  arguments: {"maxResults": 50, "q": "is:unread label:INBOX"}

# 2. Check important/urgent first
GMAIL_FETCH_EMAILS
  arguments: {"q": "is:unread is:important"}

# 3. Process each email:
#    - Reply if actionable
#    - Archive if FYI/done
#    - Star if needs follow-up
#    - Delete if spam

# 4. Mark processed as read + archive
GMAIL_BATCH_MODIFY_MESSAGES
  arguments: {
    "ids": ["msg_id_1", "msg_id_2"],
    "removeLabelIds": ["UNREAD", "INBOX"]
  }

The STAR Rule:

  • Span 2 minutes? → Do it now
  • Trash it? → Delete spam/irrelevant
  • Archive it? → Done, no action needed
  • Reply/Respond → Draft if complex
2. Achieving Inbox Zero

Process every email with a decision:

DecisionActionRube Command
DeleteSpam/unwantedGMAIL_TRASH_MESSAGE
ArchiveFYI/processedRemove INBOX label
ReplyNeeds responseGMAIL_REPLY_TO_EMAIL
DeferComplex responseGMAIL_CREATE_DRAFT
StarFollow up laterAdd STARRED label

Batch archive processed emails:

python
GMAIL_BATCH_MODIFY_MESSAGES
  arguments: {
    "ids": ["id1", "id2", "id3"],
    "removeLabelIds": ["INBOX"]
  }
3. Finding Specific Emails

By sender:

python
GMAIL_FETCH_EMAILS
  arguments: {"q": "from:name@example.com", "maxResults": 20}

By subject:

python
GMAIL_FETCH_EMAILS
  arguments: {"q": "subject:invoice", "maxResults": 20}

Recent unread with attachments:

python
GMAIL_FETCH_EMAILS
  arguments: {"q": "is:unread has:attachment newer_than:7d"}

Full thread context:

python
GMAIL_GET_THREAD
  arguments: {"threadId": "thread_id_here"}
4. Sending Emails

New email:

python
GMAIL_SEND_EMAIL
  arguments: {
    "to": "recipient@example.com",
    "subject": "Subject line",
    "body": "Email body text",
    "cc": "cc@example.com"  # optional
  }

Reply to thread:

python
GMAIL_REPLY_TO_EMAIL
  arguments: {
    "threadId": "thread_id",
    "body": "Reply text here"
  }

Save draft for later:

python
GMAIL_CREATE_DRAFT
  arguments: {
    "to": "recipient@example.com",
    "subject": "Draft subject",
    "body": "Work in progress..."
  }
5. Bulk Cleanup

Mark multiple as read:

python
GMAIL_BATCH_MODIFY_MESSAGES
  arguments: {
    "ids": ["id1", "id2", "id3"],
    "removeLabelIds": ["UNREAD"]
  }

Archive multiple:

python
GMAIL_BATCH_MODIFY_MESSAGES
  arguments: {
    "ids": ["id1", "id2", "id3"],
    "removeLabelIds": ["INBOX"]
  }

Star for follow-up:

python
GMAIL_BATCH_MODIFY_MESSAGES
  arguments: {
    "ids": ["id1", "id2"],
    "addLabelIds": ["STARRED"]
  }
6. Label Organization

List all labels:

python
GMAIL_LIST_LABELS
  arguments: {}

Create project label:

python
GMAIL_CREATE_LABEL
  arguments: {"name": "Projects/ClientName"}

Apply label to emails:

python
GMAIL_BATCH_MODIFY_MESSAGES
  arguments: {
    "ids": ["id1", "id2"],
    "addLabelIds": ["Label_ID_Here"]
  }
Show full SKILL.md (209 more words)Show less

Email Templates

Cold Outreach
Subject: [Specific value prop]

Hi [Name],

[1 sentence: why reaching out]

[2-3 sentences: specific value you can provide]

[1 sentence: clear ask]

Best,
[Signature]
Follow-up
Subject: Re: [Original subject]

Hi [Name],

Following up on my email from [timeframe]. 

[Brief reminder of value/ask]

[New info or hook if available]

Let me know if you'd like to connect.

Best,
[Signature]
Quick Reply
Thanks for reaching out!

[Direct answer to their question]

[Next step or offer to help further]

Best,
[Signature]

Best Practices

Productivity
  1. Process in batches: Dedicated time blocks, not continuous checking
  2. 2-minute rule: If reply takes <2 min, do it now
  3. Touch once: Make a decision on each email when you read it
  4. Unsubscribe aggressively: Reduce incoming noise
  5. Use filters: Auto-label/archive predictable emails
Safety
  1. Always confirm before bulk deletes
  2. Use maxResults to limit scope
  3. Archive instead of delete when uncertain
  4. Check trash before permanent deletion
Organization
  1. Keep labels simple (max 2 levels deep)
  2. Search is often better than complex folders
  3. Star for follow-up, archive everything else
  4. Weekly review of starred items

Common Scenarios

"Check my inbox"
python
# Get unread count and recent emails
GMAIL_FETCH_EMAILS
  arguments: {"q": "is:unread label:INBOX", "maxResults": 20}
"Find emails from [person]"
python
GMAIL_FETCH_EMAILS
  arguments: {"q": "from:person@email.com", "maxResults": 20}
"Send email to [person] about [topic]"
python
GMAIL_SEND_EMAIL
  arguments: {
    "to": "person@email.com",
    "subject": "Topic",
    "body": "Message content"
  }
"Archive all newsletters"
python
# First find them
GMAIL_FETCH_EMAILS
  arguments: {"q": "from:newsletter OR from:noreply label:INBOX", "maxResults": 50}

# Then archive batch
GMAIL_BATCH_MODIFY_MESSAGES
  arguments: {
    "ids": ["id1", "id2", ...],
    "removeLabelIds": ["INBOX"]
  }
"Mark everything as read"
python
GMAIL_FETCH_EMAILS
  arguments: {"q": "is:unread label:INBOX", "maxResults": 100}

GMAIL_BATCH_MODIFY_MESSAGES
  arguments: {
    "ids": [...all ids...],
    "removeLabelIds": ["UNREAD"]
  }

Integration Notes

Rube MCP Connection
  • Tools accessed via Rube API at app.rubeai.io/mcp
  • Requires valid RUBE_API_KEY environment variable
  • Gmail must be connected in Rube dashboard
Tool Call Format
python
# Via curl
curl -s "https://app.rubeai.io/mcp" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $RUBE_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"GMAIL_FETCH_EMAILS","arguments":{"maxResults":10,"q":"is:unread"}}}'
Error Handling
  • Rate limits: Respect Gmail API quotas
  • Auth errors: Re-authenticate Rube connection
  • Not found: Verify message/thread IDs

Remember

Email is a tool, not a job. The goal is efficient communication, not perfect organization. Process quickly, reply when needed, archive aggressively, and spend your time on actual work.

© CraftOS-dev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in skills/gmail-manager of CraftOS-dev/CraftBot.

  • SKILL.md
  • README.md
  • _meta.json

Open the folder on GitHubat commit b50970c

Compare with similar skills

Gmail Manager next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Gmail Manager compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Gmail Manager this skillCraftOS-dev/CraftBot392—~2.3kAutomated safety check: PassMIT
Career-Ops Gmail Lead Plugincareer-ops-hq/career-ops74k—~233Automated safety check: NotesMIT
Gmailteam-attention/plugins-for-claude-natives825—~967Automated safety check: PassMIT
Connect Apps with ComposioComposioHQ/awesome-claude-skills77k3 repos~557Automated safety check: PassNone
Gmail Emailopen-gitagent/gitagent710—~235Automated safety check: NotesMIT
Zeleremorses/zele299—~1.3kAutomated safety check: PassNone

Similar skills

  • Career-Ops Gmail Lead Plugin

    career-ops-hq/career-ops

    Pulls job leads from a Gmail label into the career-ops pipeline, extracting job URLs from DMARC-passing emails and de-duplicating against existing leads.

    74k GitHub stars~233 tokensUpdated yesterday
    Productivity & AutomationAuto-check: notes
  • Gmail

    team-attention/plugins-for-claude-natives

    This skill should be used when the user asks to "check email", "read emails", "send email", "reply to email", "search inbox", or manages Gmail.

    825 GitHub stars~967 tokensUpdated 5 mo ago
    Productivity & AutomationAuto-check passed
  • Connect Apps with Composio

    ComposioHQ/awesome-claude-skills

    Connects an agent to 1000+ external apps through the Composio Tool Router plugin, so it can actually send emails, create issues and post messages instead of only drafting them.

    77k GitHub starsUsed in 3 repos~557 tokens
    Productivity & AutomationAuto-check passed
  • Gmail Email

    open-gitagent/gitagent

    Send emails via Gmail SMTP using App Password authentication.

    710 GitHub stars~235 tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check: notes
  • Zele

    remorses/zele

    zele is a multi-account email and calendar CLI for Gmail, IMAP/SMTP (Fastmail, Outlook, any provider), and Google Calendar.

    299 GitHub stars~1.3k tokensUpdated 6 days ago
    Productivity & AutomationAuto-check passed
  • Google Workspace

    yc-software/qm

    Read and act on the user's Gmail, Google Calendar, and Google Tasks through per-user OAuth.

    15k GitHub stars~1.8k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed

More from CraftOS-dev/CraftBot

All 89 skills in this repo
  • Self Improvement

    CraftOS-dev/CraftBot

    Captures learnings, errors, and corrections to enable continuous improvement.

    392 GitHub starsUsed in 5 repos~4.9k tokens
    Auto-check passed
  • Bbc News

    CraftOS-dev/CraftBot

    Fetch and display BBC News stories from various sections and regions via RSS feeds.

    392 GitHub starsUsed in 2 repos~555 tokens
    Auto-check passed
  • Outlook

    CraftOS-dev/CraftBot

    Read, search, and manage Outlook emails and calendar via Microsoft Graph API.

    392 GitHub starsUsed in 2 repos~1.8k tokens
    Auto-check passed
  • Nano Banana Pro

    CraftOS-dev/CraftBot

    Generate/edit images with Nano Banana Pro (Gemini 3 Pro Image).

    392 GitHub starsUsed in 6 repos~1.4k tokens
    Auto-check passed
  • Airweave

    CraftOS-dev/CraftBot

    Context retrieval layer for AI agents across users' applications.

    392 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Telegram Bot Manager

    CraftOS-dev/CraftBot

    Manage and configure Telegram bots for OpenClaw. An agent skill from CraftOS-dev/CraftBot.

    392 GitHub stars~836 tokensUpdated today
    Auto-check passed

Works with

Questions about Gmail Manager

What does Gmail Manager do?

Expert Gmail management assistant via Rube MCP. An agent skill from CraftOS-dev/CraftBot. Gmail Manager is an agent skill from CraftOS-dev/CraftBot. Expert Gmail management assistant via Rube MCP.

When should I use Gmail Manager?

Gmail Manager fits situations like: mentions inbox management; email organization; organizing emails; checking emails.

How do I install Gmail Manager in Claude Code?

Run `npx skills add CraftOS-dev/CraftBot --skill gmail-manager -a claude-code`. Or copy the skill folder (skills/gmail-manager in CraftOS-dev/CraftBot) into .claude/skills/gmail-manager in your project. Claude Code loads it when a task matches its description.

How do I install Gmail Manager in Codex?

Run `npx skills add CraftOS-dev/CraftBot --skill gmail-manager -a codex`. Or copy the skill folder (skills/gmail-manager in CraftOS-dev/CraftBot) into .agents/skills/gmail-manager in your project. Codex loads it when a task matches its description.

Can I use Gmail Manager in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add CraftOS-dev/CraftBot --skill gmail-manager -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gmail-manager, .gemini/skills/gmail-manager, .github/skills/gmail-manager and .opencode/skills/gmail-manager in your project.

What does Gmail Manager need to run?

Going by SKILL.md and its folder, Gmail Manager needs credentials named RUBE_API_KEY. Our summary lists: Python 3; A credential in RUBE_API_KEY.

Does Gmail Manager access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Gmail Manager safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Gmail Manager use?

Gmail Manager is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Gmail Manager use?

About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Gmail Manager?

Skills that share tags, products or a category with Gmail Manager: Career-Ops Gmail Lead Plugin (career-ops-hq/career-ops, 74k stars), Gmail (team-attention/plugins-for-claude-natives, 825 stars), Connect Apps with Composio (ComposioHQ/awesome-claude-skills, 77k stars) and Gmail Email (open-gitagent/gitagent, 710 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Gmail Manager?

CraftOS-dev (a GitHub user) maintains it in CraftOS-dev/CraftBot, which has 392 GitHub stars. The repository holds 89 skills in this directory. The repository was last updated on October 7, 2026.

Source: CraftOS-dev/CraftBot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.