About gplay-review-management
A skill for monitoring and responding to Google Play app reviews with the gplay CLI. It includes review retrieval, filtering, replies, and example workflows for analysis and monitoring.
Key features
- 01List and paginate reviews
- 02Filter by rating, date, and language
- 03Retrieve and reply to individual reviews
- 04Translate review text
- 05Analyze ratings and review themes
Use cases
- 01Finding recent low-rated reviews
- 02Replying to a specific user review
- 03Tracking reviews about crashes or refunds
- 04Summarizing ratings and common terms
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ tamtom/ gplay-cli-skills --skill gplay-review-managementAfter installing, type/gplay-review-managementin Claude Code to confirm it loaded.
Details
From the project READMEReview Management for Google Play
Use this skill when you need to monitor and respond to user reviews.
List Reviews
Get all reviews
gplay reviews list --package com.example.app
Get all reviews with pagination
gplay reviews list --package com.example.app --paginate
Table output (human-readable)
gplay reviews list \
--package com.example.app \
--output table
Filter Reviews
By rating
# Get 1-star reviews
gplay reviews list --package com.example.app \
| jq '.reviews[] | select(.rating == 1)'
# Get 5-star reviews
gplay reviews list --package com.example.app \
| jq '.reviews[] | select(.rating == 5)'
# Get reviews with 3 stars or less
gplay reviews list --package com.example.app \
| jq '.reviews[] | select(.rating <= 3)'
By date
# Reviews from last 7 days
DATE_7_DAYS_AGO=$(date -u -v-7d +%Y-%m-%dT%H:%M:%SZ)
gplay reviews list --package com.example.app \
| jq --arg date "$DATE_7_DAYS_AGO" \
'.reviews[] | select(.comments[0].userComment.lastModified.time > $date)'
By language
# English reviews only
gplay reviews list --package com.example.app \
| jq '.reviews[] | select(.comments[0].userComment.language == "en")'
Machine-translated review text
Use the built-in --translation-language flag to get review text translated by Google, rather than reading it in the original language:
gplay reviews list --package com.example.app --translation-language en-US
Reviews containing keywords
# Find reviews mentioning "crash"
gplay reviews list --package com.example.app \
| jq '.reviews[] | select(.comments[0].userComment.text | contains("crash"))'
Get Specific Review
gplay reviews get \
--package com.example.app \
--review REVIEW_ID
Reply to Reviews
gplay reviews reply \
--package com.example.app \
--review REVIEW_ID \
--text "Thank you for your feedback! We've fixed this issue in version 1.2.3."
Automated Review Response
Script to reply to unreplied 1-star reviews
#!/bin/bash
PACKAGE="com.example.app"
# Get all unreplied 1-star reviews
gplay reviews list --package $PACKAGE --paginate \
| jq -r '.reviews[] | select(.rating == 1 and (.comments | length == 1)) | .reviewId' \
| while read REVIEW_ID; do
echo "Replying to review: $REVIEW_ID"
gplay reviews reply \
--package $PACKAGE \
--review "$REVIEW_ID" \
--text "Thank you for your feedback. We're sorry to hear about your experience. Please email [email protected] so we can help resolve this issue."
done
Review Analytics
Count reviews by rating
gplay reviews list --package com.example.app --paginate \
| jq '[.reviews[] | .rating] | group_by(.) | map({rating: .[0], count: length})'
Average rating calculation
gplay reviews list --package com.example.app --paginate \
| jq '[.reviews[].rating] | add / length'
Most common words in reviews
gplay reviews list --package com.example.app --paginate \
| jq -r '.reviews[].comments[0].userComment.text' \
| tr '[:upper:]' '[:lower:]' \
| tr -s ' ' '\n' \
| sort | uniq -c | sort -rn | head -20
Monitor for Specific Issues
Find crash-related reviews
gplay reviews list --package com.example.app --paginate \
| jq '.reviews[] | select(.comments[0].userComment.text | test("crash|freeze|hang"; "i"))'
Find reviews mentioning competitors
gplay reviews list --package com.example.app --paginate \
| jq '.reviews[] | select(.comments[0].userComment.text | test("competitor_name"; "i"))'
Find reviews with refund requests
gplay reviews list --package com.example.app --paginate \
| jq '.reviews[] | select(.comments[0].userComment.text | test("refund|money back"; "i"))'
Monitoring Dashboard
Create a simple review dashboard:
#!/bin/bash
PACKAGE="com.example.app"
echo "=== Review Dashboard ==="
echo ""
# Total reviews
TOTAL=$(gplay reviews list --package $PACKAGE --paginate | jq '.reviews | length')
echo "Total reviews: $TOTAL"
# Rating distribution
echo ""
echo "Rating distribution:"
gplay reviews list --package $PACKAGE --paginate \
| jq -r '.reviews[] | .rating' \
| sort | uniq -c | sort -rn
# Avg rating
AVG=$(gplay reviews list --package $PACKAGE --paginate \
| jq '[.reviews[].rating] | add / length')
echo ""
echo "Average rating: $AVG"
# Unreplied reviews
UNREPLIED=$(gplay reviews list --package $PACKAGE --paginate \
| jq '[.reviews[] | select(.comments | length == 1)] | length')
echo ""
echo "Unreplied reviews: $UNREPLIED"
# Recent 1-star
echo ""
echo "Recent 1-star reviews:"
gplay reviews list --package $PACKAGE \
| jq -r '.reviews[] | select(.rating == 1) | "\(.comments[0].userComment.lastModified.time): \(.comments[0].userComment.text)"' \
| head -5
Scheduled Review Check
Daily review check (cron)
# Add to crontab
0 9 * * * /path/to/check-reviews.sh
check-reviews.sh
#!/bin/bash
PACKAGE="com.example.app"
# Get unreplied 1-star and 2-star reviews
UNREPLIED=$(gplay reviews list --package $PACKAGE \
| jq '[.reviews[] | select(.rating <= 2 and (.comments | length == 1))] | length')
if [ "$UNREPLIED" -gt 0 ]; then
echo "⚠️ You have $UNREPLIED unreplied negative reviews!"
# Send notification (email, Slack, etc.)
fi
Integration with Support System
Forward reviews to support email:
#!/bin/bash
# Get reviews mentioning "support" or "help"
gplay reviews list --package com.example.app --paginate \
| jq -r '.reviews[] | select(.comments[0].userComment.text | test("support|help"; "i")) |
"Review ID: \(.reviewId)\nRating: \(.rating)\nText: \(.comments[0].userComment.text)\n---"' \
| mail -s "Support Reviews" [email protected]
Comments
Markdown supported