competitor-analyzer
Deep competitive intelligence combining web scraping, LinkedIn data, social media monitoring, leadership analysis, GitHub activity, Glassdoor sentiment, and community insights. Analyzes founders/C-level profiles, tracks real-time signals vs quarterly reports, and creates comprehensive competitor profiles. Use when asked to analyze competitors, research leadership teams, investigate market positioning, compare products/pricing, assess strategic threats, or gather intelligence on founders and key executives.
What this skill does
# Competitor Analyzer
Systematic framework for gathering and analyzing competitive intelligence using Anysite MCP tools.
## When to Use This Skill
Trigger this skill when users ask to:
- "Analyze [competitor name]"
- "Research our competitors"
- "Create a competitive analysis of [company]"
- "How does [competitor] position themselves?"
- "What are [competitor]'s strengths and weaknesses?"
- "Compare our product with [competitor]"
- "Who are our main competitors?"
- "Build a battle card for [competitor]"
## Quick Start
**For single competitor analysis:**
```bash
# 1. Generate analysis template
python scripts/analyze_competitor.py "Competitor Name" "https://competitor.com"
# 2. Use Anysite tools to gather data (see workflow below)
# 3. Fill in the JSON template with findings
# 4. Generate final report
python scripts/analyze_competitor.py "Competitor Name" "https://competitor.com" | \
python -c "import sys,json; exec('from scripts.analyze_competitor import format_markdown_report; print(format_markdown_report(json.load(sys.stdin)))')" \
> /mnt/user-data/outputs/competitor_report.md
```
## Analysis Workflow
### Phase 1: Foundation (15-20 min)
**Step 1: Initialize Analysis Structure**
Run the analysis script to create structured template:
```bash
python scripts/analyze_competitor.py "Competitor Name" "https://competitor.com" > /tmp/analysis.json
```
**Step 2: Web Presence Reconnaissance**
Scrape key pages to understand positioning:
```python
# Homepage - core messaging
Anysite:parse_webpage({
"url": "https://competitor.com",
"only_main_content": true,
"strip_all_tags": true
})
# Pricing - cost structure
Anysite:parse_webpage({
"url": "https://competitor.com/pricing",
"only_main_content": true
})
# About - company background
Anysite:parse_webpage({
"url": "https://competitor.com/about",
"only_main_content": true,
"extract_contacts": true
})
```
**Extract from homepage:**
- H1/H2 headlines → positioning_statement
- Feature bullets → core_features
- Customer logos → customer_logos
- Value prop → value_proposition
**Extract from pricing:**
- Tier names and prices → pricing.tiers
- Cost per unit → pricing.unit_economics
- Free tier details → pricing.free_tier_limits
- Entry price → pricing.entry_price
**Extract from about:**
- Company description → company_overview.description
- Location → company_overview.headquarters
- Team size hints → company_overview.employee_count
### Phase 2: LinkedIn Intelligence (10-15 min)
**Step 3: Find Company Profile**
```python
# Search for company
Anysite:search_linkedin_companies({
"keywords": "competitor name",
"count": 5
})
# Get detailed profile using slug from search results
Anysite:get_linkedin_company({
"company": "company-slug-from-search"
})
```
**Extract:**
- `follower_count` → Online presence indicator
- `employee_count` → Company size
- `description` → Self-positioning
- `headquarters` → Location
- `specialties` → Keywords they emphasize
**Step 4: Analyze Team & Growth**
```python
# Check employee growth signals
Anysite:get_linkedin_company_employees({
"companies": ["company-slug"],
"keywords": "engineer developer",
"count": 50
})
# Find leadership
Anysite:get_linkedin_company_employees({
"companies": ["company-slug"],
"keywords": "CEO founder",
"count": 10
})
```
**Use findings to assess:**
- Team size → growth_indicators.employee_growth
- Eng:sales ratio → GTM strategy signal
- Recent hires → growth phase indicator
**Step 5: Content Strategy**
```python
# Analyze posting activity
Anysite:get_linkedin_company_posts({
"urn": "company-urn-from-profile",
"count": 20
})
```
**Analyze posts for:**
- Frequency → content_strategy.blog_frequency
- Themes → content_strategy.key_topics
- Engagement → online_presence.linkedin.engagement_quality
- Tone → content_strategy.tone_of_voice
### Phase 3: Deep Social & Community Research (20-30 min)
**Step 6: Twitter Deep Dive**
**A. Company Account Analysis**
```python
# Get profile stats
Anysite:get_twitter_user({
"user": "competitor_handle"
})
# Recent activity (analyze more posts)
Anysite:get_twitter_user_posts({
"user": "competitor_handle",
"count": 100
})
```
**Extract from company account:**
- Followers → reach indicator
- Tweet frequency → activity level
- Content mix (product updates, thought leadership, customer engagement)
- Response time to mentions
- Tone of voice
- Most engaging tweets (viral content patterns)
**B. Founder/Executive Twitter Presence**
```python
# Find and analyze founder accounts
Anysite:get_twitter_user({
"user": "founder_handle"
})
Anysite:get_twitter_user_posts({
"user": "founder_handle",
"count": 100
})
```
**Leadership Twitter signals:**
- Personal brand strength
- Technical credibility (what they share)
- Customer engagement quality
- Industry thought leadership
- Follower quality (who follows them)
- Retweet patterns (what they amplify)
**C. Brand Mentions & Sentiment**
```python
# Comprehensive mention search
Anysite:search_twitter_posts({
"query": "competitor_name OR @handle OR #competitor_hashtag",
"count": 200
})
# Problem/complaint mentions
Anysite:search_twitter_posts({
"query": "competitor_name (problem OR issue OR bug OR slow OR expensive)",
"count": 100
})
# Positive sentiment
Anysite:search_twitter_posts({
"query": "competitor_name (love OR great OR amazing OR best OR solved)",
"count": 100
})
# Competitive mentions
Anysite:search_twitter_posts({
"query": "competitor_name vs OR competitor_name alternative OR switching from competitor_name",
"count": 100
})
```
**Sentiment scoring:**
```
For each mention batch, calculate:
- Positive mentions: praise, recommendations, success stories
- Negative mentions: complaints, frustrations, churn signals
- Neutral mentions: questions, feature discussions
- Competitive mentions: comparisons with alternatives
Sentiment Score = (Positive - Negative) / Total
Range: -1.0 (very negative) to +1.0 (very positive)
```
**D. Customer Voice Analysis**
```python
# Find actual users
Anysite:search_twitter_posts({
"query": "using competitor_name OR tried competitor_name",
"count": 100
})
# Power users
Anysite:search_twitter_posts({
"query": "@handle thanks OR @handle helped OR @handle support",
"count": 50
})
```
**Extract:**
- Real use cases (what customers actually do)
- Pain points (what they struggle with)
- Success stories (what works well)
- Feature requests (what they want)
- Support quality (how fast company responds)
**Step 7: Reddit Deep Community Intelligence**
**A. Brand Presence Mapping**
```python
# General mentions across Reddit
Anysite:search_reddit_posts({
"query": "competitor_name",
"count": 100
})
# Industry-specific subreddits
relevant_subs = [
"SaaS", "startups", "Entrepreneur", # Business
"webdev", "programming", "devops", # Tech
"nocode", "automation", # No-code
"datascience", "analytics" # Data
]
for sub in relevant_subs:
Anysite:search_reddit_posts({
"query": "competitor_name",
"subreddit": sub,
"count": 50
})
```
**B. Competitive Discussions**
```python
# Direct comparisons
Anysite:search_reddit_posts({
"query": "competitor_name vs",
"count": 100
})
# Alternative searches
Anysite:search_reddit_posts({
"query": "alternative to competitor_name",
"count": 100
})
Anysite:search_reddit_posts({
"query": "better than competitor_name",
"count": 50
})
# Problem space
Anysite:search_reddit_posts({
"query": "[problem they solve] tools OR solutions",
"count": 100
})
```
**C. Deep Thread Analysis**
For high-engagement threads, get comments:
```python
# Get specific post details
Anysite:get_reddit_post({
"post_url": "reddit.com/r/subreddit/comments/..."
})
# Get all comments
Anysite:get_reddit_post_comments({
"post_url": "reddit.com/r/subreddit/comments/..."
})
```
**Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.