AgentSkillsCN

competitor-analysis

爬取竞争对手网站,提取其功能特性,并以开发工时为单位估算重新实现的成本。将结果存储于 SQLite/Turso 数据库中,以便后续可视化分析。当需要分析竞争对手产品、从 URL 中提取功能列表、估算开发工作量,或构建竞争情报数据库时,可使用此功能。

SKILL.md
--- frontmatter
name: competitor-analysis
description: Scrape competitor websites to extract features and estimate reimplementation costs in developer hours. Store results in SQLite/Turso for visualization. Use when analyzing competitor products, extracting feature lists from URLs, estimating development effort, or building competitive intelligence databases.

Competitor Analysis

Extract features from competitor websites and estimate reimplementation costs.

Workflow

  1. Initialize database (first time only)

    bash
    python scripts/init_db.py <path>.db
    # or for Turso:
    python scripts/init_db.py libsql://your-db.turso.io --token <TOKEN>
    
  2. Scrape competitor URL(s) using WebFetch tool

  3. Extract features from page content:

    • Identify distinct product capabilities
    • Note feature name, description, source URL
    • Assign category (core/integration/ui-ux/security/analytics/collaboration/automation/admin)
  4. Estimate complexity for each feature:

    • simple (2-8h): Standard CRUD, basic UI, config toggles
    • medium (8-24h): Multi-step flows, 3rd-party integrations, dashboards
    • complex (24-80h): Real-time collab, ML/AI, custom engines
    • See references/cost-estimation.md for detailed rubrics
  5. Store in database:

    sql
    -- Add competitor
    INSERT INTO competitors (name, url) VALUES ('Acme', 'https://acme.com');
    
    -- Add feature
    INSERT INTO features (competitor_id, name, description, category_id, complexity, estimated_hours_min, estimated_hours_max, source_url)
    VALUES (1, 'Real-time notifications', 'Push notifications across devices',
            (SELECT id FROM categories WHERE name = 'core'), 'medium', 12, 20, 'https://acme.com/features');
    
    -- Log analysis run
    INSERT INTO analysis_runs (competitor_id, urls_analyzed, features_found)
    VALUES (1, '["https://acme.com/features"]', 15);
    
  6. Query results:

    sql
    SELECT * FROM feature_summary WHERE competitor_name = 'Acme';
    SELECT * FROM competitor_cost_summary;
    
  7. Generate interactive dashboard:

    bash
    python scripts/generate_dashboard.py <path>.db [output_dir] [--serve]
    

    Opens browser with feature selection UI. Select features, filter by category/complexity, export as JSON/CSV.

Database Schema

TablePurpose
competitorsCompany name, URL, timestamps
categoriesFeature categories (seeded with defaults)
featuresExtracted features with complexity and hour estimates
analysis_runsTracks scraping sessions
feature_summaryView joining features with competitor/category names
competitor_cost_summaryView with aggregated hour totals per competitor

Output Example

After analyzing a competitor:

code
Competitor: Acme Corp (https://acme.com)
Features found: 23

| Feature | Category | Complexity | Hours (min-max) |
|---------|----------|------------|-----------------|
| SSO/SAML | security | complex | 32-48 |
| Dashboard builder | analytics | complex | 40-60 |
| Slack integration | integration | medium | 12-20 |
| Dark mode | ui-ux | simple | 4-6 |

Total estimate: 280-420 hours