원클릭으로
gmail
Manage your Gmail inbox from Claude Code. List, read, triage, reply, send, and create filters.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Manage your Gmail inbox from Claude Code. List, read, triage, reply, send, and create filters.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Summarize the current conversation into a TLDR note and save it to your notes folder. Use when you say "tldr", "save a summary", "note this convo", or want to capture key takeaways from the current session for future reference.
Show current times across Mark's key locations. Use when Mark says "timezone", "what time is it", "team times", "check the time in", or wants to know working hours for his team.
Manage your Google Calendar from Claude Code. Create events with Meet links, send invites, check availability.
Manage Slack from Claude Code. List conversations, read messages, send replies, search for channels and DMs.
| name | gmail |
| description | Manage your Gmail inbox from Claude Code. List, read, triage, reply, send, and create filters. |
| allowed-tools | Bash(CLAUDECLAW_DIR=* ~/.venv/bin/python3 ~/.config/gmail/gmail.py *) |
Read, triage, reply, and send emails from your Gmail inbox via Claude Code.
The Gmail CLI reads credential paths from environment variables, loaded from ClaudeClaw's .env via CLAUDECLAW_DIR. Every command MUST use this prefix:
CLAUDECLAW_DIR=/path/to/claudeclaw
Your .env should contain:
GOOGLE_CREDS_PATH=~/.config/gmail/credentials.json
GMAIL_TOKEN_PATH=~/.config/gmail/token.json
If these aren't set, the script falls back to ~/.config/gmail/credentials.json and ~/.config/gmail/token.json.
CLAUDECLAW_DIR=/path/to/claudeclaw ~/.venv/bin/python3 ~/.config/gmail/gmail.py list --all
Returns JSON array grouped by thread. Each entry has: id, threadId, from, subject, date, snippet, unread, thread_count. If thread_count > 1, also includes all_ids.
This is the default command. Always use --all unless the user specifically asks for a time-filtered view.
CLAUDECLAW_DIR=/path/to/claudeclaw ~/.venv/bin/python3 ~/.config/gmail/gmail.py list --hours 48
CLAUDECLAW_DIR=/path/to/claudeclaw ~/.venv/bin/python3 ~/.config/gmail/gmail.py read <msg_id>
CLAUDECLAW_DIR=/path/to/claudeclaw ~/.venv/bin/python3 ~/.config/gmail/gmail.py move <msg_id> "Label Name"
CLAUDECLAW_DIR=/path/to/claudeclaw ~/.venv/bin/python3 ~/.config/gmail/gmail.py labels
CLAUDECLAW_DIR=/path/to/claudeclaw ~/.venv/bin/python3 ~/.config/gmail/gmail.py reply <msg_id> "Your reply body here"
CLAUDECLAW_DIR=/path/to/claudeclaw ~/.venv/bin/python3 ~/.config/gmail/gmail.py reply <msg_id> "Your reply body here" --attachments "/path/to/file1.pdf,/path/to/file2.png"
CLAUDECLAW_DIR=/path/to/claudeclaw ~/.venv/bin/python3 ~/.config/gmail/gmail.py send "to@example.com" "Subject here" "Body here"
CLAUDECLAW_DIR=/path/to/claudeclaw ~/.venv/bin/python3 ~/.config/gmail/gmail.py send "to@example.com" "Subject" "Body" --attachments "/path/to/file.pdf,/path/to/other.xlsx"
CLAUDECLAW_DIR=/path/to/claudeclaw ~/.venv/bin/python3 ~/.config/gmail/gmail.py filter --from "sender@example.com" --label "LabelName" --archive --read
--from / --to / --subject / --query for criteria--label to apply a label, --archive to skip inbox, --read to mark as read, --trash to trashCLAUDECLAW_DIR=/path/to/claudeclaw ~/.venv/bin/python3 ~/.config/gmail/gmail.py filters
CLAUDECLAW_DIR=/path/to/claudeclaw ~/.venv/bin/python3 ~/.config/gmail/gmail.py auth
list --all to show all inbox emailsmove for each, confirm resultsUse a proper markdown table for the inbox:
| # | Unread | From | Subject | Replies | Time |
|---|---|---|---|---|---|
| 1 | * | someone@example.com | Re: Project update | 3 | 2h ago |
| 2 | newsletter@co.com | Your weekly digest | 1 | 5h ago |
thread_count (1 = single message, 2+ = thread)If credentials.json is missing:
GOOGLE_CREDS_PATH (default: ~/.config/gmail/credentials.json)auth command (see above)credentials.json missing, show setup instructions abovetoken.json missing, run auth automatically