Extract competitor and customer intelligence from any company's landing page HTML. Discovers tech stack, analytics tools, ad pixels, customer logos, SEO metadata, CTAs, hidden elements, and more. No API keys required.
npx gooseworks install --all # then, in Claude Code, Cursor, or Codex: /gooseworks use the landing-page-intel skill
Extract GTM-relevant intelligence from any company's landing page by scraping its HTML source.
Only dependency is pip install requests. No API key needed.
# Basic scan of a single URL
python3 skills/landing-page-intel/scripts/scrape_landing_page.py \
--url "https://example.com"
# Scan multiple pages of the same site
python3 skills/landing-page-intel/scripts/scrape_landing_page.py \
--url "https://example.com" --pages "/,/pricing,/about"
# Output as summary table instead of JSON
python3 skills/landing-page-intel/scripts/scrape_landing_page.py \
--url "https://example.com" --output summary
# Save full report to file
python3 skills/landing-page-intel/scripts/scrape_landing_page.py \
--url "https://example.com" --output json > report.json| Category | Details |
|---|---|
| Tech Stack | Analytics (GA4, Mixpanel, Amplitude, PostHog, Heap), marketing automation (HubSpot, Marketo, Pardot), chat widgets (Intercom, Drift, Crisp, Zendesk), A/B testing (Optimizely, VWO, LaunchDarkly), session recording (Hotjar, FullStory, LogRocket), CDPs (Segment, Clearbit, 6sense) |
| Ad Pixels | Meta Pixel, Google Ads, LinkedIn Insight Tag, TikTok pixel, Twitter pixel |
| Customer Logos | Image URLs from "trusted by" / logo carousel sections, grouped by directory |
| SEO Metadata | Title, meta description, Open Graph tags, Twitter Cards, canonical URL, structured data (JSON-LD), hreflang tags |
| CTAs & Sales Motion | All CTA button text and links — reveals PLG vs sales-led motion |
| Social Proof | Testimonials, customer counts, case study links, badge images |
| Integrations | Links to integration/partner pages, embedded third-party widgets |
| Hidden Elements | Content in display:none, hidden, or HTML comments that may reveal upcoming features |
| Infrastructure | CMS platform (Webflow, WordPress, Next.js, etc.), detected from HTML signatures |
| Flag | Default | Description |
|---|---|---|
--url | required | Target website URL |
--pages | / | Comma-separated paths to scan (e.g., /,/pricing,/about) |
--output | json | Output format: json or summary |
--timeout | 15 | Request timeout in seconds |
Free. No API keys required. Uses only HTTP requests to fetch public HTML.
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.