competitor-profiling

Generates structured competitor profile markdown files from URLs using site scraping and SEO data.

1|Updated Aug 17, 2026
One-click install
npx skills add https://github.com/Marshal-Nguyen/Skill_Claude_Agent --skill competitor-profiling-marshal-nguyen
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: competitor-profiling
Source: https://github.com/Marshal-Nguyen/Skill_Claude_Agent/tree/main/claude/skills/competitor-profiling
Command: npx skills add https://github.com/Marshal-Nguyen/Skill_Claude_Agent --skill competitor-profiling-marshal-nguyen

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Researching competitors manually means visiting dozens of pages, copying pricing tables, and pulling SEO metrics by hand. This Skill automates that research by scraping competitor websites with Firecrawl, pulling backlink and keyword intelligence from DataForSEO, and synthesizing everything into consistent, comparable markdown profiles. ## Core Features & Use Cases - Automated Site Scraping: Maps each competitor's site with Firecrawl, then scrapes homepage, pricing, features, about, customers, integrations, and changelog pages to extract positioning, pricing tiers, and product direction signals. - SEO & Market Intelligence: Pulls domain rank, organic traffic estimates, ranked keywords, referring domains, and competitor overlap data via DataForSEO MCP tools. - Structured Output with Raw Data Archiving: Saves raw scrapes, SEO JSON, and review data to dated folders for auditing and diffing, then produces one profile per competitor plus a cross-competitor summary with comparison table and positioning map. - Use Case: Given three competitor URLs, produce a deep profile of each (positioning, pricing, SEO strength, review sentiment) plus a summary document highlighting positioning gaps your product can exploit. ## Quick Start Profile these competitors for me: https://competitor1.com and https://competitor2.com, using a deep profile with focus on pricing and SEO strength.

Frequently Asked Questions about competitor-profiling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I profile competitors from their URLs?▼

Provide the list of competitor URLs and the skill maps each site with Firecrawl, scrapes key pages (homepage, pricing, features, about, customers, integrations, changelog), pulls SEO metrics from DataForSEO, and synthesizes one markdown profile per competitor plus a summary document.

What pages should I scrape for competitor analysis?▼

Prioritize homepage, pricing, features, about, customers, integrations, and changelog pages. Optionally scrape review sources like G2, Capterra, Product Hunt, and TrustRadius for ratings, praise themes, and complaint themes.

What is the difference between quick scan and deep profile?▼

Quick scan scrapes only homepage and pricing plus domain rank overview and ranked keywords summary, producing an abbreviated profile. Deep profile adds all key pages, review mining, full backlink analysis, and technology stack detection. Quick scan is the default unless profiling three or fewer competitors.

Can I skip the SEO data collection in competitor profiling?▼

Yes, you can request only specific dimensions like pricing, positioning, and customer logos. The skill then skips DataForSEO calls, runs scraping and synthesis only, and flags the SEO section as not collected rather than leaving placeholders.

Should I update an old competitor profile or start fresh?▼

Update it. Re-pull the pricing page first, refresh SEO metrics, scan the changelog, update the generated date, and append a Change Log section. Save new raw data to a new dated folder so snapshots can be diffed over time.

What happens when Firecrawl scraping fails or DataForSEO returns no data?▼

For blocked or empty scrapes, retry with a browser-based scrape for JavaScript-heavy sites. If DataForSEO returns nothing, the domain is likely too new or small, so the profile notes insufficient data. Rate limits are handled by spacing requests and prioritizing high-value data.