Gmail: Watch for new emails and stream them as NDJSON.
Copy the command definition below into:
~/.claude/commands/gws-gmail-watch-davila7.md---
allowed-tools: Bash, Read, Write, Edit
argument-hint: [resource] [method] [flags]
description: Gmail: Watch for new emails and stream them as NDJSON.
---
# Google Workspace Gmail Watch
Execute Google Workspace Gmail Watch operations: $ARGUMENTS
## Prerequisites
- Google Workspace CLI (`gws`) must be installed
- Authentication configured: Run `gws auth status` to verify
- Review `gws gmail-watch --help` for all available commands
## Available Resources and Methods
# 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
## Usage
```bash
gws gmail +watch
```
## Flags
| 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 |
## Examples
```bash
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
```
## Tips
- Gmail watch expires after 7 days — re-run to renew.
- Without --cleanup, Pub/Sub resources persist for reconnection.
- Press Ctrl-C to stop gracefully.
## See Also
- [gws-shared](../gws-shared/SKILL.md) — Global flags and auth
- [gws-gmail](../gws-gmail/SKILL.md) — All send, read, and manage email commands
## Usage
```bash
# List available resources and methods
gws gmail-watch --help
# Inspect method schema before calling
gws schema gmail-watch.<resource>.<method>
# Execute command with arguments
gws gmail-watch $ARGUMENTS
```
## Task
Execute the requested Gmail Watch operation: $ARGUMENTS
1. **Verify Prerequisites**
- Check `gws` is installed: `gws --version`
- Verify authentication: `gws auth status`
- Review available commands: `gws gmail-watch --help`
2. **Inspect Method Schema**
- Before calling any method, inspect its parameters
- Use `gws schema` to understand required fields
- Review parameter types and constraints
3. **Execute Operation**
- Build command with appropriate flags
- Use `--params` for query/path parameters
- Use `--json` for request body
- Handle pagination with `--max-results` or `--page-token`
4. **Error Handling**
- Check command output for errors
- Review API quotas and rate limits
- Handle authentication issues
- Retry transient failures
---
**License**: Apache License 2.0
**Source**: [Google Workspace CLI](https://github.com/googleworkspace/cli)
**Original Skill**: `gws-gmail-watch`