skills/yasserstudio/gpc-skills/gpc-metadata-sync

gpc-metadata-sync

SKILL.md

GPC Metadata Sync

When to use

Use this skill when the task involves:

  • Viewing or updating store listings (title, description, short description)
  • Syncing metadata between local files and Google Play Console
  • Managing screenshots and images (upload, delete, list)
  • Working with Fastlane-compatible metadata directory structure
  • Multi-language listing management
  • Pulling listings to local for version control
  • Pushing local listings to Play Console

Inputs required

  • Package name (or configured default via GPC_APP)
  • Language code(s) (e.g., en-US, ja-JP)
  • For push/pull: local directory path for metadata files
  • For images: image type and file paths

Procedure

0) View current listings

# Default language listing
gpc listings get

# Specific language
gpc listings get --lang ja-JP

# All languages at once
gpc listings get --all-languages

# JSON output for scripting
gpc listings get --output json

1) Update listings inline

gpc listings update --lang en-US \
  --title "My App" \
  --short-desc "A great app for great things" \
  --full-desc "Full description here..."

Or from a metadata directory:

gpc listings update --lang en-US --file metadata/en-US/

2) Pull/Push workflow (bidirectional sync)

This is the recommended workflow for version-controlling your listings.

Pull (download from Play Console to local):

gpc listings pull --dir metadata/

Creates a directory structure:

metadata/
├── en-US/
│   ├── title.txt
│   ├── short_description.txt
│   ├── full_description.txt
│   └── changelogs/
│       └── 142.txt
├── ja-JP/
│   ├── title.txt
│   ├── short_description.txt
│   └── full_description.txt
└── ...

Push (upload local files to Play Console):

gpc listings push --dir metadata/

# Preview changes without applying
gpc listings push --dir metadata/ --dry-run

Read:

  • references/directory-structure.md

3) Fastlane compatibility

GPC reads and writes the Fastlane metadata directory format. If you're migrating from Fastlane:

# Your existing Fastlane metadata/ directory works as-is
gpc listings push --dir fastlane/metadata/android/

# Pull into Fastlane-compatible structure
gpc listings pull --dir fastlane/metadata/android/

Read:

  • references/fastlane-migration.md

4) Image management

List existing images:

gpc listings images list --lang en-US --type phoneScreenshots

Image types: phoneScreenshots, sevenInchScreenshots, tenInchScreenshots, tvScreenshots, wearScreenshots, icon, featureGraphic, tvBanner, promoGraphic.

Upload images:

# Single image
gpc listings images upload --lang en-US --type phoneScreenshots screenshot.png

# Multiple images (glob)
gpc listings images upload --lang en-US --type phoneScreenshots ./screens/*.png

Delete images:

gpc listings images delete --lang en-US --type phoneScreenshots --id <image-id>

5) Multi-language workflow

For apps with many languages:

# Pull all languages
gpc listings pull --dir metadata/

# Edit locally (use your preferred text editor or translation tools)

# Push all languages back
gpc listings push --dir metadata/ --dry-run  # Preview first
gpc listings push --dir metadata/            # Apply

6) Preview with dry-run

All write operations support --dry-run:

gpc listings update --lang en-US --title "New Title" --dry-run
gpc listings push --dir metadata/ --dry-run

Verification

  • gpc listings get --lang <lang> shows updated content
  • gpc listings get --all-languages confirms all languages are correct
  • gpc listings images list --lang <lang> --type <type> shows uploaded images
  • Play Console UI reflects the changes (may take a few minutes)

Failure modes / debugging

Symptom Likely Cause Fix
LISTING_NOT_FOUND Language not set up in Play Console Add the language in Console first, then push
Image upload fails Wrong format or size Check Google's image requirements (PNG/JPEG, size limits per type)
Truncated description Exceeds character limit Title: 50 chars, short desc: 80 chars, full desc: 4000 chars
Push shows no changes Local files match remote Confirm edits are saved in the correct file paths
Encoding issues Non-UTF-8 file encoding Ensure all text files are UTF-8 encoded

Related skills

  • gpc-setup: Authentication and configuration
  • gpc-release-flow: Upload and release management
  • gpc-ci-integration: Automated metadata sync in CI/CD
Weekly Installs
3
GitHub Stars
1
First Seen
3 days ago
Installed on
opencode3
gemini-cli3
claude-code3
github-copilot3
codex3
kimi-cli3