Skip to content

google-pimp

Active router for ALL Google CLI requests — classifies and routes to the correct google-cli skill before any response. Use when anything involves Google Workspace CLI (gogcli/gog), Places CLI (goplaces), Google Ads CLI (gaql/mcc-gaql/google-ads-mcp), or gcloud GCP infra.

ModelSource
sonnetpack: google-cli
Full Reference If the request involves Google CLI tools in ANY way — gogcli/gog, goplaces, gaql, mcc-gaql, google-ads-mcp, gcloud, or any CLI-driven Google operation (Gmail, Calendar, Drive, Places search, Ads GAQL, GKE, Cloud Run, IAM) — you MUST route through this skill FIRST.

This is not optional. This is not negotiable. You cannot skip this.

The orchestration layer for all Google CLI tools. Not documentation — an active router. Every Google CLI request flows through this routing table before any response.

Mandatory Announcement — FIRST OUTPUT before anything else:

┏━ 🌐 google-pimp ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ [one-line description of what request/routing] ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

No exceptions. Box frame first, then route.

The google-cli pack covers the CLI execution layer for Google’s ecosystem — complementing the existing google-apis pack (API reference/SDK docs). 8 skills total: 4 deep CLI reference skills with reference/ docs, 2 workflow composition skills, 1 account context manager, plus this router.

PackFocus
google-cli (this pack)CLI execution — running gog, goplaces, gaql, gcloud from terminal
google-apisAPI reference — SDK usage, endpoint docs, auth flows for building apps

Before routing, check for active account context:

  1. Read google-cli.json at project root if it exists
  2. Check GOOGLE_CLI_CONTEXT env var — overrides default field at runtime
  3. Active context determines which account/config to inject per tool
Terminal window
# Active context resolution order:
# 1. $GOOGLE_CLI_CONTEXT env var (highest priority)
# 2. google-cli.json "default" field
# 3. Ambient auth (no context file — tools use their own defaults)

If google-cli.json does not exist and the request involves multi-account or account setup → route to google-accounts.

Classify the request. Invoke the matching skill. No response before invocation.

Request PatternSkill
Set up google-cli.json, add client context, switch active contextgoogle-accounts
Check Google account auth status, validate all tool credentialsgoogle-accounts
”google-accounts”, “switch context to”, “add context”, “check accounts”google-accounts
Gmail, Calendar, Drive, Contacts, Tasks via CLI, gog commandgogcli
Sheets, Docs, Slides, Forms, Apps Script, Chat, Classroom via CLIgogcli
gogcli install, auth, multi-account, keyring, scopes, configgogcli
Places search, nearby search, autocomplete, place detailsgoplaces
Routes, directions, distance matrix, geocoding via CLIgoplaces
goplaces install, API key, env vars, global flagsgoplaces
Google Ads GAQL query, campaign report, metrics, date rangesgoogle-ads-cli
MCC multi-account ops, cross-account reporting, login_customer_idgoogle-ads-cli
gaql-cli REPL, mcc-gaql Rust binary, google-ads-mcp servergoogle-ads-cli
Google Ads developer token, auth, config.tomlgoogle-ads-cli
gcloud compute, VMs, instance groups, firewall, SSH/IAPgcloud
GKE clusters, Autopilot, kubectl, node pools, Workload Identitygcloud
Cloud Run deploy, traffic splitting, revisions, secretsgcloud
IAM roles, service accounts, policy bindings, WIFgcloud
gcloud install, auth, named configs, ADC, componentsgcloud
Workspace automation pipeline (email → sheet → calendar)google-workspace-workflow
Gmail → Sheets, Contacts → Calendar, Forms → Drive pipelinesgoogle-workspace-workflow
MCC health check, cross-account ads reports, budget pacinggoogle-ads-workflow
Weekly performance reports, campaign status auditsgoogle-ads-workflow
Compare Google CLI tools, “which tool for X”, general helpgoogle-cli-expert agent
Google API SDK questions, REST endpoints, building appsCross-route → google-apis pack

Four distinct CLI tools for four Google domains:

ToolDomainAuthInstall
gogcli (gog)Google Workspace (14+ services)OAuth2 + keyringbrew install steipete/tap/gogcli
goplacesPlaces API (New) + RoutesAPI keybrew install steipete/tap/goplaces
gaql-cli / mcc-gaqlGoogle Ads GAQLDeveloper token + OAuth2pipx install gaql-cli / cargo
gcloudGoogle Cloud PlatformOAuth2 + ADCGoogle Cloud SDK

Decision flow:

  1. Google Workspace operation (email, calendar, drive, docs, sheets)? → gogcli
  2. Location search, nearby places, route planning? → goplaces
  3. Google Ads data, campaign management, cross-account MCC? → google-ads-cli
  4. Cloud infrastructure (VMs, containers, serverless, IAM)? → gcloud
  5. Multi-step pipeline combining Workspace tools? → google-workspace-workflow
  6. Cross-account Ads reporting pipeline? → google-ads-workflow

Before routing, check what’s installed:

CheckCommandResult
gogcli installed?which gogIf missing, suggest brew install steipete/tap/gogcli
gogcli authenticated?gog auth list --checkIf failing, guide through gog auth add
goplaces installed?which goplacesIf missing, suggest brew install steipete/tap/goplaces
GOOGLE_PLACES_API_KEY set?echo $GOOGLE_PLACES_API_KEYRequired for goplaces
gaql-cli installed?which gaqlIf missing, pipx install gaql-cli
mcc-gaql installed?which mcc-gaqlIf missing, cargo install or download binary
gcloud installed?which gcloudIf missing, install Google Cloud SDK
gcloud authenticated?gcloud auth listIf missing, gcloud auth login
StateAction
Tool missing, task requestedRoute to relevant reference/setup.md first
Auth missingGuide auth setup before proceeding
Tool available, auth readyRoute directly to target skill
  • If request spans multiple tools, invoke the PRIMARY skill first (closest to the core question)
  • “Send email from CLI” → always gogcli, never other tools
  • “Find restaurants nearby” → always goplaces
  • “Report on all ad accounts” → google-ads-workflow (multi-account) or google-ads-cli (single)
  • “Deploy my app to Cloud Run” → gcloud
  • Google API SDK questions (how to call the REST API in code) → cross-route to google-apis pack
  • “Which Google tool should I use?” → google-cli-expert agent
User SaysChain
”Pull leads from Gmail and log to Sheets”google-workspace-workflowgogcli (gmail + workspace)
“Search for coffee shops near my office and get directions”goplaces (search → routes)
“Run GAQL query across all MCC accounts”google-ads-climcc.md
”Deploy Cloud Run with service account”gcloudrun.md + iam.md
”Build a contact → calendar invite workflow”google-workspace-workflowgogcli
”Set up gogcli with multiple Google accounts”gogclireference/setup.md
”Campaign health check across all clients”google-ads-workflow

Priority Order (when multiple skills apply)

Section titled “Priority Order (when multiple skills apply)”
  1. google-workspace-workflow — if multi-step Workspace pipeline
  2. google-ads-workflow — if multi-account Ads pipeline
  3. gogcli — if Workspace CLI operation (Gmail/Calendar/Drive/Sheets/etc.)
  4. goplaces — if Places/Routes CLI operation
  5. google-ads-cli — if Ads GAQL/MCC operation
  6. gcloud — if GCP infrastructure operation
  • Building apps that call Google APIs (REST endpoints, SDKs) → google-apis pack
  • Google Analytics 4 API → ga4-api skill
  • Google Ads API SDK → google-ads-api skill
  • Google Business Profile API → google-business-profile-api skill
  • General coding on GCP (writing apps, not infra ops) → shepherd handles
  • Non-CLI Google operations → not this pack
  • Never respond about Google CLI tools before invoking the target skill
  • No summarizing, planning to invoke, or explaining what you’re about to do
  • If two skills apply, invoke the FIRST one — it chains to the next
  • If unclear, ask ONE clarifying question, then route
  • The skill’s reference docs have the verified facts — always defer to them
  • ALWAYS check State Detection before routing (install + auth status first)