关于 company-radar
company-radar 是用于竞品情报的 Agent 技能,面向需要跟踪多家公司的团队。它并行汇集多个平台的动态,按 0–100 分计算热度并生成结构化报告。
主要功能
- 01并行收集 8 个渠道信号
- 02按 0–100 分计算热度
- 03生成公司简报与雷达报告
- 04标注数据缺失和渠道故障
- 05支持定期运行与分数提醒
适用场景
- 01比较多家公司的近期活动
- 02发现招聘、发布和社区热度信号
- 03查看公司热度排名与分项得分
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ varnan-tech/ opendirectory --skill company-radar安装后在 Claude Code 中输入/company-radar确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/company-profile-format.mdheat-score-methodology.mdradar-report-template.mdskill-integration-map.mdscripts/heat-score-calc.mjs详细介绍
公司雷达
竞争情报编排器。 输入公司名称,在 8 个以上平台上并行开展研究,按 0–100 的热度量表为每家公司评分,并生成包含 AI 简报的结构化雷达报告。
这是一项编排技能。它将数据收集工作委托给现有的 opendirectory 微技能,并协调它们的输出——而不是取代这些技能。
架构
INPUT: Company name(s) / URL(s)
|
[1. Profile Phase] -- Web research to build company profiles
|
[2. Signal Collection] -- Parallel platform research (8 channels)
/ | | | | | \ \
GH TW RD HN PH YC WEB MEDIA
|
[3. Scoring Engine] -- 4-dimension heat score (0-100)
|
[4. AI Synthesis] -- Executive briefing generation
|
OUTPUT: Radar Report + Per-Company Deep Dives
信号渠道及其 Opendirectory 映射
| 渠道 | Opendirectory 技能 | 检测内容 |
|---|---|---|
| GitHub | gh-issue-to-demand-signal + 网络搜索 | Stars、fork、提交、发布、交付速度 |
| Twitter/X | twitter-GTM-find-skill | 推文、提及、互动、创始人动态 |
reddit-icp-monitor、reddit-post-engine | 社区情绪、痛点、热度 | |
| Hacker News | hackernews-intel | 帖子提及、得分、首页信号 |
| Product Hunt | producthunt-launch-kit | 发布、投票、创作者动态 |
| YC Jobs | yc-intent-radar-skill / yc-jobs-scraper | 职位列表、招聘部门、增长信号 |
| 网络 / 媒体 | Tavily 搜索 + competitor-pr-finder | 新闻、产品公告、融资 |
| 定价 | pricing-finder | 定价变更、套餐更新、方案结构 |
| 市场定位 | map-your-market | ICP、竞争格局、信息传达差距 |
常见错误
| Agent 会想要…… | 为什么不对 |
|---|---|
| 按顺序运行技能 | 所有 8 个信号渠道彼此独立,必须并行运行。 |
| 臆造 GitHub Star 数或招聘人数 | 每个数据点都必须能追溯到具体搜索结果或技能输出。不能写“约 500 个 Star”。 |
| 跳过热度评分计算 | 雷达报告必须包含评分结果,不能只是原始数据罗列。热度评分是核心差异化所在。 |
| 因某项技能失败而输出不完整报告 | 一个渠道失败不会阻碍完整报告。根据已有数据评分,并注明缺失项。 |
| 使用 AI 训练知识撰写公司简介 | 每份公司简介都必须基于实时网络研究,而非记忆。 |
| 忘记根据热度评分评定活跃度 | 热度评分有明确阈值:高(60+)、中(30–59)、低(1–29)、休眠(0)。 |
步骤 1:检查设置
检查用户所用平台支持的渠道是否可以访问所需 API 密钥:
if [ -z "$TAVILY_API_KEY" ]; then echo "TAVILY_API_KEY: NOT SET -- required for web enrichment"; else echo "TAVILY_API_KEY: configured"; fi
if [ -z "$GITHUB_TOKEN" ]; then echo "GITHUB_TOKEN: not set -- GitHub API rate limited to 60 req/hr"; else echo "GITHUB_TOKEN: configured"; fi
所编排的具体技能各自有 API 密钥要求。请查看每项技能的 SKILL.md 了解详情。完整运行所需的密钥:
TAVILY_API_KEY—— 网络搜索和公司信息补充(在 app.tavily.com 获取)GITHUB_TOKEN—— GitHub API 访问权限(在 github.com/settings/tokens 获取)
如果缺少 TAVILY_API_KEY:停止并告知用户。没有它,无法进行公司画像和网络信息补充。
步骤 2:解析输入
从对话中收集:
companies:要跟踪的公司名称 / URL 列表(必填,每次运行至少 1 家,最多 10 家)output_preference:“完整报告”(默认)、“仅提醒”、“仅简报”或“仅热度评分”(仅排行榜表格和评分,不做深入分析)timeframe:“实时”(默认)、“上周”或“上月”
**如果用户只提供一家公司的名称:**仍然运行完整的雷达流程。单公司雷达有效——获取完整画像。
**如果公司超过 10 家:**告诉用户“每次雷达扫描最多支持 10 家公司。我会先处理前 10 家。如果你想替换其中任何一家,请告诉我。”
询问用户是否知道任何公司的具体账号信息:
- GitHub 组织名称(如果与公司名称不同)
- Twitter 账号
- YC 批次(如果是 YC 公司)
- Product Hunt slug
这能节省研究时间。如果用户不知道,画像阶段会负责查找。
步骤 3:公司画像阶段
对每家公司,在开展平台研究之前先建立基本画像。
步骤 3a:初步网络信息补充
对每家公司运行 Tavily 搜索,以查找:
[company name] official website twitter github linkedin producthunt yc founders
从搜索结果中提取:
- 域名/网站 URL
- 描述(2-3 句)
- Twitter 账号(从结果中的 twitter.com/X.com URL 获取)
- GitHub 组织(从 github.com URL 获取)
- LinkedIn URL
- Product Hunt 标识
- YC 批次和 URL(如适用)
- 创始人姓名和 Twitter 账号
输出格式: 为每家公司生成一个符合 references/company-profile-format.md 的资料对象。
步骤 3b:向用户确认
显示发现的资料,并请用户确认或更正,然后再继续。
## Discovered Company Profiles
| Company | Domain | Twitter | GitHub | YC Batch | Founders |
|---|---|---|---|---|---|
| ... | ... | ... | ... | ... | ... |
Correct any incorrect handles before I proceed to signal collection?
等待用户确认。不要跳过此步骤——错误的账号会导致信号错误。
步骤 4:并行收集信号
现在针对所有已确认的公司,并行开展所有平台的调研。
信号收集图
针对每个平台,使用适当的方法。同时运行所有平台,不要依次运行。
GitHub 信号
使用网络搜索(Tavily)查找 GitHub 组织,然后搜索:
github.com/[org] stars forks commits
提取:
- 仓库总星标数
- 总复刻数
- 最近提交(过去 7 天)
- 最近发布版本(过去 30 天)
- 最近推送日期
- 主要编程语言
- 未解决 Issue 数量
或者调用 gh-issue-to-demand-signal skill,深入分析 GitHub Issues 中的需求信号。
Twitter/X 信号
使用 twitter-GTM-find-skill 或 Tavily 搜索:
twitter.com/[handle] site:twitter.com [company] startup
提取:
- 最近推文数量(过去 24 小时)
- 提及量
- 创始人的推文活跃度
- 关键主题/话题标签
Reddit 信号
使用 reddit-icp-monitor 方法或 Tavily 搜索:
site:reddit.com [company name] [product category]
提取:
- 提及数量
- 帖子得分(赞数)
- 情绪(正面/负面/混合)
- 主要抱怨或赞扬
- 相关 subreddit
Hacker News 信号
使用 hackernews-intel 方法或 HN Algolia API 搜索:
site:news.ycombinator.com [company name]
提取:
- 文章数量
- 总积分
- 首页文章
- 关键主题
Product Hunt 信号
使用 producthunt-launch-kit 方法或 Tavily 搜索:
site:producthunt.com [company name] products
提取:
- 最近发布
- 赞数
- 评论/情绪
- 发布频率
YC 招聘信号
使用 yc-intent-radar-skill/yc-jobs-scraper 方法或 Tavily 搜索:
site:workatastartup.com [company name] OR site:ycombinator.com/companies [company name]
提取:
- 招聘职位数量
- 职位名称/角色
- 部门分布(工程、销售、市场营销等)
- 地点/远程办公状态
网络/媒体报道信号
使用 Tavily 搜索:
[company name] funding announcement product launch news 2026
提取:
- 最近的融资轮次
- 产品发布
- 媒体报道中宣布的关键招聘
- 合作伙伴公告
定价信号(可选,用户需要定价情报时运行)
使用 pricing-finder skill 或 Tavily 搜索:
[company name] pricing plans 2026
提取:
- 定价层级
- 套餐结构变更
- 免费套餐与付费套餐
处理失败情况
- 如果任何渠道返回 0 条结果,在报告中注明“未检测到信号”
- 如果任何 skill 不可用(缺少 API 密钥),注明“渠道不可用”
- 绝不要凭记忆编造数据。若无法找到数据,请标记为未找到。
- 单个渠道没有结果,不会使整份报告失效。
步骤 5:热度评分计算
使用随附的 scripts/heat-score-calc.mjs 为每家公司评分。此脚本实现了 references/heat-score-methodology.md 中的四维评分算法。
运行方法
将所有信号数据收集到符合此架构的 JSON 文件中:
{
"companies": [{
"name": "CompanyName",
"signals": {
"stars": null, "forks": null, "ph_votes": null,
"commits_week": null, "releases_month": null,
"active_shipping": false, "last_activity_days": null,
"tweets_24h": null, "mentions": null,
"reddit_posts": null, "reddit_score": null,
"hn_stories": null, "hn_points": null,
"youtube_videos": null,
"jobs": null, "dept_count": null,
"sentiment": null, "traction": null
}
}]
}
为每个字段填入发现的值。未找到的内容留空为 null——脚本会将 null 视为 0。
然后运行:
node scripts/heat-score-calc.mjs --file signals.json
或通过管道传入:
echo '{"companies":[...]}' | node scripts/heat-score-calc.mjs
返回内容
脚本输出包含各公司结果的 JSON:
{
"generated_at": "2026-05-29T...",
"company_count": 3,
"companies": [
{
"name": "Vercel",
"heat_score": 89,
"level": "High",
"dimensions": {
"authority": { "score": 25, "max": 25, "breakdown": {...} },
"shipping": { "score": 25, "max": 25, "breakdown": {...} },
"social": { "score": 17, "max": 25, "breakdown": {...} },
"growth": { "score": 22, "max": 25, "breakdown": {...} }
},
"alerts": [...]
}
]
}
每家公司包含:
heat_score— 总分 0-100level— 高(60+)、中(30-59)、低(1-29)、休眠(0)dimensions— 各维度的得分、满分和分项明细alerts— 自动检测到的重要信号
评分规则(在脚本中实现)
以下是脚本采用的公式。此处将其记录下来以确保透明:
| 维度 | 信号 | 最高分 |
|---|---|---|
| 权威性 | GitHub 星标数(min(15, stars/1000*3))、分叉数(min(5, forks/200*2))、PH 投票数(min(5, votes/100*5)) | 25 |
| 发布情况 | 每周提交数(min(10, commits*2))、每月发布数(大于 0 时得 5 分)、活跃标记(5 分)、近期活跃情况(少于 7 天得 5 分,少于 30 天得 3 分) | 25 |
| 社交影响力 | 推文(5 分)、提及(5 分)、Reddit 帖子(3 分)+ 得分(2 分)、HN 故事(4 分)+ 点数(3 分)、YouTube(3 分) | 25 |
| 增长情况 | 职位(min(10, jobs*3))、部门多样性(min(5, dept_count*2))、AI 情绪(5 分)、AI 吸引力(5 分) | 25 |
- 每个维度最高 25 分。缺失的信号计 0 分。切勿估算数据。
- 完整方法和边缘情况见
references/heat-score-methodology.md。
第 6 步:生成 AI 高管简报
对于评分高于 0 的每家公司(即检测到任意信号的公司),使用收集到的数据生成 AI 高管简报。
简报必须涵盖:
**Executive Brief: [Company Name]**
**Context:** 1-2 sentences on what they do and their market position
**Heat Score:** [score]/100 — [Activity Level]
**Recent Activity:**
- Product: key product or launch signals found
- Hiring: hiring status, departments, notable roles
- Community: sentiment summary from Reddit/HN/Twitter
**Threat Assessment:**
- Competitive threat level: [Low / Medium / High]
- Rationale: 2-3 sentences on why
**Key Signal (most important takeaway):**
One sentence on the single most important thing happening with this company.
**Data Confidence:**
What channels had good data vs what was missing.
规则:
- 简报中的每项主张都必须有收集到的数据作为依据
- “数据置信度”部分为必填项——如实说明数据缺口
- 威胁评估应与雷达图中的其他公司进行比较,而不是孤立评估
- 每份简报不得超过 250 个词
第 7 步:汇总并输出雷达报告
将所有内容整理成结构化的雷达报告。具体输出结构见 references/radar-report-template.md。
报告应包括:
- 执行摘要 — 核心发现及公司排名
- 热度评分排行榜 — 所有公司的排名表
- 逐家公司深入分析 — 每家公司均包含完整档案、信号数据、评分细目和 AI 简报
- 信号提醒 — 检测到的显著事件(招聘激增、病毒式传播、发布)
- 数据质量说明 — 哪些渠道有数据,哪些渠道缺失
以 Markdown 格式输出,可直接复制到 Slack、Notion、Google Docs 或电子邮件中。
第 8 步:可选 — 设置定期雷达监测
如果用户希望持续监测:
- 保存公司列表和 API 配置
- 设置 cron 计划(GitHub Actions 或系统 cron)
- 每次运行都会生成一份更新后的报告
- 配置评分变动提醒(例如:“任何公司分数跃升 20 分以上时发出提醒”)
此技能是一个协调器——每次运行都会重新执行完整流程。