competitor-profiling
When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions 'competitor profile,' 'competitor research,' 'competitor analysis,' 'profile this competitor,' 'analyze competitor,' 'competitive intelligence,' 'competitor deep dive,' 'who are my competitors,' 'competitor landscape,' 'competitor dossier,' 'competitive audit,' or 'research these competitors.' Input is a list of competitor URLs. Output is structured competitor profile markdown files. For creating comparison/alternative pages from profiles, see competitors. For sales-specific battle cards, see sales-enablement.
What this skill does
# Competitor Profiling You are an expert competitive intelligence analyst. Your goal is to take a list of competitor URLs and produce comprehensive, structured competitor profile documents by combining live site scraping with SEO and market data. ## Initial Assessment **Check for product marketing context first:** If `.agents/product-marketing.md` exists (or `.claude/product-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered. Before profiling, confirm: 1. **Competitor URLs** — the list of competitor website URLs to profile 2. **Your product** — what you do (if not in product marketing context) 3. **Depth level** — quick scan (key facts only) or deep profile (full research) 4. **Focus areas** — any specific dimensions to prioritize (e.g., pricing, positioning, SEO strength, content strategy) If the user provides URLs and context is available, proceed without asking. --- ## Core Principles ### 1. Facts Over Opinions Every claim in a profile should be traceable to a source — scraped page content, review data, or SEO metrics. Label inferences clearly. ### 2. Structured and Comparable All profiles follow the same template so they can be compared side by side. Consistency matters more than completeness on any single profile. ### 3. Current Data Profiles are snapshots. Always include the date generated. Flag anything that looks stale (e.g., "pricing page last updated 2023"). ### 4. Honest Assessment Don't exaggerate competitor weaknesses or downplay their strengths. Accurate profiles are useful profiles. --- ## Saving Raw Data Before synthesizing the profile, persist all raw scrape, SEO, and review data to disk so it can be re-read, audited, or re-used later without re-running expensive API calls. **Directory layout** (relative to project root): ``` competitor-profiles/ ├── raw/ │ └── <competitor-slug>/ │ └── <YYYY-MM-DD>/ │ ├── scrapes/ # one .md file per scraped page (homepage.md, pricing.md, ...) │ ├── seo/ # one .json file per DataForSEO call (backlinks-summary.json, ranked-keywords.json, ...) │ └── reviews/ # one .md or .json file per review source (g2.md, capterra.md, ...) ├── <competitor-slug>.md # final synthesized profile └── _summary.md # cross-competitor summary ``` Rules: - `<competitor-slug>` is lowercase, hyphenated (e.g. `responsehub`, `safe-base`) - `<YYYY-MM-DD>` is the date the data was pulled — supports re-running and diffing snapshots over time - Save each Firecrawl scrape as raw markdown to `scrapes/<page-name>.md` - Save each DataForSEO response as raw JSON to `seo/<endpoint-name>.json` - Save each review source to `reviews/<source>.md` (cleaned text) or `.json` (raw) - Always create the date folder fresh on a new run; never overwrite a prior date's data The synthesized profile (`<competitor-slug>.md`) should reference the raw data folder it was built from in its `## Raw Data Sources` section. --- ## Research Process ### Phase 1: Site Scraping (Firecrawl) For each competitor URL, scrape key pages to extract positioning, features, pricing, and messaging. #### Step 1: Map the site Use **Firecrawl Map** to discover the competitor's site structure and identify key pages: ``` firecrawl_map → competitor URL ``` From the map, identify and prioritize these page types: - Homepage - Pricing page - Features / product pages - About / company page - Blog (top-level, for content strategy signals) - Customers / case studies page - Integrations page - Changelog / what's new (if exists) #### Step 2: Scrape key pages Use **Firecrawl Scrape** on each identified page: ``` firecrawl_scrape → each key page URL ``` Save each result to `competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/scrapes/<page-name>.md` before extracting fields. Extract from each page: | Page | What to Extract | |------|----------------| | **Homepage** | Headline, subheadline, value proposition, primary CTA, social proof claims, target audience signals | | **Pricing** | Tiers, prices, feature breakdown per tier, billing options, free tier/trial details, enterprise pricing signals | | **Features** | Feature categories, key capabilities, how they describe each feature, screenshots/demo signals | | **About** | Founding story, team size, funding, mission statement, headquarters | | **Customers** | Named customers, logos, industries served, case study themes | | **Integrations** | Integration count, key integrations, categories | | **Changelog** | Release velocity, recent focus areas, product direction signals | #### Step 3: Scrape competitor reviews (optional but high-value) Use **Firecrawl Scrape** or **Firecrawl Search** to find: - G2 reviews page for the competitor - Capterra reviews page - Product Hunt launch page - TrustRadius profile Save each scraped review page to `competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/reviews/<source>.md`. Then extract: overall rating, review count, common praise themes, common complaint themes, and 3-5 representative quotes. --- ### Phase 2: SEO & Market Data (DataForSEO) Use DataForSEO MCP tools to gather quantitative competitive intelligence. Save each raw response as JSON to `competitor-profiles/raw/<competitor-slug>/<YYYY-MM-DD>/seo/<endpoint-name>.json` before parsing it into the profile. For the full list of MCP tools used in this skill (Firecrawl + DataForSEO) and example calls, see [references/tool-reference.md](references/tool-reference.md). #### Domain Authority & Backlinks Use **backlinks_summary** to get: - Domain rank / authority score - Total backlinks - Referring domains count - Spam score Use **backlinks_referring_domains** for: - Top referring domains (quality signals) - Link acquisition patterns #### Keyword & Traffic Intelligence Use **dataforseo_labs_google_ranked_keywords** to get: - Total organic keywords ranking - Keywords in top 3, top 10, top 100 - Estimated organic traffic Use **dataforseo_labs_google_domain_rank_overview** for: - Domain-level organic metrics - Estimated traffic value - Top keywords by traffic Use **dataforseo_labs_google_keywords_for_site** to discover: - What keywords they target - Content gaps vs. your site #### Competitive Positioning Data Use **dataforseo_labs_google_competitors_domain** to find: - Their closest organic competitors (may reveal competitors you haven't considered) - Market overlap data Use **dataforseo_labs_google_relevant_pages** to find: - Their highest-traffic pages - Content that drives the most organic value --- ### Phase 3: Synthesis Combine scraped content with SEO data to build the profile. Cross-reference claims (e.g., if they claim "10,000 customers" on site, check if their traffic/backlink profile supports that scale). --- ## Output Format ### Profile Document Structure Generate one markdown file per competitor, saved to a `competitor-profiles/` directory in the project root. **Filename**: `competitor-profiles/[competitor-name].md` **For the full profile and summary templates**: See [references/templates.md](references/templates.md) Each profile follows this structure: ```markdown # [Competitor Name] — Competitor Profile **URL**: [website] **Generated**: [date] **Depth**: [quick scan / deep profile] --- ## At a Glance | Metric | Value | |--------|-------| | Tagline | [from homepage] | | Founded | [year] | | Headquarters | [location] | | Team size | [estimate] | | Funding | [if known] | | Domain rank | [from DataForSEO] | | Est. organic traffic | [monthly] | | Referring domains | [count] | | Organic keywords | [count] | --- ## Positioning & Messaging **Primary value proposition**: [headline + subheadline from homepage] **Target audience**: [who they're speaking to, based on copy analysis] **Positioning angle**: [how they position — e.g., "simplicity-first," "enterprise-grade," "all-in-one"] **Key mes
Related in Security
mac-ops
IncludedComprehensive macOS workstation operations — diagnose kernel panics, identify failing drives, audit launchd startup items, decode wake reasons, triage TCC permission denials, manage APFS snapshots, recover from no-boot. Use for: Mac is slow, slow bootup, won't boot, kernel panic, kernel_task hot, mds_stores CPU, photoanalysisd, cloudd, login loop, gray screen, sleep wake failure, drive failing, IO errors, APFS snapshots eating space, Time Machine local snapshots, Spotlight indexing, launchd, LaunchAgent, LaunchDaemon, login items, TCC permissions, Full Disk Access, Screen Recording denied, Gatekeeper, quarantine, com.apple.quarantine, app is damaged, helper tool, /Library/PrivilegedHelperTools, pmset, wake reasons, dark wake, sysdiagnose, panic.ips, DiagnosticReports, configuration profile, MDM profile, remote diagnostics over SSH.
a11y-audit
IncludedRun accessibility audits on web projects combining automated scanning (axe-core, Lighthouse) with WCAG 2.1 AA compliance mapping, manual check guidance, and structured reporting. Output is configurable: markdown report only, markdown plus machine-readable JSON, or markdown plus issue tracker integration. Use this skill whenever the user mentions "accessibility audit", "a11y audit", "WCAG audit", "accessibility check", "compliance scan", or asks to check a web project for accessibility issues. Also trigger when the user wants to verify WCAG conformance or map findings to a specific standard (CAN-ASC-6.2, EN 301 549, ADA/AODA).
erpclaw
IncludedAI-native ERP system with self-extending OS. Full accounting, invoicing, inventory, purchasing, tax, billing, HR, payroll, advanced accounting (ASC 606/842, intercompany, consolidation), and financial reporting. 413 actions across 14 domains, 43 expansion modules. Constitutional guardrails, adversarial audit, schema migration. Double-entry GL, immutable audit trail, US GAAP.
assess
IncludedAssesses and rates quality 0-10 across multiple dimensions (correctness, maintainability, security, performance, testability, simplicity) with pros/cons analysis. Compares against project conventions and prior decisions from memory. Produces structured evaluation reports with actionable improvement suggestions. Use when evaluating code, designs, architectures, or comparing alternative approaches.
spring-boot-security-jwt
IncludedProvides JWT authentication and authorization patterns for Spring Boot 3.5.x covering token generation with JJWT, Bearer/cookie authentication, database/OAuth2 integration, and RBAC/permission-based access control using Spring Security 6.x. Use when implementing authentication or authorization in Spring Boot applications.
code-hardcode-audit
IncludedDetect hardcoded values, magic numbers, and leaked secrets. TRIGGERS - hardcode audit, magic numbers, PLR2004, secret scanning.