Skip to content
Back to skills

Google Workspace

ASecurity

Google Workspace CLI — routes to service-specific skills for Gmail, Sheets, Calendar, Tasks, Docs, Forms, Drive, Analytics and Search Console. TRIGGERS: "gmail", "email", "send email", "inbox", "calendar", "meeting", "sheets", "spreadsheet", "tasks", "google docs", "gdoc", "outreach", "google form", "form responses", "create google form", "feedback form", "survey form", "google analytics", "GA4", "traffic", "sessions", "visitors", "search console", "GSC", "what are we ranking for", "search qu...

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 3, 2026
developmentpythongobashapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned September 25, 2026

npx -y skills add Elnora-AI/elnora-google-workspace --skill google-workspace --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Google Workspace?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Google Workspace
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/elnora-ai-google-workspace/badge)](https://www.skillsdirectory.com/skills/elnora-ai-google-workspace)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: google-workspace
description: >
  Google Workspace CLI — routes to service-specific skills for Gmail, Sheets, Calendar, Tasks,
  Docs, Forms, Drive, Analytics and Search Console.
  TRIGGERS: "gmail", "email", "send email", "inbox", "calendar", "meeting", "sheets",
  "spreadsheet", "tasks", "google docs", "gdoc", "outreach", "google form", "form responses",
  "create google form", "feedback form", "survey form", "google analytics", "GA4", "traffic",
  "sessions", "visitors", "search console", "GSC", "what are we ranking for", "search queries",
  "impressions", "clicks", "SEO"
---

# Google Workspace CLI

Routes to service-specific skills. Use the right skill for your task:

| Need | Skill |
|------|-------|
| Send, draft, reply, reply-all, manage email (with attachments) | **gw-gmail** |
| Quick inbox check | **gw-inbox** |
| Read/write spreadsheets | **gw-sheets** |
| Schedule meetings | **gw-calendar** |
| Manage to-dos | **gw-tasks** |
| Read/create/edit documents | **gw-docs** |
| Create / edit Google Forms, read metadata and responses | **gw-forms** |
| List, upload, download, share, organize Drive files & folders | **gw-drive** |
| Read GA4 traffic, acquisition, pages, conversions, realtime | **gw-analytics** |
| Read Search Console queries, pages, CTR, position, indexing, sitemaps | **gw-searchconsole** |
| Call ANY Google API method (Discovery), inspect schemas | **gw-api** |

**Attachments are supported** on every sending verb: `send`, `draft`, `draft-reply`, `draft-reply-all`, `reply`, `reply-all`, `update-draft`, and `attach-to-draft`. Use `--attach /path/to/file` and repeat for multiple files. See **gw-gmail** skill for examples.

**Signature is appended by default** on every sending verb (the account's Gmail send-as signature). Pass `--no-signature` to omit it, or `--plain` on `send`, `draft` and the reply verbs to send plain text only (no HTML, signature or styling), or `--html-body HTML` on the same verbs to send your own HTML part verbatim (no signature). See **gw-gmail**.

**Draft modification is supported.** Full lifecycle: `list-drafts` → `get-draft` → `update-draft` / `attach-to-draft` → `send-draft` or `delete-draft`. See **gw-gmail**.

**Reply auto-preserves original Cc** on `reply` and `draft-reply`. Reply-all expands Cc to include original To recipients. See **gw-gmail** for the `--cc` / `--no-cc` override semantics.

## Opt-in scopes

`gw-analytics` and `gw-searchconsole` need scopes a default login does **not** grant. Add them
without losing the rest of the token:

```bash
$CLI auth login --add-scopes analytics,searchconsole
```

Use `--add-scopes`, never `--scopes`: a login **replaces** the token, so `--scopes analytics`
would drop Gmail, Calendar, Drive, Sheets, Docs, Tasks and Forms. Both scopes are read-only.

`postmaster` (`postmaster.traffic.readonly`, read-only) reaches Gmail Postmaster Tools v2 through
`gw-api`: `$CLI auth login --add-scopes postmaster`, then
`$CLI api call gmailpostmastertools:v2 domains.getComplianceStatus --params '{"name":"domains/example.com/complianceStatus"}'`.

## UI Verification

All write operations (calendar create/update, docs create/append/replace, forms create/add-items, sheets write/append, gmail draft) should be verified visually using Chrome DevTools MCP (`mcp__chrome-devtools__navigate_page` + `mcp__chrome-devtools__take_screenshot`). Each service skill has specific verification steps — follow them before reporting done.

## CLI

```bash
CLI="python3 ${CLAUDE_PLUGIN_ROOT}/cli/gw.py"
```

## Auth Troubleshooting

Auth tokens live under `~/.config/gw/`, with a legacy fallback to `.google-token*.json` files at the **repo root**. The CLI finds them automatically — it is **CWD-independent**. If auth seems broken:

1. Check auth state: `gw auth status`
2. Read `${CLAUDE_PLUGIN_ROOT}/lib/auth.py` to understand resolution — do NOT guess paths
3. **Never** point to plugin cache paths (`~/.claude/plugins/cache/...`) — that's not where auth lives
4. Re-auth only if the token is genuinely missing: `gw auth login --account <name>`

## Account Routing

Accounts are user-defined in `accounts.json` (see `gw auth list` / `gw auth login --account <name>`); the names and emails below are only examples.

| Account | Example email | Typical use |
|---|---|---|
| `--account main` | `you@example.com` | Primary (default) |
| `--account work` | `work@example.com` | Work / outreach |
| `--account personal` | `personal@example.com` | Personal |

Use a dedicated outreach account (e.g. `--account work`) for outreach rather than your primary. Never default to `personal` — it must be passed explicitly. All commands output JSON; add `--compact` to save tokens.

The `cold-outreach` agent was retired with the sender in 1.3.2. Draft outreach with `/draft-email`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.