カンパニーレーダー
競合インテリジェンスオーケストレーター。 企業名を入力として受け取り、8つ以上のプラットフォームを並列調査し、各企業を0〜100のヒートスケールでスコアリングし、AIによる概要レポートを含む構造化されたレーダーレポートを生成します。
これはオーケストレーションスキルです。既存のopendirectoryマイクロスキルにデータ収集を委譲し、それらの出力を調整します。これらのスキルを代替するものではありません。
アーキテクチャ
入力: 企業名 / URL
|
[1. プロファイルフェーズ] -- Web調査による企業プロファイルの構築
|
[2. シグナル収集] -- プラットフォーム並列調査(8チャンネル)
/ | | | | | \ \
GH TW RD HN PH YC WEB MEDIA
|
[3. スコアリングエンジン] -- 4次元ヒートスコア(0-100)
|
[4. AI統合] -- エグゼクティブブリーフィングの生成
|
出力: レーダーレポート + 各企業の詳細分析
シグナルチャンネルとOpendirectoryマッピング
| チャンネル | Opendirectoryスキル | 検出するもの |
|---|---|---|
| GitHub | gh-issue-to-demand-signal + Web検索 | スター、フォーク、コミット、リリース、出荷速度 |
| 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 | 求人情報、採用部門、成長シグナル |
| Web / プレス | Tavily検索 + competitor-pr-finder | ニュース、製品発表、資金調達 |
| 価格 | pricing-finder | 価格変更、ティア更新、プラン構成 |
| 市場ポジション | map-your-market | ICP、競合状況、メッセージングのギャップ |
よくある間違い
| エージェントがしようとすること | なぜそれが間違いか |
|---|---|
| スキルを順次実行する | 8つのシグナルチャンネルはすべて独立しています。並列で実行する必要があります。 |
| GitHubのスター数や採用数をでっち上げる | すべてのデータポイントは特定の検索結果またはスキル出力に遡る必要があります。「約500スター」のような表現は不可。 |
| ヒートスコアの計算をスキップする | レーダーレポートにはスコアリングされた出力が必要であり、生データのダンプだけでは不十分です。ヒートスコアが中核的な差別化要素です。 |
| スキルが失敗したために不完全なレポートを出力する | 1つのチャンネルが失敗しても、完全なレポートはブロックされません。得られたデータでスコアリングし、ギャップを明記します。 |
| 企業の説明にAIの訓練知識を使用する | すべての企業説明はライブのWeb調査から取得する必要があり、記憶からではありません。 |
| ヒートスコアからアクティビティレベルのスコアリングを忘れる | ヒートスコアには明示的なしきい値があります。High(60+)、Medium(30-59)、Low(1-29)、Dormant(0)。 |
ステップ1: セットアップ確認
ユーザーのプラットフォームがサポートするチャンネルに必要なAPIキーがアクセス可能かを確認します。
if [ -z "$TAVILY_API_KEY" ]; then echo "TAVILY_API_KEY: 未設定 -- Webエンリッチメントに必要"; else echo "TAVILY_API_KEY: 設定済み"; fi
if [ -z "$GITHUB_TOKEN" ]; then echo "GITHUB_TOKEN: 未設定 -- GitHub APIは60 req/hrにレート制限"; else echo "GITHUB_TOKEN: 設定済み"; fi
オーケストレーション対象の各スキルには、それぞれ独自のAPIキー要件があります。各スキルのSKILL.mdを確認してください。フル運用に必要なもの:
TAVILY_API_KEY-- Web検索と企業エンリッチメント(app.tavily.comで取得)GITHUB_TOKEN-- GitHub APIアクセス(github.com/settings/tokensで取得)
TAVILY_API_KEYがない場合: 処理を停止し、ユーザーに伝えてください。これがないと、企業のプロファイリングとWebエンリッチメントは動作しません。
ステップ2: 入力の解析
会話から収集:
companies: 追跡する企業名/URLのリスト(必須、最小1、最大10)output_preference: "full report"(デフォルト)、"alert-only"、"briefing-only"、"heat-score-only"(リーダーボード表+スコアのみ、詳細分析なし)timeframe: "realtime"(デフォルト)、"last-week"、または "last-month"
ユーザーが1社のみ指定した場合: それでも完全なレーダーパイプラインを実行します。単一企業のレーダーも有効です。完全なプロファイルを取得します。
10社を超える場合: ユーザーに「レーダースキャンは最大10社までです。最初の10社を実行します。入れ替えたい企業があれば教えてください。」と伝えます。
各企業に特定の既知のハンドルがあるか尋ねます:
- GitHub組織名(企業名と異なる場合)
- Twitterハンドル
- YCバッチ(YC企業の場合)
- Product Huntスラッグ
これにより調査時間を節約できます。不明な場合、プロファイルフェーズで発見します。
ステップ3: 企業プロファイルフェーズ
各企業について、プラットフォーム調査を実行する前に基本プロファイルを構築します。
ステップ3a: 初期Webエンリッチメント
各企業に対して、Tavily検索を実行して以下を発見します:
[企業名] 公式ウェブサイト twitter github linkedin producthunt yc 創業者
検索結果から抽出:
- ドメイン/ウェブサイト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: ユーザーによる確認
発見されたプロファイルを表示し、続行前にユーザーに確認または修正を求めます。
## 検出された企業プロファイル
| 企業 | ドメイン | Twitter | GitHub | YCバッチ | 創業者 |
|---|---|---|---|---|---|
| ... | ... | ... | ... | ... | ... |
シグナル収集に進む前に、誤ったハンドルを修正しますか?
ユーザーの確認を待ちます。このステップはスキップしないでください。誤ったハンドルは誤ったシグナルを生成します。
ステップ4: 並列シグナル収集
ここで、確認されたすべての企業に対して、すべてのプラットフォームを並列で調査します。
シグナル収集マップ
各プラットフォームに対して、適切な方法を使用します。すべてのプラットフォームを同時に実行します。順次実行しないでください。
GitHubシグナル
Web検索(Tavily)を使用してGitHub組織を見つけ、次に以下を検索:
github.com/[org] stars forks commits
抽出:
- リポジトリ全体の総スター数
- 総フォーク数
- 最近のコミット(過去7日間)
- 最近のリリース(過去30日間)
- 最終プッシュ日
- 主要言語
- 未解決のIssue数
または、GitHub Issueからより深いデマンドシグナル分析を行いたい場合は、gh-issue-to-demand-signal スキルを呼び出します。
Twitter/Xシグナル
twitter-GTM-find-skill またはTavily検索を使用:
twitter.com/[handle] site:twitter.com [企業名] startup
抽出:
- 最近のツイート数(過去24時間)
- メンション数
- 創業者のツイートアクティビティ
- 主要トピック/ハッシュタグ
Redditシグナル
reddit-icp-monitor アプローチまたはTavily検索を使用:
site:reddit.com [企業名] [製品カテゴリ]
抽出:
- メンション数
- 投稿スコア(upvotes)
- センチメント(ポジティブ/ネガティブ/ミックス)
- 主要な苦情や賞賛
- 関連するサブレディット
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 [企業名]
抽出:
- 公開求人数
- 求人タイトル/役割
- 部門別内訳(エンジニアリング、営業、マーケティングなど)
- 勤務地/リモート状況
Web / プレスシグナル
Tavily検索を使用:
[企業名] funding announcement product launch news 2026
抽出:
- 最近の資金調達ラウンド
- 製品ローンチ
- プレスで発表された主要な採用
- パートナーシップ発表
価格シグナル(オプション、ユーザーが価格情報を希望する場合に実行)
pricing-finder スキルまたはTavily検索を使用:
[企業名] 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-100level— 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エグゼクティブブリーフィングを生成します。
ブリーフィングには以下を含める必要があります:
**エグゼクティブブリーフ: [企業名]**
**コンテキスト:** 企業の概要と市場での位置づけを1〜2文
**ヒートスコア:** [スコア]/100 — [アクティビティレベル]
**最近のアクティビティ:**
- 製品: 主要な製品またはローンチシグナル
- 採用: 採用状況、部門、注目すべき役割
- コミュニティ: Reddit/HN/Twitterからのセンチメント要約
**脅威評価:**
- 競合脅威レベル: [低 / 中 / 高]
- 根拠: 2〜3文で理由
**主要シグナル(最も重要なポイント):**
この企業で現在起きている最も重要なことを一文で。
**データの信頼性:**
良好なデータがあったチャンネルと、不足していたチャンネル。
ルール:
- ブリーフィング内のすべての主張は収集したデータに遡れる必要があります
- 「データの信頼性」セクションは必須です。ギャップについて正直に記述してください
- 脅威評価は、他の企業と比較して行い、単独で評価しないでください
- 各ブリーフィングは250語以内に収めてください
ステップ7: レーダーレポートの組み立てと出力
すべてを構造化されたレーダーレポート形式にまとめます。正確な出力構造については references/radar-report-template.md を使用してください。
レポートには以下を含める必要があります:
- エグゼクティブサマリー — 企業をランク付けしたトップラインの所見
- ヒートスコアリーダーボード — 全企業のランク付け表
- 企業ごとの詳細分析 — 各企業の完全なプロファイル、シグナルデータ、スコア内訳、AIブリーフィング
- シグナルアラート — 検出された注目すべきイベント(採用急増、バイラル瞬間、ローンチなど)
- データ品質ノート — データがあったチャンネルと不足していたチャンネル
マークダウン形式で出力し、Slack、Notion、Google Docs、メールにそのままコピーできるようにします。
ステップ8: オプション — 定期的なレーダーのスケジュール
ユーザーが継続的な監視を希望する場合:
- 企業リストとAPI構成を保存
- cronスケジュールを設定(GitHub Actionsまたはシステムcron)
- 実行ごとに更新されたレポートを生成
- スコア変更のアラートを設定(例:「いずれかの企業が20ポイント以上急上昇した場合にアラート」)
このスキルはオーケストレーターです。各実行はパイプライン全体を新たに実行します。