googleworkspace/gws-gmail-watch
Gmail: Watch for new emails and stream them as NDJSON.
npx skills add https://github.com/googleworkspace/cli --skill gws-gmail-watch
> PREREQUISITE: Read ../gws-shared/SKILL.md for auth, global flags, and security rules. If missing, run gws generate-skills to create it.
Watch for new emails and stream them as NDJSON
gws gmail +watch
| Flag | Required | Default | Description |
|------|----------|---------|-------------|
| --project | — | — | GCP project ID for Pub/Sub resources |
| --subscription | — | — | Existing Pub/Sub subscription name (skip setup) |
| --topic | — | — | Existing Pub/Sub topic with Gmail push permission already granted |
| --label-ids | — | — | Comma-separated Gmail label IDs to filter (e.g., INBOX,UNREAD) |
| --max-messages | — | 10 | Max messages per pull batch |
| --poll-interval | — | 5 | Seconds between pulls |
| --msg-format | — | full | Gmail message format: full, metadata, minimal, raw |
| --once | — | — | Pull once and exit |
| --cleanup | — | — | Delete created Pub/Sub resources on exit |
| --output-dir | — | — | Write each message to a separate JSON file in this directory |
gws gmail +watch --project my-gcp-project
gws gmail +watch --project my-project --label-ids INBOX --once
gws gmail +watch --subscription projects/p/subscriptions/my-sub
gws gmail +watch --project my-project --cleanup --output-dir ./emails
Take googleworkspace/gws-gmail-watch from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.