Latest upstream author date included at this registry's pinned revision.

gplay-review-management

Synced v1.1.0 License: MIT Source: tamtom/gplay-cli-skills/skills/gplay-review-management Commit: 10301b2 Latest included change:

Review monitoring, filtering, and automated responses for Google Play. Use when managing user reviews and feedback.

Summary

Purpose
Helps retrieve, filter, inspect, and analyze Google Play reviews, with examples for replying to reviewers and monitoring feedback.
When to use
Use it to search reviews by rating, date, language, or keywords, inspect a specific review, calculate rating metrics, or build reply and monitoring workflows.
Outputs
It provides gplay and shell examples for listing or filtering reviews, retrieving review details, calculating aggregates, submitting replies, and monitoring unreplied feedback.
Upstream changes (3, latest included 2026-07-04)
439c9ae fix(skills): audit cleanup — correct every command, cut dead weight, add drift guardrail (#3) Added an example for translating review text with `--translation-language` and removed the reply templates and response best-practices sections.
13309f2 fix: correct --review-id to --review in review management skill Updated the review retrieval and reply examples, including the automation script, to use `--review` instead of `--review-id`.
acb31df Initial commit: Google Play CLI Skills repository Added the initial Google Play review-management guide with examples for listing and filtering reviews, replying, automation, analytics, and monitoring.
npx skills add "lettucebo/Skills#v2.2.0@gplay-review-management" --full-depth

⚠ Available after v2.2.0 is published

Review 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 support@example.com 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" support@example.com

History

v1.1.0 baseline-verified 10301b2
v1.1.0 license-refresh 10301b2