gmail-skill — Claude Code skill: Gmail and Google contacts
Reads, searches and sends Gmail messages, and looks up Google contacts. Useful when the agent has to triage a mailbox or prepare a draft.
npx skills add idanbeck/claude-skills --skill gmail-skill -a claude-codeWhat gmail-skill does
The skill hands your agent Gmail access through gmail_skill.py. Search takes the usual Gmail operators: from:, subject:, has:attachment, is:unread. You also get reading by message ID, a recent-message list, labels, stars, archive and unarchive. Google contacts are covered too, with listing and lookup by name, email or phone.
First run needs a one-time OAuth client in Google Cloud Console: enable the Gmail API and People API, add yourself as a test user, download the JSON and save it as ~/.claude/skills/gmail-skill/credentials.json. After that the browser opens on its own. Multiple accounts are supported, and --account picks which one to use.
Sending is deliberately cautious. The skill prints the whole message first — sender account, recipient, subject, body — and waits for an explicit yes before running the send command. That holds even if you asked it to send right away, and even with permission prompts skipped. Coming from gmail-reader? You will re-authenticate, because the gmail.send scope is new.
What it helps with
- find messages from one sender within a date range
- draft a reply inside an existing thread
- check a work inbox without opening a browser
- look up someone's email or phone in contacts
- send a message with an attachment from the terminal
Example prompts for the agent
- find unread emails with PDF attachments from the last week
- draft a reply to message 19b99b3127793843 from [email protected]
- list contacts whose name contains Ivan
How to install gmail-skill
1Skills CLI (Vercel)
npx skills add idanbeck/claude-skills --skill gmail-skill -a claude-code2Manually: put the files in place
~/.claude/skills/gmail-skill/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/gmail-skill/
1Skills CLI (Vercel)
npx skills add idanbeck/claude-skills --skill gmail-skill -a codex2Manually: put the files in place
.agents/skills/gmail-skill/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add idanbeck/claude-skills --skill gmail-skill -a cursor2Manually: put the files in place
.cursor/skills/gmail-skill/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install idanbeck/claude-skills gmail-skill2Manually: put the files in place
.github/skills/gmail-skill/SKILL.md1Skills CLI (Vercel)
npx skills add idanbeck/claude-skills --skill gmail-skill -a gemini-cli2Platform CLI
gemini skills install https://github.com/idanbeck/claude-skills --path gmail-skillManually: put the files in place
.devin/skills/gmail-skill/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add idanbeck/claude-skills --skill gmail-skill -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about gmail-skill
How do I install gmail-skill in Claude?
Run npx skills add idanbeck/claude-skills --skill gmail-skill -a claude-code. The skill lands at ~/.claude/skills/gmail-skill/SKILL.md.
What does gmail-skill do?
It searches and reads Gmail, sends messages, creates drafts, applies labels and stars, and archives mail. It also searches your Google contacts.
Does it send email without asking?
No. It shows the full message and waits for explicit confirmation before sending, even in dangerously-skip-permissions mode.