gplay-review-management

v2026.09.24

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

GitHub
安装命令
npx skhub add tamtom/gplay-review-management
Markdown
SKILL.md

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
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

skills/gplay-review-management

默认分支

main

最新提交

10301b2

Tree SHA

99d1e65