mcpField
G
gplay-metadata-sync

gplay-metadata-sync

github.com/tamtomMarketing & growth52406 installsUpdated 13w ago
Repository

About gplay-metadata-sync

A skill for app teams syncing Google Play Store metadata and localizations with local files. It supports exporting, validating, comparing, and importing listings, as well as managing store images and app details.

Key features

  1. 01Export and import localized listings
  2. 02Compare local and Play Store metadata
  3. 03Validate listing fields and character limits
  4. 04Upload and manage store images
  5. 05Update app contact details

Use cases

  1. 01Review metadata changes before publishing
  2. 02Keep localized listings in version control
  3. 03Validate descriptions before importing
  4. 04Update screenshots and app icon

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tamtom/gplay-cli-skills --skill gplay-metadata-sync

After installing, type/gplay-metadata-syncin Claude Code to confirm it loaded.

Details

From the project README

Metadata Sync for Google Play

Use this skill when you need to update or sync Play Store metadata and localizations.

Fastlane Directory Structure

fastlane/metadata/android/
├── en-US/
│   ├── title.txt
│   ├── short_description.txt
│   ├── full_description.txt
│   ├── video.txt
│   └── images/
│       ├── phoneScreenshots/
│       │   ├── 1.png
│       │   └── 2.png
│       ├── sevenInchScreenshots/
│       ├── tenInchScreenshots/
│       ├── tvScreenshots/
│       ├── wearScreenshots/
│       ├── icon.png
│       └── featureGraphic.png
├── es-ES/
│   ├── title.txt
│   └── ...
└── fr-FR/
    └── ...

Export Metadata from Play Store

# Export all listings to Fastlane format
gplay sync export-listings \
  --package com.example.app \
  --dir ./fastlane/metadata/android

# Export images
gplay sync export-images \
  --package com.example.app \
  --dir ./fastlane/metadata/android

Import Metadata to Play Store

# Validate before importing (offline check)
gplay validate listing \
  --dir ./fastlane/metadata/android \
  --locale en-US

# Import all listings
gplay sync import-listings \
  --package com.example.app \
  --dir ./fastlane/metadata/android

# Import images
gplay sync import-images \
  --package com.example.app \
  --dir ./fastlane/metadata/android

Compare Local vs Remote

# See what would change
gplay sync diff-listings \
  --package com.example.app \
  --dir ./fastlane/metadata/android

Manual Metadata Management

List all listings
gplay listings list \
  --package com.example.app \
  --edit $EDIT_ID
Get specific locale
gplay listings get \
  --package com.example.app \
  --edit $EDIT_ID \
  --locale en-US
Update listing

listings update sets all fields for a locale via individual flags (fields not provided are cleared). Use listings patch for partial updates.

gplay listings update \
  --package com.example.app \
  --edit $EDIT_ID \
  --locale en-US \
  --title "My Awesome App" \
  --short-description "A short description under 80 characters" \
  --full-description "A full description under 4000 characters..." \
  --video "https://www.youtube.com/watch?v=VIDEO_ID"

Image Management

Upload screenshots
gplay images upload \
  --package com.example.app \
  --edit $EDIT_ID \
  --locale en-US \
  --type phoneScreenshots \
  --file screenshot1.png

gplay images upload \
  --package com.example.app \
  --edit $EDIT_ID \
  --locale en-US \
  --type phoneScreenshots \
  --file screenshot2.png
Image types
  • phoneScreenshots - Phone screenshots (required)
  • sevenInchScreenshots - 7" tablet screenshots
  • tenInchScreenshots - 10" tablet screenshots
  • tvScreenshots - TV screenshots
  • wearScreenshots - Wear OS screenshots
  • icon - App icon
  • featureGraphic - Feature graphic (1024x500)
List images
gplay images list \
  --package com.example.app \
  --edit $EDIT_ID \
  --locale en-US \
  --type phoneScreenshots
Delete image
gplay images delete \
  --package com.example.app \
  --edit $EDIT_ID \
  --locale en-US \
  --type phoneScreenshots \
  --image IMAGE_ID \
  --confirm

App Details

Get app details
gplay details get \
  --package com.example.app \
  --edit $EDIT_ID
Update contact info
gplay details update \
  --package com.example.app \
  --edit $EDIT_ID \
  --contact-email [email protected] \
  --contact-phone "+1234567890" \
  --contact-website "https://example.com"

Character Limits

Validate against Google Play limits:

FieldLimit
Title30 characters
Short Description80 characters
Full Description4000 characters
# Validate before upload
gplay validate listing \
  --dir ./fastlane/metadata/android \
  --locale en-US

Workflow Example

Complete metadata update workflow:

# 1. Export current metadata
gplay sync export-listings \
  --package com.example.app \
  --dir ./metadata

# 2. Edit files locally
vi ./metadata/en-US/full_description.txt

# 3. Validate changes
gplay validate listing \
  --dir ./metadata \
  --locale en-US

# 4. See what will change
gplay sync diff-listings \
  --package com.example.app \
  --dir ./metadata

# 5. Import changes
gplay sync import-listings \
  --package com.example.app \
  --dir ./metadata

Multi-Locale Management

Create new locale
  1. Copy existing locale directory:

    cp -r fastlane/metadata/android/en-US fastlane/metadata/android/es-ES
    
  2. Translate all text files

  3. Import:

    gplay sync import-listings \
      --package com.example.app \
      --dir ./fastlane/metadata/android
    
Supported Locales

Use Play Console locale codes:

  • en-US - English (United States)
  • es-ES - Spanish (Spain)
  • fr-FR - French (France)
  • de-DE - German (Germany)
  • ja-JP - Japanese (Japan)
  • etc.

Best Practices

  1. Keep metadata in version control - Track changes over time
  2. Validate before importing - Catch character limit errors
  3. Use consistent formatting - Follow style guide
  4. Test on different devices - Screenshots should represent actual app
  5. Update regularly - Keep descriptions current with features
  6. Localize properly - Don't use machine translation without review

Comments

Markdown supported