Skip to content
Agentmart
Submit a tool

gcp

Use when a tool needs a Google Cloud service account (Google Play publishing, RevenueCat purchase validation, Firebase, any Google API), when checking which…

Skill by tirupati17

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/tirupati17-gcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use when a tool needs a Google Cloud service account (Google Play publishing, RevenueCat purchase validation, Firebase, any Google API), when checking which service account and project credentials belong to and what roles they hold, enabling an API, listing or creating service account keys, or when a Google API call fails with 403, SERVICE_DISABLED or a permission that "should" already be granted.

Use cases: backend, cloud

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/gcp

What's inside

Skill name
gcp
Description
Use when a tool needs a Google Cloud service account (Google Play publishing, RevenueCat purchase validation, Firebase, any Google API), when checking which service account and project credentials belong to and what roles they hold, enabling an API, listing or creating service account keys, or when a Google API call fails with 403, SERVICE_DISABLED or a permission that "should" already be granted.
License
MIT
Instructions
42 lines in SKILL.md · view on GitHub

Before installing

  • Instructions read files in your home folder (~/.ssh, ~/.aws…)

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Google Cloud: identity, APIs, service accounts

## Credentials

`cpm creds setup gcp` asks for each one:

| Name | Where to get it |
|---|---|
| `GCP_PROJECT_ID` | The project **id** (not the display name or number), top of the console. `--gcp-project` overrides per call. |
| `GCP_SERVICE_ACCOUNT_JSON` | IAM & Admin > Service accounts > the account > Keys > Add key > **JSON**. Downloaded once. `cpm creds` copies it to `~/.config/cpm/<project>/keys/` (0600). An OAuth client JSON (`"installed"`/`"web"`) looks similar and is refused. |

Tokens are signed locally (RS256) with the `cryptography` package if installed,
otherwise the `openssl` binary. No gcloud needed; if you have it, `gcloud auth
list` and `gcloud config list` answer the "which identity" question for your user.

## Commands

```bash
cpm gcp whoami                          # service account, key's home project, target project, roles held
cpm gcp whoami --offline                # key file only, no network
cpm gcp apis                            # enabled APIs
cpm gcp apis enable androidpublisher    # dry run; add --commit
cpm gcp service-accounts                # accounts in the project
cpm gcp service-accounts keys <email>   # user-managed keys and their ages
cpm gcp service-accounts key-create <email> --commit --save-as PLAY_SERVICE_ACCOUNT_JSON
```

`key-create` never prints the key. It lands in the credentials folder and, with
`--save-as`, its path is stored under that name for the tool that needs it.

## Traps

- **403 "API has not been used in project N" although it is enabled.** API enablement and quota belong to the project that **owns the service account**, not the one you are working in. `whoami` shows both. Enable the API there. The first APIs of a fresh project (Service Usage, Cloud Resource Manager) must be enabled from the console, because the account cannot call the API that would enable them.
- **Play: catalog reads work, purchase validation keeps failing.** Play Console splits a service account's access into **App permissions** (add the app) and **Account permissions** (financial data, order management). Granting only one side leaves reads green and validation red, which looks like propagation delay but never clears. Real propagation can take up to 36 hours; a missing app entry never resolves.
- **Play: the service account must be invited in Play Console** (Users and permissions), not only given IAM roles, and the Google Play Android Developer API must be on in its project.
- **Real-time notifications silently absent.** The role picker lists **Pub/Sub Lite Editor** beside **Pub/Sub Editor**; only Pub/Sub Editor (or Publisher on the topic, for the Play publisher account) works.
- **Key creation refused by policy.** `iam.disableServiceAccountKeyCreation` is on by default for newer organizations; an org admin must relax it for the project, or use keyless auth where the consumer supports it.
- **Keys pile up.** Ten user-managed keys per account is the cap. `service-accounts keys` shows ages; delete what no tool uses. A key is a long-lived password: one per consumer, never in git.
- **Changes applied to the wrong place.** Before any write with a CLI (gcloud, a database CLI, a hosting CLI), check which user and org it is logged into; a machine logged into a personal or sandbox org will happily apply migrations or roles there. `whoami` does this for the service account.
- **IAM changes are not instant.** New roles can take a few minutes; retry before rewriting anything.

From tirupati17/cpm, MIT.

More from tirupati17/cpm

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Sep 27, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from tirupati17

Cite this page

gcp skill. Agent Mart. https://agentmart.dev/skills/tirupati17-gcp (last updated 2026-10-24)