Agent skill
gmail
Gmail CLI for searching, reading threads, managing labels, and sending emails. Use when you need to check inbox, read emails, send messages, or manage email labels.
Install this agent skill to your Project
npx add-skill https://github.com/bentossell/bentos/tree/main/assets/factory-skills/gmail
SKILL.md
Gmail CLI (gmcli)
You have access to gmcli - a minimal Gmail CLI. All commands use the format:
gmcli <email> <command> [options]
Available Accounts
- ben.tossell@gmail.com
- ben@bensbites.com
- ben@factory.ai
Commands
Search Emails
gmcli <email> search <query> [--max N]
Query examples:
in:inbox,in:sent,in:draftsis:unread,is:starred,is:importantfrom:sender@example.com,to:recipient@example.comsubject:keywordhas:attachmentafter:2024/01/01,before:2024/12/31- Combine:
in:inbox is:unread from:boss@company.com
Examples:
gmcli ben@factory.ai search "in:inbox" --max 10
gmcli ben@factory.ai search "is:unread" --max 50
gmcli ben@factory.ai search "from:someone@example.com has:attachment"
Read Thread
gmcli <email> thread <threadId>
gmcli <email> thread <threadId> --download # Download attachments
List Labels
gmcli <email> labels list
Modify Labels
gmcli <email> labels <threadIds...> --add LABEL --remove LABEL
System labels: INBOX, UNREAD, STARRED, IMPORTANT, TRASH, SPAM
Examples:
gmcli ben@factory.ai labels abc123 --remove UNREAD
gmcli ben@factory.ai labels abc123 --add STARRED
Send Email
gmcli <email> send --to <emails> --subject <s> --body <b> [options]
Options:
--to <emails>- Recipients (comma-separated, required)--subject <s>- Subject line (required)--body <b>- Message body (required)--cc <emails>- CC recipients--bcc <emails>- BCC recipients--reply-to <messageId>- Reply to a message--attach <file>- Attach file (can use multiple times)
Examples:
gmcli ben@factory.ai send --to someone@example.com --subject "Hi" --body "Hello there"
gmcli ben@factory.ai send --to a@x.com --subject "Re: Topic" --body "Reply" --reply-to 19aea1f2f3532db5
Drafts
gmcli <email> drafts list
gmcli <email> drafts get <draftId>
gmcli <email> drafts create --to <emails> --subject <s> --body <b>
gmcli <email> drafts send <draftId>
gmcli <email> drafts delete <draftId>
Get Gmail URL
gmcli <email> url <threadIds...>
Notes
- Thread IDs are returned from search results
- Use
--maxto limit search results (default: 10) - Attachments download to
~/.gmcli/attachments/
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
linear
Minimal CLI tools for Linear issue management. Use when you need to list issues, view workflow states, change issue status, or move issues between teams. Tools use Linear's GraphQL API with personal API key authentication.
gcal
Google Calendar CLI for listing calendars, managing events, and checking availability. Use when you need to view, create, update, or delete calendar events, check free/busy status, or list calendars.
linear
Linear surface for syncing issues and proposing/applying limited workflow actions.
linear
Minimal CLI tools for Linear issue management. Use when you need to list issues, view workflow states, change issue status, or move issues between teams. Tools use Linear's GraphQL API with personal API key authentication.
gmail
Gmail surface for syncing inbox state and proposing/applying safe triage actions.
github
GitHub surface for syncing auth/accounts state (read-only) via the gh CLI.
Didn't find tool you were looking for?