본문으로 건너뛰기
cccskills
무료GitHub에 공개

competitive-radar

Tracks competitors weekly across 6 signals: pricing page diffs, homepage positioning changes, blog/RSS posts, job postings (hiring as strategy signal), GitHub star velocity and releases, and daily critical-change alerts for pricing or funding keywords. Delivers a structured digest to Slack, Telegram, WhatsApp, or Discord every Monday. Fires same-day alerts for critical changes. Use when asked to "add competitor", "track competitor", "competitor digest", "what changed at [company]", "competitor report", "monitor [company]", "who is [company] hiring", "did [company] change pricing".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(14)

  • SKILL.md7.2 KB
  • _meta.json136 B
  • .clawhub/origin.json149 B
  • data/competitors.json2.5 KB
  • README.md4.0 KB
  • requirements.txt399 B
  • scripts/alert.py10.1 KB
  • scripts/deliver.py12.3 KB
  • scripts/diff.py10.8 KB
  • scripts/digest_builder.py13.4 KB
  • scripts/github_tracker.py8.4 KB
  • scripts/jobs.py13.7 KB
  • scripts/license.py5.6 KB
  • scripts/scrape.py17.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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/<slug>/ — timestamped HTML/text snapshots per page type
  • data/jobs/<slug>/ — 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)
  2. If any URL was "I'll find it", run scripts/scrape.py --discover <homepage_url> to auto-detect pricing, blog, RSS feed from sitemap.xml and common paths.

  3. 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 <your-key>"
    • Do NOT proceed with setup.

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

  4. Run scripts/scrape.py --baseline <slug> to capture first snapshots of all URLs. Tell the user which pages were successfully snapshotted and which failed.

  5. Write the competitor entry to data/competitors.json using the schema below.

  6. 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.
  7. Confirm: "Tracking [Name]. First baseline captured. Weekly digest runs Mondays at 9am. Critical-change alerts check daily at 8am."

/competitive-radar activate <license_key>

activate license <key>

  1. Run python3 scripts/license.py --activate <license_key>
  2. If successful: confirm "✓ Paid license activated for <email>. Unlimited competitors and daily alerts are now unlocked."
  3. 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 <slug>
  2. Run scripts/diff.py <slug>
  3. Run scripts/jobs.py <slug>
  4. Run scripts/github_tracker.py <slug> (if github_org configured)
  5. Run scripts/digest_builder.py <slug>
  6. Run scripts/deliver.py <slug>

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/<date>-run.log for debugging.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

监控 A 股基金实时估值与盘后净值,自动判断交易日并生成提醒或分析。

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aAAaqwq/openclaw-team22026년 6월 18일 업데이트

You are an accessibility expert specializing in WCAG compliance, inclusive design, and assistive technology compatibility. Conduct audits, identify barriers, and provide remediation guidance.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aAAaqwq/openclaw-team22026년 6월 18일 업데이트

Expert sales execution covering pipeline management, discovery, demos, negotiation, and deal closing. Use when qualifying opportunities, running MEDDIC discovery, building account plans, handling objections, structuring proposals, or forecasting pipeline.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aAAaqwq/openclaw-team22026년 6월 18일 업데이트

Support accounting understanding from basic bookkeeping to professional practice and research.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aAAaqwq/openclaw-team22026년 6월 18일 업데이트

Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aAAaqwq/openclaw-team22026년 6월 18일 업데이트

add-lead

무료

Add company/person/relationship to CRM

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aAAaqwq/openclaw-team22026년 6월 18일 업데이트

aAAaqwq의 스킬 모두 보기

이 스킬의 문제 신고