agents/skills/email/SKILL.md
Search and read Gmail messages. Use when looking up emails, reading email threads, or checking inbox labels.
npx skillsauth add drn/dots emailInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Search and read Gmail messages using the gmail CLI.
You are helping read Gmail data. Auth uses OAuth tokens stored at ~/.dots/sys/gmail/tokens/. Additional env vars (if any) are loaded from ~/.dots/sys/env.
# Search emails
gmail search "from:emily subject:kickoff" # Search by sender and subject
gmail search "is:unread" --limit 10 # Recent unread
gmail search "after:2025/01/01 from:sarah" # Date-filtered search
# Read a specific email
gmail read MESSAGE_ID # Read full email by ID
# List labels with message counts
gmail labels
# List configured accounts
gmail accounts
# Use a specific account
gmail search "budget" --account personal
gmail labels --account work
# Re-authenticate an account (opens browser for OAuth)
gmail auth personal
# JSON output
gmail search "quarterly review" --json
gmail accounts --json
Run gmail accounts to see configured accounts with names and emails. The default account is marked with *.
gmail search "from:emily" --limit 10
# First search to find message IDs
gmail search "subject:technical kickoff" --limit 5
# Then read the specific message
gmail read MESSAGE_ID
gmail labels
The CLI resolves accounts in this order:
--account NAME flag — uses ~/.dots/sys/gmail/tokens/NAME.json~/.dots/sys/gmail/accounts.json~/.dots/sys/gmail/tokens/Gmail search supports standard Gmail query operators:
from:sender — messages from a specific senderto:recipient — messages to a specific recipientsubject:words — subject line searchafter:YYYY/MM/DD / before:YYYY/MM/DD — date rangeis:unread / is:starred — message statehas:attachment — messages with attachmentslabel:NAME — messages with a specific labelin:inbox / in:sent — location filtersIf a search or read fails with invalid_grant or Token has been expired or revoked, re-authenticate:
gmail auth ACCOUNT_NAME
This opens the browser for OAuth consent and saves the new token.
development
Build a self-contained, single-file HTML presentation deck from talking points or a source doc, using a terminal/TUI-styled template with keyboard, tap, and swipe navigation. Use when the user wants to create slides, build a presentation or deck, turn talking points or a doc into a talk, make an HTML slideshow, or produce a presentation as a shareable artifact (instead of Google Slides).
development
Render a Markdown file to GitHub-flavored HTML and open a styled local preview (light + dark) in the browser. Use when the user wants to preview markdown, see how a README renders on GitHub, check that relative screenshots or images display correctly, or get a GitHub-like local preview without installing grip or glow.
tools
Mark the current Argus task as complete. Use when the work for the current worktree is done and the user wants the task to transition to the "complete" status.
development
Launch a dynamic Workflow where the top-tier session model (Fable) handles planning and orchestration while implementation subagents run on Sonnet for routine tasks and Opus for complex ones. Use when the user wants to orchestrate a build, a dynamic workflow, a model-tiered build, fable planning with sonnet and opus implementation, or tiered agents.