Competitor and prospect tech stack
Read a set of company websites with scrape_website, collect the technologies each one shows, group them into categories and compare them side by side. Useful for competitive research, or for finding prospects that use (or do not use) a particular tool.
One command.
Installs into ~/.claude/skills for Claude Code. In Claude, upload the downloaded file under Settings → Capabilities → Skills.
npx ravn skill install competitor-tech-stack
When to use
- "What are our competitors' sites built on?"
- A sales team wants prospects that run a specific platform, or a competitor's product.
- A quick check of one site's analytics, marketing and e-commerce tools.
Before you start
- Check the connection: call
get_accountwith{}or runnpx ravn whoami. scrape_websiteis ours and needs no provider key: 1 lookup per domain, misses are free.- Set expectations: the tool detects technologies visible on the public website. It does not see back-office systems, and a site that blocks crawlers in robots.txt will not be read.
Steps
- Collect the domains. Clean them: lowercase, strip
https://,www.and paths, remove duplicates. Include the user's own domain if they want a comparison. - One site over MCP:
{ "domain": "competitor.com" }
CLI:
npx ravn scrape_website --domain competitor.com
- Many sites from a CSV: dry run, sample, full.
npx ravn enrich domains.csv --tool scrape_website --column Domain --dry-run npx ravn enrich domains.csv --tool scrape_website --column Domain --limit 10 --out sample.csv npx ravn enrich domains.csv --tool scrape_website --column Domain --out sites.csv
The rw_technologies column holds each site's list as JSON text. 4. If a domain returns not_found, note it as "could not be read" (blocked, down or not a website). Do not guess its stack. 5. Group each technology into a plain category using your own knowledge, for example: analytics, tag management, advertising pixels, marketing automation, chat and support, e-commerce platform, CMS, payments, A/B testing, hosting and CDN, fonts and UI libraries. Put anything you cannot place under "other" rather than forcing it. 6. Build the comparison. For each category, list which sites use what. Point out patterns: tools every competitor shares, tools only one uses, and gaps where a site has nothing in a category. 7. For prospect-finding, filter the rows: keep domains whose rw_technologies include (or lack) the tool the user cares about. Offer to pass the matching domains to find-decision-makers.
Output
sites.csv: original columns plusrw_status(ok,not_found,error,dropped),rw_domain,rw_name,rw_title,rw_description,rw_technologies,rw_socialsand the otherrw_<field>columns.stack-by-category.csv: one row per domain and category, with columnsdomain,category,technologies.- A short write-up: the comparison by category, shared tools, unique tools, and which sites could not be read.
Rules
- Only use what the tool returned. Do not claim a company uses a product because it is common in their industry.
- Emails and phones found on the sites are not part of this job; leave them out unless the user asks, and never add them to a cold list without verifying them and checking opt-outs. See /privacy#optout.
- No FCRA uses.
- On exit code 4 the 5-hour window is full; the CLI waits for the reset unless
--no-waitis set. On a 429fair_use_exhausted, stop and tell the human.
Example prompt
Compare the tech stacks of our five main competitors (list below) with ours, acme.com. I want to see analytics, marketing tools and e-commerce platforms side by side.
More skills
Install them all with npx ravn skill install --all.