Scrape G2, Capterra, and Trustpilot reviews for your product and competitors, then extract recurring themes, objections, proof points, and exact customer language for use in messaging. Chains review-site-scraper with LLM analysis. Produces a weekly or monthly digest that feeds directly into copywriting, positioning, and sales enablement. Use when a marketing team needs to ground messaging in real customer language.
npx gooseworks install --all # then, in Claude Code, Cursor, or Codex: /gooseworks use the review-intelligence-digest skill
Scrape reviews for your product and top competitors, then extract what actually matters for marketing: the exact language customers use, recurring pain points, proof points that convert, and objections to pre-empt.
Core principle: Your best marketing copy is already written — by your customers, in their reviews. This skill surfaces it.
Run review-site-scraper for your product and each competitor:
# Your product
python3 skills/capabilities/review-site-scraper/scripts/scrape_reviews.py \
--platform g2 \
--url "<your_g2_url>" \
--days 90 \
--output json
# Competitor
python3 skills/capabilities/review-site-scraper/scripts/scrape_reviews.py \
--platform g2 \
--url "<competitor_g2_url>" \
--days 90 \
--output jsonRepeat for Capterra and Trustpilot as needed.
Collect for each review: rating (1-5), title, body text, pros, cons, reviewer role/company (if available), date.
Analyze all reviews through these five lenses:
Extract specific outcomes and metrics customers mention:
Flag reviews with numbers — these are the highest-value proof points.
What words and phrases do customers use to describe the problem they had before using the product? This is gold for cold email hooks and ad copy.
Patterns to extract:
What do customers wish was different? What almost stopped them from buying?
Group by theme. Count frequency.
In competitor reviews, look for:
These are your competitive displacement angles.
How do customers categorize and search for your type of product?
# Review Intelligence Digest — [DATE]
Products analyzed: [your product], [competitors]
Reviews analyzed: [N] total | Period: [date range]
---
## Proof Points Library (use in copy directly)
### With Metrics (highest value)
- "[Exact quote with number]" — [Reviewer role], [Platform], [Date]
- "[Exact quote with number]" — ...
### Process/Experience Wins
- "[Exact quote]" — [Reviewer role], [Platform]
- ...
---
## Customer Pain Language
Words and phrases customers use to describe the problem you solve:
**Verbatim phrases (use in hooks and subject lines):**
- "[Exact phrase]" (appeared in [N] reviews)
- "[Exact phrase]" (appeared in [N] reviews)
- ...
**Paraphrased themes:**
1. [Theme] — [N] reviews mention this | Example: "[quote]"
2. [Theme] — ...
---
## Objection Map
| Objection | Frequency | Verbatim example | How to address |
|-----------|-----------|-----------------|----------------|
| [Objection] | [N] reviews | "[quote]" | [suggested response] |
| ... | | | |
---
## Competitive Displacement Intel
### [Competitor Name]
**Top complaints (use as outreach hooks):**
1. [Complaint] — "[Verbatim quote]" | Appeared [N] times
2. ...
**What their customers want that we offer:**
- [Feature/capability] — "[review evidence]"
**Suggested displacement angle:**
> "[Pitch sentence targeting their unhappy customers]"
---
## SEO / Messaging Vocabulary
Words and phrases to incorporate in website copy, ads, and content:
**High-frequency ICP vocabulary:**
- "[word/phrase]" — used in [N] reviews
- ...
**Category comparison terms:**
- Customers compare you to: [list]
- Customers search for: [list]
---
## Recommended Actions
### Immediate (use this week)
1. Add "[proof point quote]" to homepage or outbound sequences
2. Address "[top objection]" in onboarding flow or sales deck
3. Use "[pain phrase]" as hook in next cold email batch
### Strategic
1. [Feature gap mentioned in reviews — prioritize or address in messaging]
2. [Competitive weakness to build a campaign around]Save to review-digest-[YYYY-MM-DD].md in the current working directory.
Run monthly (reviews don't change fast enough to warrant weekly):
0 8 1 * * python3 run_skill.py review-intelligence-digest --client <client-name>| Component | Cost |
|---|---|
| G2 reviews (per product) | Free tier available (Apify) |
| Capterra reviews (per product) | ~$0.20-0.50 (Apify, pay-per-result) |
| Trustpilot reviews (per product) | ~$0.20/1k reviews |
| Total per monthly run (you + 2 competitors) | ~$1-3 |
APIFY_API_TOKEN env varreview-site-scraperRender a 'model comparison grid' video from a config — a fal-style "same prompt, N contenders" showcase — a dark real-DOM stage where per beat a monospace prompt fades in centered, docks to a small top strip, then a labeled 2-4 panel grid (static images OR muted video clips, mixable per cell) staggers in and holds for comparison, plus a minimal end card — frame-stepped via Playwright (video cells are frame-seeked deterministically) and encoded with FFmpeg. Deterministic assembly, FREE (cell media comes from create-image-fal / create-video-fal, music from create-music-elevenlabs), text stays pixel-crisp. Use for the model-comparison-grid format.
Render a punchy ~12s vertical (9:16) music-only direct-response OFFER ad as a 4-beat kinetic-typography film — HEADLINE slam → real PRODUCT drop → CLAIM/proof → CTA pill — from one config of copy slots, a real product photo, a brand palette, fonts, bpm, and beat split. DETERMINISTIC + FREE (a bundled Remotion project; springs + interpolate, no AI-gen for visuals). Backgrounds are engine gradient divs off the palette, props are inline SVG, the ONLY composited bitmap is the REAL product photo (objectFit:contain, never stretched), and ALL headline/claim/CTA/URL/wordmark text is typeset in the engine — never AI-rendered (the format's credibility guard). A driver binds the config to Remotion input props, renders the 9:16 master, and derives a 1:1 center-crop with ffmpeg. Two gating checks run before render (claim verbs must match the product's physical format; the claim beat needs an edge-entry mechanism prop). Use for the motion-graphics-offer-ad format.
Assemble a myth-vs-fact kinetic-typography explainer video ad (≈29.5s, 9:16) from N myth/fact pairs + hook / turn / punch copy + palette + a brand end-card PNG + a VO track — a hook, 3 red-strike MYTH cards that flip to teal-check FACT cards (per-line strikethrough that crosses EVERY wrapped line), a "what actually works" turn, an optional proof reveal, a punch line, and a static end card. DETERMINISTIC assembly with ZERO AI-gen visuals — HTML hyperframes rendered frame-exact via Playwright (`window.renderAt(t)`, animation a pure function of beat-local time), Whisper beat-snap to VO word onsets, concat at a uniform fps, karaoke `.ass` captions burned last (suppressed on the proof + end-card beats), and a VO + optional music mix (music −20 dB, `amix normalize=0`, tail fade). FREE (Python + Playwright + ffmpeg); the recipe supplies the copy / palette / end-card / VO and gates the paid VO / music / Whisper calls to their own capabilities. Use for the myth-vs-fact format.