gpc-user-management

Use when managing Google Play developer account users, permissions, or testers. Make sure to use this skill whenever the user mentions gpc users, gpc testers, developer account permissions, user roles, invite user, remove user, permission grants, per-app permissions, 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 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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "gpc-user-management" with this command: npx skills add yasserstudio/gpc-skills/yasserstudio-gpc-skills-gpc-user-management

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 GPCgpc auth status must show valid credentials
  • Developer account ID — required for user commands (--developer-id or GPC_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 user@example.com --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 user@example.com \
  --role VIEW_APP_INFORMATION VIEW_FINANCIAL_DATA \
  --developer-id 1234567890

# Invite with per-app grants
gpc users invite user@example.com \
  --grant "com.example.app:VIEW_APP_INFORMATION,MANAGE_TESTING" \
  --developer-id 1234567890

# Combine developer-level and per-app permissions
gpc users invite user@example.com \
  --role VIEW_APP_INFORMATION \
  --grant "com.example.app:MANAGE_PRODUCTION_RELEASES" \
  --developer-id 1234567890

# Preview first
gpc users invite user@example.com \
  --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 user@example.com \
  --role VIEW_APP_INFORMATION VIEW_FINANCIAL_DATA MANAGE_ORDERS \
  --developer-id 1234567890

# Update per-app grants
gpc users update user@example.com \
  --grant "com.example.app:MANAGE_PRODUCTION_RELEASES,MANAGE_TESTING" \
  --developer-id 1234567890

# Preview changes
gpc users update user@example.com \
  --role VIEW_APP_INFORMATION \
  --developer-id 1234567890 \
  --dry-run

4. Users — remove

# Preview removal
gpc users remove user@example.com --developer-id 1234567890 --dry-run

# Remove
gpc users remove user@example.com --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 tester1@gmail.com tester2@gmail.com --track internal

# Add a Google Group
gpc testers add testers-group@googlegroups.com --track beta

# Remove testers
gpc testers remove tester1@gmail.com --track internal

# Preview changes
gpc testers add tester1@gmail.com --track beta --dry-run

7. 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
tester1@gmail.com
tester2@gmail.com
qa-team@googlegroups.com

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 permissions
  • gpc users get <email> --developer-id <id> shows the user's current role and grants
  • gpc testers list --track <track> returns testers for the specified track
  • All --dry-run commands show what would change without modifying data
  • JSON output works on all commands (--json flag)
  • Permission changes may take up to 48 hours to propagate

Failure modes / debugging

SymptomLikely CauseFix
DEVELOPER_ID_REQUIREDMissing --developer-id flagSet GPC_DEVELOPER_ID env var or pass --developer-id
PERMISSION_DENIED on user commandsService account lacks admin permissionsService account needs "Admin" access in Play Console
USER_NOT_FOUNDEmail not in the developer accountCheck spelling; use gpc users list to verify
INVALID_GRANT formatWrong --grant syntaxFormat: com.example.app:PERM1,PERM2 (colon between app and perms, commas between perms)
INVALID_PERMISSIONUnknown permission constantCheck references/permissions.md for valid constants
Permissions not taking effect48-hour propagation delayWait; changes are eventual — verify after 48 hours
TRACK_NOT_FOUND for testersTrack doesn't exist or wrong nameValid tracks: internal, alpha, beta, or custom track names
CSV import failsWrong CSV format or encodingEnsure UTF-8, one email per line, header row with email
TESTER_LIMIT_EXCEEDEDTrack has maximum tester countInternal: 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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Security

gpc-security

No summary provided by upstream source.

Repository SourceNeeds Review
General

gpc-multi-app

No summary provided by upstream source.

Repository SourceNeeds Review
General

gpc-migrate-fastlane

No summary provided by upstream source.

Repository SourceNeeds Review
General

gpc-metadata-sync

No summary provided by upstream source.

Repository SourceNeeds Review