Company Radar
競爭情報編排器。 接收公司名稱,在 8 個以上平台上平行研究,為每家公司在 0-100 的熱度量表上評分,並產出結構化的雷達報告與 AI 簡報。
這是一項編排技能。它將資料收集委派給現有的 opendirectory 微技能,並協調它們的輸出——它並不會取代這些微技能。
架構
輸入:公司名稱 / URL
|
[1. 檔案階段] -- 網路研究以建立公司檔案
|
[2. 訊號收集] -- 平行平台研究(8 個頻道)
/ | | | | | \ \
GH TW RD HN PH YC WEB MEDIA
|
[3. 評分引擎] -- 4 維度熱度分數(0-100)
|
[4. AI 綜合] -- 高階簡報產生
|
輸出:雷達報告 + 各公司深度解析
訊號頻道及其 Opendirectory 對應
| 頻道 | Opendirectory 技能 | 偵測目標 |
|---|---|---|
| GitHub | gh-issue-to-demand-signal + 網路搜尋 | 星數、分支數、提交數、版本發布、發布速度 |
| 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、競爭者地圖、訊息落差 |
常見錯誤
| 代理人可能會... | 為什麼那是錯的 |
|---|---|
| 順序執行技能 | 所有 8 個訊號頻道都是獨立的。必須平行執行。 |
| 幻覺 GitHub 星數或招聘人數 | 每個資料點都必須能追溯到特定的搜尋結果或技能輸出。不能有「大約 500 顆星」。 |
| 跳過熱度分數計算 | 雷達報告需要評分後的輸出,而不只是原始數據傾倒。熱度分數是核心差異化指標。 |
| 因為某個技能失敗而輸出不完整的報告 | 一個失敗的頻道不會阻礙整個報告。根據已有的資料評分,並註明缺口。 |
| 用 AI 訓練知識來描述公司 | 每家公司描述都必須來自即時的網路研究,而非從記憶中提取。 |
| 忘記根據熱度分數來評分活動等級 | 熱度分數有明確的門檻:高(60+)、中(30-59)、低(1-29)、休眠(0)。 |
步驟 1:設定檢查
檢查使用者平台支援的頻道所需的 API 金鑰是否可存取:
if [ -z "$TAVILY_API_KEY" ]; then echo "TAVILY_API_KEY: 未設定 -- 網路擴充需要此金鑰"; else echo "TAVILY_API_KEY: 已設定"; fi
if [ -z "$GITHUB_TOKEN" ]; then echo "GITHUB_TOKEN: 未設定 -- GitHub API 速率限制為每小時 60 次請求"; else echo "GITHUB_TOKEN: 已設定"; 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 搜尋以發現:
[公司名稱] 官方網站 twitter github linkedin producthunt yc 創辦人
從搜尋結果中提取:
- 網域 / 網站 URL
- 描述(2-3 句話)
- Twitter 帳號(來自結果中的 twitter.com/X.com URL)
- GitHub 組織(來自結果中的 github.com URL)
- LinkedIn URL
- Product Hunt slug
- YC 批次與 URL(如果適用)
- 創辦人姓名與 Twitter 帳號
輸出格式: 為每家公司產出一個遵循 references/company-profile-format.md 的檔案物件。
步驟 3b:與使用者確認
顯示發現的檔案,並要求使用者確認或修正後再繼續。
## 發現的公司檔案
| 公司 | 網域 | Twitter | GitHub | YC 批次 | 創辦人 |
|---|---|---|---|---|---|
| ... | ... | ... | ... | ... | ... |
在繼續訊號收集之前,請修正任何不正確的代號?
等待使用者確認。不要跳過這個步驟——錯誤的代號會導致錯誤的訊號。
步驟 4:平行訊號收集
現在,平行 在所有平台上對所有已確認的公司進行研究。
訊號收集對應
針對每個平台,使用適當的方法。同時執行所有平台——不要循序執行。
GitHub 訊號
使用網路搜尋(Tavily)尋找 GitHub 組織,然後搜尋:
github.com/[組織] stars forks commits
提取:
- 所有儲存庫的總星數
- 所有儲存庫的總分支數
- 近期提交(最近 7 天)
- 近期版本發布(最近 30 天)
- 最後推送日期
- 主要語言
- 未解決問題數量
或者,如果您想從 GitHub Issues 中進行更深層的需求訊號分析,可以呼叫 gh-issue-to-demand-signal 技能。
Twitter/X 訊號
使用 twitter-GTM-find-skill 或 Tavily 搜尋:
twitter.com/[帳號] site:twitter.com [公司] startup
提取:
- 近期推文數量(最近 24 小時)
- 提及量
- 創辦人推文活動
- 關鍵主題/標籤
Reddit 訊號
使用 reddit-icp-monitor 方法或 Tavily 搜尋:
site:reddit.com [公司名稱] [產品類別]
提取:
- 提及次數
- 貼文分數(讚數)
- 情緒(正面/負面/混合)
- 關鍵抱怨或讚美
- 相關 subreddit
Hacker News 訊號
使用 hackernews-intel 方法或 HN Algolia API 搜尋:
site:news.ycombinator.com [公司名稱]
提取:
- 故事數量
- 總分數
- 首頁故事數量
- 關鍵主題
Product Hunt 訊號
使用 producthunt-launch-kit 方法或 Tavily 搜尋:
site:producthunt.com [公司名稱] products
提取:
- 近期發布
- 讚數
- 留言/情緒
- 發布頻率
YC Jobs 訊號
使用 yc-intent-radar-skill / yc-jobs-scraper 方法或 Tavily 搜尋:
site:workatastartup.com [公司名稱] OR site:ycombinator.com/companies [公司名稱]
提取:
- 開放職缺數量
- 職稱/角色
- 部門分布(工程、銷售、行銷等)
- 地點/遠端狀態
網路 / 新聞訊號
使用 Tavily 搜尋:
[公司名稱] funding announcement product launch news 2026
提取:
- 近期募資輪次
- 產品發布
- 新聞中宣布的關鍵招聘
- 合作夥伴公告
定價訊號(可選,如果使用者想要定價情報則執行)
使用 pricing-finder 技能或 Tavily 搜尋:
[公司名稱] pricing plans 2026
提取:
- 定價層級
- 方案結構變更
- 免費層級 vs 付費層級
處理失敗
- 如果任何頻道回傳 0 個結果,在報告中註明「未偵測到訊號」
- 如果任何技能不可用(API 金鑰遺失),註明「頻道不可用」
- 永遠不要憑記憶編造數據。如果您找不到,將其標記為未找到。
- 一個空的頻道不會使整個報告失效。
步驟 5:熱度分數計算
使用隨附的 scripts/heat-score-calc.mjs 來為每家公司評分。這個腳本實作了 references/heat-score-methodology.md 中的 4 維度評分演算法。
如何執行
將所有訊號資料收集成一個符合以下架構的 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 高階簡報。
簡報必須涵蓋:
**高階簡報:[公司名稱]**
**背景:** 1-2 句話說明他們做什麼以及他們的市場定位
**熱度分數:** [分數]/100 — [活動等級]
**近期活動:**
- 產品:找到的關鍵產品或發布訊號
- 招聘:招聘狀態、部門、顯著職位
- 社群:來自 Reddit/HN/Twitter 的情緒摘要
**威脅評估:**
- 競爭威脅等級:[低 / 中 / 高]
- 理由:2-3 句話說明原因
**關鍵訊號(最重要的收穫):**
一句話說明該公司目前最重要的一件事。
**資料信心度:**
哪些頻道有良好的資料,哪些遺漏了。
規則:
- 簡報中的每個主張都必須能追溯到收集到的資料
- 「資料信心度」部分是強制的——要誠實說明缺口
- 威脅評估應與雷達中的其他公司進行比較,而非孤立評估
- 每份簡報保持在 250 字以下
步驟 7:組裝並輸出雷達報告
將所有內容編譯成結構化的雷達報告格式。請使用 references/radar-report-template.md 來獲取確切的輸出結構。
報告應包含:
- 高階摘要 — 排名公司的最高層級發現
- 熱度分數排行榜 — 所有公司的排名表格
- 各公司深度解析 — 每家公司附完整檔案、訊號資料、分數分析與 AI 簡報
- 訊號警示 — 偵測到的顯著事件(招聘激增、爆紅時刻、發布)
- 資料品質備註 — 哪些頻道有資料,哪些遺漏了
以 Markdown 格式輸出,準備好複製到 Slack、Notion、Google Docs 或電子郵件中。
步驟 8:可選 — 排程定期雷達
如果使用者想要持續監控:
- 儲存公司清單和 API 設定
- 設定 cron 排程(GitHub Actions 或系統 cron)
- 每次執行都會產出更新的報告
- 設定分數變更的警示(例如「如果任何公司分數躍升 20 分以上就發出警示」)
這項技能是一個編排器——每次執行都會全新執行完整管道。