ワンクリックで
gmail-chrome
Automate Gmail actions using Chrome DevTools MCP - search, read, compose, reply, and manage emails
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Automate Gmail actions using Chrome DevTools MCP - search, read, compose, reply, and manage emails
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | gmail-chrome |
| description | Automate Gmail actions using Chrome DevTools MCP - search, read, compose, reply, and manage emails |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"developers","workflow":"automation"} |
IMPORTANT: Gmail's DOM is complex. To prevent context overflow:
chrome_navigate_page(url: "https://mail.google.com")
chrome_wait_for(text: "Inbox")
Gmail search is the fastest way to find emails:
# Take snapshot to find search box
chrome_take_snapshot()
# Find the search input (usually has placeholder "Search mail")
chrome_fill(uid: "<search-input-uid>", value: "from:sender@example.com")
chrome_press_key(key: "Enter")
chrome_wait_for(text: "results")
Common search operators:
from:email@example.com - From specific senderto:email@example.com - To specific recipientsubject:keyword - Subject contains keywordis:unread - Unread emails onlyis:starred - Starred emailshas:attachment - Has attachmentsafter:2024/01/01 - After datebefore:2024/12/31 - Before datelabel:important - Has label# After search results appear, take snapshot
chrome_take_snapshot()
# Click on email row to open it
chrome_click(uid: "<email-row-uid>")
# Wait for email to load
chrome_wait_for(text: "Reply")
# Take snapshot to read content
chrome_take_snapshot()
Using keyboard shortcut (preferred):
# Press 'c' to compose (Gmail shortcut)
chrome_press_key(key: "c")
chrome_wait_for(text: "New Message")
# Take snapshot to find compose fields
chrome_take_snapshot()
# Fill in the compose form
chrome_fill(uid: "<to-field-uid>", value: "recipient@example.com")
chrome_press_key(key: "Tab")
chrome_fill(uid: "<subject-field-uid>", value: "Email Subject")
chrome_press_key(key: "Tab")
chrome_fill(uid: "<body-field-uid>", value: "Email body content here...")
# Send with Ctrl+Enter or click Send
chrome_press_key(key: "Control+Enter")
# With email open, press 'r' to reply
chrome_press_key(key: "r")
chrome_wait_for(text: "Send")
# Take snapshot to find reply box
chrome_take_snapshot()
# Type reply
chrome_fill(uid: "<reply-body-uid>", value: "Your reply here...")
# Send
chrome_press_key(key: "Control+Enter")
# With email open or selected, press 'e' to archive
chrome_press_key(key: "e")
# With email open or selected, press '#' to delete
chrome_press_key(key: "Shift+3") # '#' key
# Press 's' to star/unstar
chrome_press_key(key: "s")
# Press 'Shift+i' to mark as read
chrome_press_key(key: "Shift+i")
# Press 'Shift+u' to mark as unread
chrome_press_key(key: "Shift+u")
# Press 'j' for next email
chrome_press_key(key: "j")
# Press 'k' for previous email
chrome_press_key(key: "k")
# Press 'u' to go back to list
chrome_press_key(key: "u")
| Action | Shortcut | Notes |
|---|---|---|
| Compose | c | Opens new compose window |
| Reply | r | Reply to current email |
| Reply all | a | Reply to all recipients |
| Forward | f | Forward email |
| Send | Ctrl+Enter | Sends composed email |
| Archive | e | Archives selected/open email |
| Delete | # (Shift+3) | Moves to trash |
| Star | s | Toggle star |
| Mark read | Shift+i | Mark as read |
| Mark unread | Shift+u | Mark as unread |
| Next email | j | Move to next in list |
| Previous email | k | Move to previous |
| Back to list | u | Return to inbox view |
| Search | / | Focus search box |
| Select all | *+a | Select all visible |
| Deselect all | *+n | Deselect all |
Gmail elements can be identified by:
Aria labels: Most buttons have descriptive aria-labels
Placeholder text: Input fields often have placeholders
Content text: Email subjects and sender names
# 1. Navigate to Gmail
chrome_navigate_page(url: "https://mail.google.com")
chrome_wait_for(text: "Inbox")
# 2. Search for the email
chrome_take_snapshot() # Find search box
chrome_fill(uid: "<search-uid>", value: "from:important@client.com subject:urgent")
chrome_press_key(key: "Enter")
chrome_wait_for(text: "results")
# 3. Open the email
chrome_take_snapshot() # Find email row
chrome_click(uid: "<email-row-uid>")
chrome_wait_for(text: "Reply")
# 4. Read the email content
chrome_take_snapshot()
# ... process the email content from snapshot ...
# 5. Reply
chrome_press_key(key: "r")
chrome_wait_for(text: "Send")
chrome_take_snapshot() # Find reply body
chrome_fill(uid: "<reply-body-uid>", value: "Thank you for your email...")
chrome_press_key(key: "Control+Enter")
# 1. Search for emails to archive
chrome_fill(uid: "<search-uid>", value: "is:read before:2024/01/01")
chrome_press_key(key: "Enter")
chrome_wait_for(text: "results")
# 2. Select all visible emails
chrome_press_key(key: "*") # Open selection menu
chrome_press_key(key: "a") # Select all
# 3. Archive all selected
chrome_press_key(key: "e")
chrome_navigate_page(type: "reload")chrome_wait_for() between major operationsDebug production issues on Vercel using logs, database inspection, and proper deployment waiting
Make features testable by design. Testing pyramid from fast (local) to slow (UI). Expose APIs securely for testing.
Manage DNS records for domains hosted on Vercel using the Vercel CLI
Workspace guide to introduce OpenWork and onboard new users.
Access and update company administrative information stored in Notion
Create and register new OpenCode skills in this repo