gw-api

gw-api is a skill for Claude Code from Elnora-AI/elnora-google-workspace. It costs 129 tokens per session (1,721 once invoked), scanned A, original, Apache-2.0.

A generic command-line tool for calling Google API methods that do not have a dedicated command. Google APIs are online interfaces for services such as Drive, Slides, People, Meet, and Classroom.

In plain words
What is it for?
Use it to discover services and schemas, dry-run requests, execute uncovered Google API methods, and handle paginated results.
Why use it?
It lets developers inspect an API method, validate a request without sending it, and then make the call with the required parameters and permissions.

Skill for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the google-workspace plugin — 13 skills, 4 commands, 1 agent shipped together

Good fit Use it to discover services and schemas, dry-run requests, execute uncovered Google API methods, and handle paginated results.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add Elnora-AI/elnora-google-workspace
Claude Code
/plugin install google-workspace

Made for: Claude Code.

Or install google-workspace, the plugin that ships this one along with the rest of its 13 skills, 4 commands, 1 agent.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for gw-api

README.md
[![agentmods](https://agentmods.dev/badge/skills/elnora-ai/elnora-google-workspace/gw-api/github.svg)](https://agentmods.dev/skills/elnora-ai/elnora-google-workspace/gw-api)
Your own site
<a href="https://agentmods.dev/skills/elnora-ai/elnora-google-workspace/gw-api"><img src="https://agentmods.dev/badge/skills/elnora-ai/elnora-google-workspace/gw-api/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for gw-api

Your own site · 80×15
<a href="https://agentmods.dev/skills/elnora-ai/elnora-google-workspace/gw-api"><img src="https://agentmods.dev/badge/skills/elnora-ai/elnora-google-workspace/gw-api.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 129 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,721 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00129 $0.01721
Opus 5 $0.00064 $0.00860
Sonnet 5 $0.00026 $0.00344
Haiku 4.5 $0.00013 $0.00172

Measured today against content hash f4ca1e334faf, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

gw-api scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -s "https://<api>.googleapis.com/\$discovery/rest?version=<version>" -o /tmp/d.json
skills/gw-api/SKILL.md · 149 lines

How it starts

The opening of the file, as written. The whole thing — 149 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Generic Google API Invoker

Invocation

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

When to Use

  • Prefer the curated groups (gmail, calendar, sheets, docs, tasks, forms) for anything they cover — they have task-shaped flags and validated response shapes.
  • Use gw api for everything else: services without a curated group, or curated services' methods the groups don't expose.
  • SERVICE is an alias (gw api list shows all 18) or the api:version escape hatch for any Google API, e.g. admin:directory_v1.

Workflow: schema → dry-run → call

Always resolve the method shape before calling:

# 1. Find the service and browse its surface
$CLI api list --compact
$CLI api describe gmail --compact                    # top-level resources
$CLI api describe gmail users.messages --compact     # methods on a resource

# 2. Inspect the method: params, required scopes, request/response schema
$CLI schema gmail.users.messages.list --compact

# 3. Validate the call without executing (offline, no auth needed)
$CLI api call gmail users.messages.list --params '{"userId":"me","maxResults":5}' --dry-run

# 4. Execute
$CLI api call gmail users.messages.list --params '{"userId":"me","maxResults":5}' --compact

--dry-run prints {service, method, httpMethod, uri_template, params, body, required_scopes, destructive} and catches unknown/missing-required params before any network call.

The discovery document is the contract, not the published examples

A vendor's documentation shows what usually works. The discovery document defines what is guaranteed. When they disagree, the published example is the one that can change.

This matters most for enums, which are the cheapest thing to get wrong and the hardest to debug, because a rejected enum reports as a generic 400 rather than as "that value is not in the list". Fetch the document and read the enum yourself:

# Any Google API, no auth, no gw needed
curl -s "https://<api>.googleapis.com/\$discovery/rest?version=<version>" -o /tmp/d.json

# The enum for one request field
python3 -c "import json;d=json.load(open('/tmp/d.json'));print(d['schemas']['<RequestSchema>']['properties']['<field>']['enum'])"

Read the full file on GitHub · 149 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed · +42 lines f4ca1e334faf
  2. 9d ago First seen · 107 lines · 129 tokens per session scan A 4aec44e914f3

Subscribe to this mod's changes

gw-api is a skill published in the GitHub repository Elnora-AI/elnora-google-workspace (2 stars, last pushed yesterday), licensed Apache-2.0. It adds 129 tokens to every session and 1,721 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

gas-execution

Guidelines for writing and executing Google Apps Script code using ggsrun and finding documentation via workspace-developer. Use when developing or running GAS applications.

tanaikech/ggsrun · 34 tokens

gitlab-webhook

GitLab webhook operations via API. ALWAYS use this skill when user wants to: (1) list/view webhooks, (2) create/update/delete webhooks, (3) configure webhook events, (4) test webhook delivery.

grandcamel/GitLab-Assistant-Skills · 52 tokens

hcloud-setup

Use when the user needs to install, configure, or set up hcloud CLI, manage contexts/API tokens, configure default settings, set up shell completion, or understand output formatting options.

danjdewhurst/hcloud-skills · 42 tokens

elnora-admin

This skill should be used when the user asks to "log in", "logout", "check auth", "create API key", "revoke API key", "list API keys", "check health", "submit feedback", "view audit log", "shell completions", "get account", "update account", "account details", "view agreements", "accept terms", "validate token"…

Elnora-AI/elnora-cli · 154 tokens

elnora-platform

Use when the user asks about "Elnora platform", "elnora CLI", "platform API", "platform overview", "what commands are available", "elnora help", "how to use Elnora", or any general question about the Elnora AI Platform that doesn't fit a specific domain. Routes to domain-specific sub-skills for token-efficient…

Elnora-AI/elnora-cli · 78 tokens

wikipedia

Search and read Wikipedia via x wkp — MediaWiki API, no API key, zero install; query, extract, suggest, and DDG route in one module. Load for wiki, wikipedia, encyclopedia lookup, article summary.

x-cmd/x-cmd · 49 tokens