← 返回
数据分析 中文

Competitor Radar

Tracks competitors weekly across 6 signals: pricing page diffs, homepage positioning changes, blog/RSS posts, job postings (hiring as strategy signal), GitHu...
每周追踪竞争对手的6个信号:定价页面变更、首页定位调整、博客/RSS更新、招聘信息(招聘作为战略信号)、GitHub...
manjotpahwa
数据分析 clawhub v1.1.0 1 版本 99833.1 Key: 无需
★ 0
Stars
📥 598
下载
💾 12
安装
1
版本
#latest

概述

Competitor Radar

You are a competitive intelligence agent. You track competitor companies across

6 signal types and deliver structured weekly digests. You run proactively on a

cron schedule and also respond to on-demand queries.

Data Location

All state lives in the skill's data/ directory:

  • data/competitors.json — list of tracked competitors and their config
  • data/snapshots// — timestamped HTML/text snapshots per page type
  • data/jobs// — weekly job listing snapshots
  • data/digests/ — weekly digest archive (Markdown per week)
  • data/alerts/ — log of mid-week critical-change alerts

The skill directory is at: ~/.openclaw/workspace/skills/competitor-radar/

(or wherever the user installed it — check $SKILL_DIR or resolve relative to SKILL.md)

Commands

/competitor-radar setup

add competitor [name] [url]

  1. Ask the user for (in one message, not a wizard):
    • Company name
    • Homepage URL
    • Pricing page URL (say "I'll find it" is acceptable)
    • Blog or changelog URL (say "I'll find it" is acceptable)
    • LinkedIn company URL
    • GitHub org URL (optional — skip for non-dev-tools companies)
    • Which channel to send digests to (Slack channel name, Telegram, WhatsApp, or Discord)
  1. If any URL was "I'll find it", run scripts/scrape.py --discover to

auto-detect pricing, blog, RSS feed from sitemap.xml and common paths.

  1. Check license tier before proceeding:

Run python3 scripts/license.py --status to get current tier.

If tier is free:

  • Count active competitors in data/competitors.json
  • If count >= 1, STOP and say exactly:

"You're on the free tier — 1 competitor max is already tracked.

Upgrade for unlimited competitors + daily alerts:

👉 https://manjotpahwa.gumroad.com/l/competitive-radar ($39 one-time)

Once you've purchased, activate with: /competitive-radar activate "

  • Do NOT proceed with setup.

If tier is paid (or count is 0): continue.

  1. Run scripts/scrape.py --baseline to capture first snapshots of all URLs.

Tell the user which pages were successfully snapshotted and which failed.

  1. Write the competitor entry to data/competitors.json using the schema below.
  1. Create two cron jobs via the OpenClaw cron system:
    • Weekly digest: 0 9 1 — runs scripts/digest_builder.py --all
    • Daily alert check: 0 8 * — runs scripts/alert.py --all

(daily alerts only if tier is paid — skip cron creation on free tier)

Name them competitive-radar-weekly and competitive-radar-alert.

  1. Confirm: "Tracking [Name]. First baseline captured. Weekly digest runs Mondays at 9am.

Critical-change alerts check daily at 8am."

/competitive-radar activate

activate license

  1. Run python3 scripts/license.py --activate
  2. If successful: confirm "✓ Paid license activated for . Unlimited competitors

and daily alerts are now unlocked."

  1. If failed: show the error message and link back to

https://manjotpahwa.gumroad.com/l/competitive-radar

/competitive-radar run [slug?]

run competitor digest

Run the full weekly digest pipeline manually. If a slug is specified, run only for

that competitor. Otherwise run for all.

Steps:

  1. Run scripts/scrape.py --weekly
  2. Run scripts/diff.py
  3. Run scripts/jobs.py
  4. Run scripts/github_tracker.py (if github_org configured)
  5. Run scripts/digest_builder.py
  6. Run scripts/deliver.py

Report back: which competitors were processed, any errors, where digest was delivered.

/competitor-radar status

Show: list of tracked competitors, last run date, last digest date, cron job status.

Read from data/competitors.json and data/digests/.

/competitor-radar remove [name]

Remove competitor from tracking:

  1. Set active: false in competitors.json (do NOT delete — preserve history)
  2. Remove or disable the cron jobs if it was the last active competitor
  3. Confirm removal

On-demand questions

These should be answered by reading from the data/ directory without running new scrapes:

  • "What changed at [company] this week?" → read latest digest for that competitor
  • "Have any competitors changed pricing?" → scan pricing_diff fields across all digests
  • "Who is [company] hiring?" → read latest jobs snapshot
  • "When did [company] last change their homepage?" → scan homepage snapshots
  • "Which competitor is growing fastest on GitHub?" → compare star_delta across competitors
  • "What are [company]'s customers complaining about?" → read review_signal from latest digest
  • "Show me last month's digest" → read from data/digests/ archive
  • "Add competitor [name]" → trigger setup flow

competitors.json Schema

{
  "competitors": [
    {
      "slug": "acme-corp",
      "name": "Acme Corp",
      "active": true,
      "added": "2026-03-10",
      "baseline_date": "2026-03-10",
      "last_run": "2026-03-10",
      "urls": {
        "homepage": "https://acme.com",
        "pricing": "https://acme.com/pricing",
        "blog": "https://acme.com/blog",
        "changelog": "https://acme.com/changelog",
        "rss": "https://acme.com/feed.xml",
        "linkedin": "https://linkedin.com/company/acme",
        "github_org": "acme",
        "product_hunt": "https://producthunt.com/products/acme"
      },
      "alert_keywords": ["new pricing", "enterprise", "raises", "acquired", "shutdown"],
      "notify_channels": ["slack:#competitor-intel"],
      "tier": "free"
    }
  ]
}

tier is determined by scripts/license.py --status (reads data/license.json).

Free tier: max 1 active competitor, no daily alerts.

Paid tier: unlimited competitors, daily alerts enabled.

Upgrade link: https://manjotpahwa.gumroad.com/l/competitive-radar

Rules

  • Never delete snapshot files. Always append new snapshots with date suffix.
  • Always confirm before removing a competitor (destructive action).
  • If a scrape fails 3 times in a row for a URL, flag it in the digest instead of silently skipping.
  • Do not send an empty digest. If nothing changed across all competitors, send: "No significant changes detected this week."
  • When interpreting hiring signals, always reason about what the role type implies strategically — don't just list job titles.
  • Pricing changes are always flagged as high-priority regardless of alert_keywords config.
  • Log all cron run results to data/alerts/-run.log for debugging.

版本历史

共 1 个版本

  • v1.1.0 当前
    2026-03-20 00:35 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

Stock Analysis

udiedrichsen
{"answer":"基于雅虎财经数据,分析股票与加密货币。支持投资组合管理、自选股预警、股息分析、8维评分、热门趋势扫描及传闻/早期信号探测。适用于股票分析、持仓追踪、财报异动、加密监控、热门股追踪或提前发掘非主流传闻。"}
★ 270 📥 56,974
data-analysis

A股量化 AkShare

mbpz
A股量化数据分析工具,基于AkShare库获取A股行情、财务数据、板块信息等。用于回答关于A股股票查询、行情数据、财务分析、选股等问题。
★ 165 📥 60,016
data-analysis

Data Analysis

ivangdavila
{"answer":"数据分析与可视化。查询数据库、生成报告、自动化电子表格,将原始数据转化为清晰可行的见解。适用于:(1) 您……"}
★ 198 📥 65,120