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 contentgpc listings get --all-languagesconfirms all languages are correctgpc 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
Repository
yasserstudio/gpc-skillsGitHub Stars
1
First Seen
3 days ago
Security Audits
Installed on
opencode3
gemini-cli3
claude-code3
github-copilot3
codex3
kimi-cli3