company-radar について
company-radarは、企業を追跡するチーム向けの競合インテリジェンス用スキルです。複数プラットフォームの情報を並列収集し、活動を0〜100点で評価して構造化レポートを作成します。
主な機能
- 018チャネルのシグナルを並列収集
- 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詳細
Company Radar
競合情報オーケストレーター。 企業名を受け取り、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 + ウェブ検索 | スター、フォーク、コミット、リリース、リリース速度 |
| 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」のような記述はしないでください。 |
| 熱度スコアの算出を省略する | レーダーレポートには、生データの羅列ではなく、スコア付きの出力が必要です。熱度スコアがこのレポートの中核的な差別化要素です。 |
| スキルの失敗を理由に不完全なレポートを出力する | 1 つのチャネルが失敗しても、レポート全体の作成を妨げてはいけません。利用できるデータでスコアを付け、欠落箇所を記載してください。 |
| 企業の説明に 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 回の実行につき最小 1 社、最大 10 社)output_preference:「full report」(デフォルト)、「alert-only」、「briefing-only」、または「heat-score-only」(詳細な分析は含めず、リーダーボードの表とスコアのみ)timeframe:「realtime」(デフォルト)、「last-week」、または「last-month」
ユーザーが企業名を 1 社だけ指定した場合: それでもレーダーの全処理を実行してください。単一企業のレーダーも有効です。完全なプロフィールを取得してください。
企業が 10 社を超える場合: ユーザーに「1 回のレーダースキャンで指定できる企業は最大 10 社です。最初の 10 社を対象に実行します。入れ替えたい企業があればお知らせください。」と伝えてください。
企業ごとに、既知のハンドルや識別子があれば確認します。
- GitHub の組織名(企業名と異なる場合)
- Twitter のハンドル
- YC のバッチ(YC 企業の場合)
- Product Hunt のスラッグ
これにより調査時間を短縮できます。不明な場合は、プロフィール作成の段階で特定します。
ステップ 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 日間)
- 最終プッシュ日
- 主な言語
- オープンイシュー数
または、GitHub Issues からより詳細な需要シグナルを分析する場合は、gh-issue-to-demand-signal スキルを呼び出します。
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]
以下を抽出します。
- メンション数
- 投稿のスコア(賛成票)
- 感情(ポジティブ/ネガティブ/混在)
- 主な不満や称賛
- 関連するサブレディット
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 スキルまたは Tavily 検索を使用します。
[company name] pricing plans 2026
以下を抽出します。
- 料金プラン
- プラン構成の変更
- 無料プランと有料プラン
失敗時の対応
- いずれかのチャネルで結果が 0 件の場合、レポートに「シグナルは検出されませんでした」と記載します。
- スキルが利用できない場合(API キーがない場合)は、「チャネルを利用できません」と記載します。
- 記憶に基づいてデータを捏造しないでください。見つからない場合は、未検出として記載します。
- 1 つのチャネルが空でも、レポート全体の有効性は損なわれません。
ステップ 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~100)level— High(60 以上)、Medium(30~59)、Low(1~29)、Dormant(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 点以上上昇したら通知」)
このスキルはオーケストレーターです。実行のたびに、パイプライン全体を最初から処理します。