Gpc user management
Agent skills for the GPC CLI. 19 skills that teach Claude Code how to use GPC for Google Play workflows: releases, metadata, vitals, monetization, CI/CD.
npx -y skills add yasserstudio/gpc-skills --skill gpc-user-managementAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when managing Google Play developer account users, permissions, grants, or testers. Make sure to use this skill whenever the user mentions gpc users, gpc testers, gpc grants, developer account permissions, user roles, invite user, remove user, permission grants, per-app permissions, per-app grants, standalone grants, tester groups, beta testers, internal testers, alpha testers, Google Group testers, tester CSV import, team management, access control, user audit — even if they don't explicitly say 'user management.' Also trigger when someone wants to invite team members to their Play Console, update permissions for existing users, manage per-app grants independently from users, manage who can test their app, import testers from a CSV file, or audit who has access to their developer account. For authentication setup, see gpc-setup. For release track management, see gpc-release-flow.
SKILL.md
9.3 KB, as published. Nobody here has run it
gpc-user-management
Manage developer account users, permissions, and testers with GPC.
When to use
- Inviting or removing users from a Google Play developer account
- Updating user permissions (developer-level or per-app)
- Listing and auditing who has access to the developer account
- Adding or removing testers from testing tracks (internal, alpha, beta)
- Importing testers in bulk from a CSV file
- Setting up Google Group-based tester access
Inputs required
- Authenticated GPC —
gpc auth statusmust show valid credentials - Developer account ID — required for user commands (
--developer-idorGPC_DEVELOPER_ID) - App package name — required for tester commands and per-app grants (
--app) - Email addresses — for inviting users or adding testers
- CSV file — for bulk tester import (
--file)
Procedure
0. Verify setup
gpc auth status
gpc config get app
User commands require --developer-id. Set it once:
export GPC_DEVELOPER_ID=1234567890
Or pass it per command: gpc users list --developer-id 1234567890.
1. Users — list and inspect
# List all users in the developer account
gpc users list --developer-id 1234567890
# Get details for a specific user
gpc users get [email protected] --developer-id 1234567890
# JSON output for scripting
gpc users list --developer-id 1234567890 --json
2. Users — invite
Invite a new user with developer-level permissions and optional per-app grants:
# Invite with developer-level permissions
gpc users invite [email protected] \
--role VIEW_APP_INFORMATION VIEW_FINANCIAL_DATA \
--developer-id 1234567890
# Invite with per-app grants
gpc users invite [email protected] \
--grant "com.example.app:VIEW_APP_INFORMATION,MANAGE_TESTING" \
--developer-id 1234567890
# Combine developer-level and per-app permissions
gpc users invite [email protected] \
--role VIEW_APP_INFORMATION \
--grant "com.example.app:MANAGE_PRODUCTION_RELEASES" \
--developer-id 1234567890
# Preview first
gpc users invite [email protected] \
--role VIEW_APP_INFORMATION \
--developer-id 1234567890 \
--dry-run
Read: references/permissions.md for the full list of developer-level and per-app permission constants.
Note: Permission changes may take up to 48 hours to propagate across Google's systems.
3. Users — update permissions
# Update developer-level permissions
gpc users update [email protected] \
--role VIEW_APP_INFORMATION VIEW_FINANCIAL_DATA MANAGE_ORDERS \
--developer-id 1234567890
# Update per-app grants
gpc users update [email protected] \
--grant "com.example.app:MANAGE_PRODUCTION_RELEASES,MANAGE_TESTING" \
--developer-id 1234567890
# Preview changes
gpc users update [email protected] \
--role VIEW_APP_INFORMATION \
--developer-id 1234567890 \
--dry-run
4. Users — remove
# Preview removal
gpc users remove [email protected] --developer-id 1234567890 --dry-run
# Remove
gpc users remove [email protected] --developer-id 1234567890
5. Testers — list
# List testers for a track
gpc testers list --track internal
gpc testers list --track alpha
gpc testers list --track beta
# JSON output
gpc testers list --track beta --json
6. Testers — add and remove
# Add individual testers (Google Group emails or individual emails)
gpc testers add [email protected] [email protected] --track internal
# Add a Google Group
gpc testers add [email protected] --track beta
# Add testers without auto-submitting changes for review
gpc testers add [email protected] --track beta --changes-not-sent-for-review
# Fail if the app is currently in review or rejected before modifying testers
gpc testers add [email protected] --track beta --error-if-in-review
# Remove testers
gpc testers remove [email protected] --track internal
# Remove testers without auto-submitting changes for review
gpc testers remove [email protected] --track internal --changes-not-sent-for-review
# Preview changes
gpc testers add [email protected] --track beta --dry-run
7. Grants — standalone per-app permission management
gpc grants manages per-app permissions independently from user invitations. Use this when you need fine-grained control over what individual users can do on specific apps.
# List all grants for a user
gpc grants list [email protected] --developer-id 1234567890
# List grants for a specific app
gpc grants list [email protected] \
--developer-id 1234567890 \
--app com.example.app
# Create a new per-app grant
gpc grants create [email protected] \
--app com.example.app \
--permissions MANAGE_PRODUCTION_RELEASES VIEW_APP_INFORMATION \
--developer-id 1234567890
# Update existing grant permissions
gpc grants patch [email protected] \
--app com.example.app \
--permissions VIEW_APP_INFORMATION \
--developer-id 1234567890
# Remove a per-app grant (revokes app-specific access)
gpc grants delete [email protected] \
--app com.example.app \
--developer-id 1234567890
When to use gpc grants vs gpc users update --grant:
- Use
gpc grantsfor managing grants on existing users without modifying their developer-level role - Use
gpc users invite --grantorgpc users update --grantwhen also changing the user's account-level permissions
New in v0.9.87:
grants listandtesters listnow return the unified--jsonenvelope{ <key>, nextPageToken, meta.count, message? }, matching other list commands. Scripts reading a bare array will break — update to destructure the keyed field.testers listalso emitsgoogleGroups: []when a track has no Google Groups configured (theitemskey is always present).users listshares the same envelope as of GPC v0.9.83.
Read: references/permissions.md for the full list of per-app permission constants.
8. Testers — bulk import from CSV
Import testers from a CSV file containing email addresses:
# Preview import
gpc testers import --track beta --file testers.csv --dry-run
# Import
gpc testers import --track beta --file testers.csv
CSV format — one email per line:
email
[email protected]
[email protected]
[email protected]
Read: references/tester-workflows.md for common tester management patterns and Google Group best practices.
Verification
gpc users list --developer-id <id>returns current users with their permissionsgpc users get <email> --developer-id <id>shows the user's current role and grantsgpc testers list --track <track>returns testers for the specified track- All
--dry-runcommands show what would change without modifying data - JSON output works on all commands (
--jsonflag) - Permission changes may take up to 48 hours to propagate
Failure modes / debugging
| Symptom | Likely Cause | Fix |
|---|---|---|
DEVELOPER_ID_REQUIRED | Missing --developer-id flag | Set GPC_DEVELOPER_ID env var or pass --developer-id |
PERMISSION_DENIED on user commands | Service account lacks admin permissions | Service account needs "Admin" access in Play Console |
USER_NOT_FOUND | Email not in the developer account | Check spelling; use gpc users list to verify |
INVALID_GRANT format | Wrong --grant syntax | Format: com.example.app:PERM1,PERM2 (colon between app and perms, commas between perms) |
INVALID_PERMISSION | Unknown permission constant | Check references/permissions.md for valid constants |
| Permissions not taking effect | 48-hour propagation delay | Wait; changes are eventual — verify after 48 hours |
TRACK_NOT_FOUND for testers | Track doesn't exist or wrong name | Valid tracks: internal, alpha, beta, or custom track names |
| CSV import fails | Wrong CSV format or encoding | Ensure UTF-8, one email per line, header row with email |
TESTER_LIMIT_EXCEEDED | Track has maximum tester count | Internal: 100, Alpha/Beta: no hard limit but Google Groups recommended for scale |
Related skills
- gpc-setup — authentication and developer account configuration
- gpc-release-flow — releasing to testing tracks that testers access
- gpc-ci-integration — automating tester management in CI/CD pipelines