Competitor intelligence system. Research competitors across web, Reddit, Twitter/X, LinkedIn, and blogs. Build deep competitor profiles, monitor content and positioning changes, track what gets traction, and identify competitive gaps. Covers data collection, content tracking, and strategy analysis. Pure research skill — uses web search, web fetch, and optionally Apify for social scraping. No scripts required.
npx gooseworks install --all # then, in Claude Code, Cursor, or Codex: /gooseworks use the competitor-intel skill
Research and monitor competitors across multiple channels. Build profiles, track changes, and translate competitor moves into strategic recommendations.
Three layers:
For each competitor, research across these dimensions using web search and web fetch:
If Apify is available, scrape deeper data:
Without Apify, web search covers the basics — just less structured.
For each competitor, produce a structured profile:
# Competitor Profile: [Company Name]
**Last updated:** [DATE]
**Website:** [URL]
## Overview
- **What they do:** [1-2 sentences]
- **ICP:** [who they sell to]
- **Stage:** [funding, headcount]
- **Pricing:** [model + price points]
## Positioning
- **Value prop:** [their core claim]
- **Key differentiators:** [what they emphasize]
- **Positioning against us:** [how they frame the comparison, if any]
## Product
- **Core features:** [list]
- **Recent launches:** [last 6 months]
- **Integrations:** [key partners]
## Content & Marketing
- **Blog frequency:** [posts/month]
- **Top topics:** [themes they write about]
- **Social activity:** [LinkedIn, Twitter/X presence and engagement level]
- **Content strategy:** [what type of content dominates — thought leadership, SEO, product marketing]
## Customer Evidence
- **Notable customers:** [logos]
- **G2/Capterra rating:** [score + review count]
- **Common praise:** [what customers love]
- **Common complaints:** [what customers dislike]
## Signals
- **Hiring:** [what roles, what it signals]
- **Partnerships:** [recent partnerships]
- **News:** [recent press/announcements]
## Strengths & Weaknesses (vs. You)
### Where they're strong:
- [strength 1]
- [strength 2]
### Where they're weak:
- [weakness 1]
- [weakness 2]
### Your opportunity:
- [gap you can exploit]After profiling all competitors, produce a landscape view:
# Competitive Landscape — [Your Company] — [DATE]
## Positioning Map
| Company | Core Claim | ICP Focus | Price Point | Key Differentiator |
|---------|-----------|-----------|-------------|-------------------|
| You | [claim] | [ICP] | [price] | [differentiator] |
| Comp 1 | [claim] | [ICP] | [price] | [differentiator] |
| Comp 2 | ... | ... | ... | ... |
## Content Comparison
| Company | Blog Frequency | Top Topics | Social Presence |
|---------|---------------|-----------|-----------------|
| You | [X/month] | [topics] | [LinkedIn/Twitter activity] |
| Comp 1 | [X/month] | [topics] | [activity] |
## Feature Comparison
| Feature | You | Comp 1 | Comp 2 | Comp 3 |
|---------|-----|--------|--------|--------|
| [feature 1] | ✓/✗ | ✓/✗ | ✓/✗ | ✓/✗ |
## Key Takeaways
1. [Most important competitive insight]
2. [Second]
3. [Third]
## Recommended Actions
1. [What to do based on competitive gaps]
2. [Positioning adjustment]
3. [Content/feature opportunity]For recurring competitive tracking, set up a periodic review:
Monthly check:
What to monitor:
| Component | Cost |
|---|---|
| Web search + fetch (all research) | Free |
| Apify social scraping (optional) | ~$0.50-2.00 per competitor |
| Analysis | Free (LLM reasoning) |
| Total per competitor (baseline) | Free |
| Total per competitor (with Apify) | ~$0.50-2.00 |
APIFY_API_TOKEN (optional — for Reddit/Twitter/LinkedIn scraping)Render 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.