Review Sentinel
by @rolarenagent-cpu
Monitor, analyze, and respond to Google reviews for local businesses. Use when asked to check reviews, analyze review trends, draft review responses, generat...
clawhub install review-sentinelπ About This Skill
name: review-sentinel description: Monitor, analyze, and respond to Google reviews for local businesses. Use when asked to check reviews, analyze review trends, draft review responses, generate reputation reports, or monitor a business's online reputation. Supports any business findable on Google Maps. Tracks review changes over time using local state files. metadata: openclaw: requires: env: - GOOGLE_PLACES_API_KEY primaryEnv: GOOGLE_PLACES_API_KEY
Review Sentinel
Automated Google review monitoring, analysis, and response drafting for any local business.
What It Does
Prerequisites
GOOGLE_PLACES_API_KEY environment variable (recommended)
2. credentials/google-places-api-key file (relative to working directory)
- Enable "Places API (New)" in Google Cloud Console
- Free tier: $200/month credit (~5,000 searches)
Limitations
Setup
On first use, ask the user for: 1. Business name and location (city or address) 2. Google Maps Place ID (optional β will search if not provided)
Store config in the skill directory at review-sentinel/config.json:
{
"businesses": [
{
"name": "Business Name",
"placeId": "ChIJ...",
"location": "City, State",
"searchQuery": "Business Name City",
"lastChecked": null,
"reviewCount": 0,
"rating": 0
}
]
}
Core Workflows
1. Check Reviews
Trigger: "check reviews", "how are our reviews", "any new reviews"1. Run scripts/fetch_reviews_places.py to fetch current review data via Google Places API (preferred)
- Fallback: scripts/fetch_reviews.py (web scraping, fragile)
2. Compare with stored state in review-sentinel/state/
3. Report: new reviews since last check, rating changes, review count changes
4. Update state file
2. Analyze Reviews
Trigger: "analyze reviews", "review trends", "what are people saying"1. Fetch current reviews using the fetch script 2. Parse review text, ratings, dates 3. Categorize by sentiment and topic (service, wait time, staff, price, quality) 4. Identify patterns: recurring complaints, seasonal trends, rating trajectory 5. Compare against competitors if configured
3. Draft Responses
Trigger: "respond to reviews", "draft responses", "reply to reviews"For each unresponded review:
Guidelines:
4. Reputation Report
Trigger: "reputation report", "review report", "monthly report"Generate a structured report:
Save reports to review-sentinel/reports/YYYY-MM-DD-report.md.
5. Review Alerts (Cron)
For automated monitoring, suggest the user set up a cron job:Schedule: daily at 9 AM
Task: Check for new reviews, alert on any 1-2 star reviews immediately
Response Tone Guide
Match response tone to the business type:
Competitor Tracking
When configured with competitor businesses, the analysis workflow includes:
State Management
All state stored in review-sentinel/state/:
.json β latest review snapshot, historyconfig.json β business configurationRead references/state-schema.md for the full state file schema.
Quickstart Example
User: "Check reviews for my clinic"
Agent: Runs fetch_reviews_places.py "My Clinic Seattle"
Agent: Compares with stored state, reports:
- Rating: 4.6β
(stable)
- 3 new reviews since last check (2 positive, 1 negative)
- Alert: 1-star review from "Jane D." needs response
- Drafts response for approval
Important Notes
βοΈ Configuration
On first use, ask the user for: 1. Business name and location (city or address) 2. Google Maps Place ID (optional β will search if not provided)
Store config in the skill directory at review-sentinel/config.json:
{
"businesses": [
{
"name": "Business Name",
"placeId": "ChIJ...",
"location": "City, State",
"searchQuery": "Business Name City",
"lastChecked": null,
"reviewCount": 0,
"rating": 0
}
]
}