/competitor-researcher
Research SaaS and AI-tool competitors in a real browser. Visit competitor sites, pricing pages, feature pages, and review platforms to extract pricing, features, positioning, and customer sentiment, then return a structured comparison report. Use when the user wants competitor
$ npx -y skills add hanzili/hanzi-browse --skill competitor-researcher --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/competitor-researcher
Context preview
The summary Claude sees to decide when to auto-load this skill.
Research SaaS and AI-tool competitors in a real browser. Visit competitor sites, pricing pages, feature pages, and review platforms to extract pricing, features, positioning, and customer sentiment, then return a structured comparison report. Use when the user wants competitor
SKILL.md
competitor-researcher.SKILL.mdname: competitor-researcher
description: Research SaaS and AI-tool competitors in a real browser. Visit competitor sites, pricing pages, feature pages, and review platforms to extract pricing, features, positioning, and customer sentiment, then return a structured comparison report. Use when the user wants competitor analysis, market landscape research, pricing comparisons, feature comparisons, or review synthesis.
category: marketing
Competitor Researcher
You research competitors and turn messy product pages into a structured market comparison. This skill is read-only: observe, extract, compare, and report. Do not sign in, submit forms, or mutate any site state.
Tool Selection Rule
- **Prefer existing tools first**: If a competitor page is public and renders well without a browser, use normal web fetches or other available tools first.
- **Use Hanzi only when the browser is actually needed**: JavaScript-rendered pricing tables, tabbed feature sections, lazy-loaded reviews, anti-bot protections, or other pages that do not work reliably with plain HTTP tools.
- **Stay read-only**: Do not create accounts, start trials, submit lead forms, or click any CTA that would change external state.
Before Starting — Preflight Check
Try calling `browser_status` to verify the browser extension is reachable. If the tool doesn't exist or returns an error:
> **Hanzi isn't set up yet.** This skill needs the hanzi browser extension running in Chrome. > > 1. Install from the Chrome Web Store: https://chromewebstore.google.com/detail/hanzi-browse/iklpkemlmbhemkiojndpbhoakgikpmcd > 2. The extension will walk you through setup (~1 minute) > 3. Then come back and run this again
---
What You Need From the User
Before opening a browser, confirm:
1. **Product to benchmark** — what company or product are we comparing against competitors? 2. **Competitors** — exact competitor names or URLs. If unknown, ask whether to discover likely competitors first. 3. **Dimensions that matter** — pricing, features, positioning, integrations, support, AI capabilities, enterprise readiness, reviews, or "everything" 4. **Output style** — quick table, deep report, or executive summary with the table appended 5. **Scope limits** — how many competitors to research and whether to include review sites like G2, Capterra, and Product Hunt
Optional:
- Region or market segment (SMB, enterprise, developer tools, agencies, healthcare, etc.)
- Which pricing plan to focus on if there are many
- Whether to include screenshots as evidence
If the request is underspecified, pause and confirm the scope before opening a browser.
---
Safety: Keep It Observational
Competitor research should not create accounts or trigger outreach.
Before proceeding:
- Confirm the user wants **read-only research**
- Avoid sign-up, booking-demo, free-trial, or contact-sales flows
- Do not scrape private dashboards or gated customer areas
- If a site blocks access with a CAPTCHA, bot wall, or login wall, stop on that source and note the limitation
Safe actions:
- Reading landing pages, pricing pages, feature pages, help docs, changelogs, and public reviews
- Expanding tabs, accordions, or "show more" sections when needed to read public content
Unsafe actions:
- Submitting forms
- Starting trials
- Entering contact information
- Logging into accounts without explicit user approval
---
Phase 1: Plan the Research
Start by restating the target:
Product: {target product}
Competitors: {list}
Dimensions: {pricing, features, positioning, reviews, etc.}
Output: {table / deep report / summary}
Review sources: {G2 / Capterra / Product Hunt / none}For each competitor, identify likely sources:
| Source Type | Typical Pages | |-------------|---------------| | Official site | home page, pricing, features, integrations, enterprise, docs | | Review platforms | G2, Capterra, Product Hunt | | Supporting evidence | blog, changelog, docs, comparison pages |
If the competitor list is not provided, discover a short list first by reading public comparison pages and review listings, then confirm with the user before continuing.
---
Phase 2: Gather Official Product Data
For each competitor, collect the following from public product pages:
- **Pricing** — plan names, list prices, usage limits, free tier, free trial, enterprise/contact-sales positioning
- **Features** — core features, standout capabilities, integrations, AI features, compliance/security claims
- **Positioning** — hero headline, subheadline, target customer, strongest messaging angle
- **Social proof** — customer logos, testimonials, usage numbers, case studies, badges
Prefer plain fetches for simple pages. Use `browser_start` when pricing tables or feature pages require a real browser.
Browser extraction prompt pattern
When Hanzi is needed, use a task like:
Visit this competitor's public site and extract structured product information. Read the home page, pricing page, and feature page if available. Return: company name, target customer, headline, subheadline, plan names, prices, billing details, key features, integrations, AI-specific claims, social proof, and any enterprise/contact-sales positioning. Expand tabs or accordions if needed, but do not sign up or submit forms.
If a site has multiple pricing toggles or tabs:
- Read monthly and annual pricing when available
- Note which values are hidden behind "contact sales"
- Call out usage-based pricing separately from seat-based pricing
If `browser_start` times out:
- Call `browser_screenshot` to see where it got stuck
- Retry once with a tighter task focused on just the missing page
- If it still fails, record the limitation and move on
---
Phase 3: Gather Review Sentiment
Review sites are often the reason a real browser helps. For each competitor, check whichever of these are available:
- **G2**
- **Capterra**
- **Product Hunt**
Extract:
- Average rating if visible
- Review count if
Read more
name: competitor-researcher description: Research SaaS and AI-tool competitors in a real browser. Visit competitor sites, pricing pages, feature pages, and review platforms to extract pricing, features, positioning, and customer sentiment, then return a structured comparison report. Use when the user wants competitor analysis, market landscape research, pricing comparisons, feature comparisons, or review synthesis. category: marketing
Competitor Researcher
You research competitors and turn messy product pages into a structured market comparison. This skill is read-only: observe, extract, compare, and report. Do not sign in, submit forms, or mutate any site state.
Tool Selection Rule
- **Prefer existing tools first**: If a competitor page is public and renders well without a browser, use normal web fetches or other available tools first.
- **Use Hanzi only when the browser is actually needed**: JavaScript-rendered pricing tables, tabbed feature sections, lazy-loaded reviews, anti-bot protections, or other pages that do not work reliably with plain HTTP tools.
- **Stay read-only**: Do not create accounts, start trials, submit lead forms, or click any CTA that would change external state.
Before Starting — Preflight Check
Try calling `browser_status` to verify the browser extension is reachable. If the tool doesn't exist or returns an error:
> **Hanzi isn't set up yet.** This skill needs the hanzi browser extension running in Chrome. > > 1. Install from the Chrome Web Store: https://chromewebstore.google.com/detail/hanzi-browse/iklpkemlmbhemkiojndpbhoakgikpmcd > 2. The extension will walk you through setup (~1 minute) > 3. Then come back and run this again
---
What You Need From the User
Before opening a browser, confirm:
1. **Product to benchmark** — what company or product are we comparing against competitors? 2. **Competitors** — exact competitor names or URLs. If unknown, ask whether to discover likely competitors first. 3. **Dimensions that matter** — pricing, features, positioning, integrations, support, AI capabilities, enterprise readiness, reviews, or "everything" 4. **Output style** — quick table, deep report, or executive summary with the table appended 5. **Scope limits** — how many competitors to research and whether to include review sites like G2, Capterra, and Product Hunt
Optional:
- Region or market segment (SMB, enterprise, developer tools, agencies, healthcare, etc.)
- Which pricing plan to focus on if there are many
- Whether to include screenshots as evidence
If the request is underspecified, pause and confirm the scope before opening a browser.
---
Safety: Keep It Observational
Competitor research should not create accounts or trigger outreach.
Before proceeding:
- Confirm the user wants **read-only research**
- Avoid sign-up, booking-demo, free-trial, or contact-sales flows
- Do not scrape private dashboards or gated customer areas
- If a site blocks access with a CAPTCHA, bot wall, or login wall, stop on that source and note the limitation
Safe actions:
- Reading landing pages, pricing pages, feature pages, help docs, changelogs, and public reviews
- Expanding tabs, accordions, or "show more" sections when needed to read public content
Unsafe actions:
- Submitting forms
- Starting trials
- Entering contact information
- Logging into accounts without explicit user approval
---
Phase 1: Plan the Research
Start by restating the target:
Product: {target product}
Competitors: {list}
Dimensions: {pricing, features, positioning, reviews, etc.}
Output: {table / deep report / summary}
Review sources: {G2 / Capterra / Product Hunt / none}For each competitor, identify likely sources:
| Source Type | Typical Pages | |-------------|---------------| | Official site | home page, pricing, features, integrations, enterprise, docs | | Review platforms | G2, Capterra, Product Hunt | | Supporting evidence | blog, changelog, docs, comparison pages |
If the competitor list is not provided, discover a short list first by reading public comparison pages and review listings, then confirm with the user before continuing.
---
Phase 2: Gather Official Product Data
For each competitor, collect the following from public product pages:
- **Pricing** — plan names, list prices, usage limits, free tier, free trial, enterprise/contact-sales positioning
- **Features** — core features, standout capabilities, integrations, AI features, compliance/security claims
- **Positioning** — hero headline, subheadline, target customer, strongest messaging angle
- **Social proof** — customer logos, testimonials, usage numbers, case studies, badges
Prefer plain fetches for simple pages. Use `browser_start` when pricing tables or feature pages require a real browser.
Browser extraction prompt pattern
When Hanzi is needed, use a task like:
Visit this competitor's public site and extract structured product information. Read the home page, pricing page, and feature page if available. Return: company name, target customer, headline, subheadline, plan names, prices, billing details, key features, integrations, AI-specific claims, social proof, and any enterprise/contact-sales positioning. Expand tabs or accordions if needed, but do not sign up or submit forms.
If a site has multiple pricing toggles or tabs:
- Read monthly and annual pricing when available
- Note which values are hidden behind "contact sales"
- Call out usage-based pricing separately from seat-based pricing
If `browser_start` times out:
- Call `browser_screenshot` to see where it got stuck
- Retry once with a tighter task focused on just the missing page
- If it still fails, record the limitation and move on
---
Phase 3: Gather Review Sentiment
Review sites are often the reason a real browser helps. For each competitor, check whichever of these are available:
- **G2**
- **Capterra**
- **Product Hunt**
Extract:
- Average rating if visible
- Review count if
The context layer for browsing agents. Your browsing agent keeps failing on real sites — X uses Draft.js, LinkedIn hides the connect button, Gmail needs keyboard shortcuts.
Repo: hanzili/hanzi-browse
Other skills on hanzi-browse.
- /a11y-auditor
Audit web pages for accessibility issues in a real browser. Checks contrast, font sizes, focus indicators, keyboard navigation, ARIA labels, and semantic HTML against WCAG 2.1 AA. Reports findings with screenshots and specific remediation steps. Requires the hanzi browser
Open skill - /apartment-finder
Search for apartments across multiple real estate platforms, compare listings side by side, and help submit inquiries or applications. Use when the user wants to find a place to rent — searching Zillow, Apartments.com, Craigslist, and similar sites with their real signed-in
Open skill - /competitor-monitor
Monitor competitor websites for changes. Visit a list of URLs, extract pricing, features, positioning, and key content, compare against previous snapshots stored locally, and generate a change report summarizing what's different. Use when the user says "check competitors", "what
Open skill - /data-extractor
Extract structured data from websites into CSV or JSON. Use when the user wants to scrape a list, table, directory, or repeated elements from one or more pages — especially pages that require login, handle CAPTCHAs, or load content dynamically. Examples: "pull all company names
Open skill - /e2e-tester
Test a web app like a QA person — open it in a real browser, click through flows, and report what's broken with screenshots and code references. Works on localhost. Use when the user wants to test their app, verify a flow works, check for visual bugs, or validate changes before
Open skill - /hanzi-browse
Delegates a browsing task to a sub-agent running in the USER'S OWN Chrome — the browser they have open right now, already signed into everything. Give it a task in natural language ("check my LinkedIn DMs", "post this reply on X", "test signup on localhost:3000") and watch the
Open skill

