skills/gplay-review-management/SKILL.md
Review monitoring, filtering, and automated responses for Google Play. Use when managing user reviews and feedback.
npx skillsauth add tamtom/gplay-cli-skills gplay-review-managementInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when you need to monitor and respond to user reviews.
gplay reviews list --package com.example.app
gplay reviews list --package com.example.app --paginate
gplay reviews list \
--package com.example.app \
--output table
# 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)'
# 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)'
# English reviews only
gplay reviews list --package com.example.app \
| jq '.reviews[] | select(.comments[0].userComment.language == "en")'
# Find reviews mentioning "crash"
gplay reviews list --package com.example.app \
| jq '.reviews[] | select(.comments[0].userComment.text | contains("crash"))'
gplay reviews get \
--package com.example.app \
--review REVIEW_ID
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."
Bug report response:
gplay reviews reply \
--package com.example.app \
--review REVIEW_ID \
--text "Thank you for reporting this issue. We've identified the problem and a fix will be available in the next update. Please update to version X.X.X when it's released."
Feature request response:
gplay reviews reply \
--package com.example.app \
--review REVIEW_ID \
--text "Thank you for your suggestion! We've added this to our roadmap and will consider it for a future release."
Positive review response:
gplay reviews reply \
--package com.example.app \
--review REVIEW_ID \
--text "Thank you so much for your kind words! We're glad you're enjoying the app."
Crash report response:
gplay reviews reply \
--package com.example.app \
--review REVIEW_ID \
--text "We're sorry you experienced a crash. This issue has been fixed in version X.X.X. Please update and let us know if you continue to have problems."
#!/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
gplay reviews list --package com.example.app --paginate \
| jq '[.reviews[] | .rating] | group_by(.) | map({rating: .[0], count: length})'
gplay reviews list --package com.example.app --paginate \
| jq '[.reviews[].rating] | add / length'
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
gplay reviews list --package com.example.app --paginate \
| jq '.reviews[] | select(.comments[0].userComment.text | test("crash|freeze|hang"; "i"))'
gplay reviews list --package com.example.app --paginate \
| jq '.reviews[] | select(.comments[0].userComment.text | test("competitor_name"; "i"))'
gplay reviews list --package com.example.app --paginate \
| jq '.reviews[] | select(.comments[0].userComment.text | test("refund|money back"; "i"))'
Thank you for reporting this. We've identified the issue and it will be fixed in our next update (version X.X.X). We appreciate your patience!
Thank you for your feedback! This issue has been resolved in our latest version (X.X.X). Please update your app and let us know if you continue to experience any problems.
Thank you for your feedback. We'd like to help resolve this issue. Could you please email us at [email protected] with more details about what happened? This will help us investigate further.
Thank you for the suggestion! We've added this to our feature backlog and will consider it for a future release. Please keep the feedback coming!
Thank you so much! We're thrilled to hear you're enjoying the app. If you have any suggestions for improvements, we'd love to hear them!
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
# Add to crontab
0 9 * * * /path/to/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
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]
development
App vitals monitoring for crashes, ANRs, performance metrics, and errors via gplay vitals commands. Use when asked to check app stability, crash rates, ANR rates, or performance data from Google Play Console.
development
User and grant management for Google Play Console via gplay users and gplay grants commands. Use when asked to manage developer account users, permissions, or app-level access grants.
development
Beta testing groups and tester management for Google Play closed testing tracks. Use when managing testers and beta groups.
tools
Bulk-localize subscription display names, descriptions, and offer tags across all Google Play locales using gplay. Use when you want to fill in subscription metadata for every language without clicking through Play Console manually.