競合監視エージェント
このエージェントはPython 3.11+とSQLiteを使用してローカルで実行され、有料サービスは必要ありません。デフォルト設定は config/monitor.toml にあり、データと履歴は work/ に保存されます。このスキルには、自動収集機能と手動によるソーシャル検証ステップの両方が含まれています。最終レポートでは、検索結果を直接読んだ記事として誤って報告しないようにします。
スキルインストール後の初回実行
スキルが初めて呼び出されたときは、python monitor.py preview を実行してパスを取得し、ユーザーに サンプルレポート(2026-10-05~11) を開いて見せてください。これは履歴上のフォーマットの例であり、インストール者の更新レポートやデフォルトデータではありません。その後、1回の会話で以下を尋ねてください。
- 監視したい競合他社の名前。各競合のFacebookファンページ、TikTokチャンネル、YouTubeチャンネルのURL(「未確認」と記入可能。その場合、エージェントが確認を支援します)。ウェブサイト/ブログのURLは任意です。
- ユーザーのビジネス情報:会社名、主要な製品/サービス、ターゲット顧客、市場/業界。会社のウェブサイトがあればそれも。このコンテキストを使用して、適切なトピック、コンテンツアングル、アイデアを選択します。許可なく機密情報を公開しないでください。
回答を得た後でのみ、設定ガイド に従って、work/ 内にユーザー固有の設定を作成します。サンプルのERP/CRMプロファイルをユーザーのデータとしてデフォルトで使用しないでください。ソーシャルURLが不足している場合は、「未確認」とマークし、公開されている公式チャンネルを探し、不明瞭な場合はユーザーに確認を求めます。範囲が確定する前に、スケジュールを自動作成したり収集を開始したりしないでください。このスキルはインストール時に自動実行や事後イベントを持ちません。サンプルの表示と情報の収集は、ユーザーがスキルを初めて呼び出したときに行われます。
ベトナムERP/CRMプロファイル
config/erp-crm-vn.toml は、Base.vn、MISA AMIS、1Office、ECOUNT、FastWork、CloudGO、Odoo を個別に監視します。デフォルトのAIプロファイルとはSQLiteデータベースを共有しません。スキルディレクトリ内で以下を実行します。
python .\monitor.py --config .\config\erp-crm-vn.toml --db .\work\erp-crm-vn\monitor-market.db --runs .\work\erp-crm-vn\runs run
実行結果のJSONパスを取得し、検閲済みHTMLを生成します。
python .\market_profile_report.py <実行結果のJSONパス> <出力ディレクトリ>
このプロファイルは、レビューと表示の順序においてFacebook、TikTok、YouTubeを優先します。ウェブサイトや業界ニュースは、ソーシャルチャンネルで十分な証拠が得られない場合にのみ、相互参照や補足として使用します。信頼性レベルが変動しないチャンネルを優先します。インデックスシグナルは常に検証済みのオリジナル記事から分離され、インタラクションの計算やプラットフォームスキャンの確認に使用されません。標準のExcelファイルは monitor.py によって自動的にエクスポートされます。簡潔な編集済みHTMLが必要な場合は、結論を出したり公開したりする前に、ソーシャルファーストのレポート手順 を読んでください。market_profile_report.py はデータ探索レポートであり、検証済みのソーシャルニュースレターではありません。
手順
- 初期化がまだの場合は、
setup.cmdまたはpython monitor.py setupを実行します。 python monitor.py validate-configで設定を確認し、python monitor.py doctorで利用可能なAPI権限を確認します。doctorコマンドは有無のみを報告し、シークレットは出力しません。業界、競合、またはソースを変更する場合は、設定ガイド を読んでください。run.cmdまたはpython monitor.py runで手動実行します。- コマンドの最後に出力されるJSONから結果パスを読み取ります。各実行のレポートには、マークダウン、サンプルのデザインシステムに従ったHTMLランディングページ、およびExcelが含まれます。ソースステータステーブルには、直接取得できなかった場合の理由と修正方法が記載されています。HTMLファイルを開いてユーザーに見せます。過去の実行履歴は変更しないでください。自動レポートは証拠と暫定的な提案のみを提示します。サンプルの内容のような経営陣向けニュースレターが必要な場合は、レポート標準 に従ってオリジナル記事を検証し、個別に編集し、同じデザインシステムを維持します。
- ユーザーがWindowsでの自動化を希望する場合、スケジュールを確認した後、
scripts/install-schedule.ps1 -Installを使用します。システムスケジュールを自動的に作成しないでください。
必須原則
- ユーザーが要求した時間範囲を正確に監視します。「先週」の場合は、設定のタイムゾーンに従って実行日の前の月曜日から日曜日までを取得し、スライドする7日間または30日間のウィンドウは使用しません。
- ERP/CRMプロファイルの場合、最初にソーシャルチャンネルを調査し、その後ウェブサイトや業界ニュースを使用して検証またはデータを補完します。試行順序:有効な無料API → プラットフォームが提供する場合RSS → 公開ウェブ記事の検索と読み取り → 使用許可されたサブアカウントでのログインセッションが確認された場合のみ統合ブラウザ(Codex) → ユーザーがその実行について個別に同意した場合のみ外部Chrome/ブラウザ。前の層で必要な情報が十分に取得できない場合にのみ次の層に移行します。検索結果をオリジナル記事の閲覧と見なさないでください。
- ブラウザを使用する場合、検証済みの公式ファンページ/チャンネルに直接アクセスします。期間中の新しい各投稿/動画をスクロールし、オリジナルの投稿/動画を開いて日付、内容、および表示されている場合はインタラクション指標を確認します。プラットフォーム上でのキーワード検索をチャンネルの直接確認の代わりに使用しないでください。長い動画の場合は、タイトルと説明のみを読んだことを正確に記録し、全部視聴したとは見なさないでください。
- Facebook固有:統合ブラウザが使用許可されたサブアカウントでログインしていない場合、統合ブラウザでのファンページ表示ステップをスキップしますが、検索エンジンによってインデックスされた結果については、
SEARCH_INDEX_ONLYラベルを付けて検索・分析します。レポートには、ログインしていないため統合ブラウザが使用できなかったことを明記し、ユーザーが自分でサブアカウントにログインして次回の実行でオリジナル記事を検証することを提案します。ログイン状態が未確認の場合のみ、「ログインセッション未確認」と記録し、ログアウトしているとは断言しません。パスワードは要求しないでください。 - TikTok検索ページに一時的なエラーと「再試行」ボタンが表示された場合は、画面上のボタンをクリックしてから結果を再確認し、ソースを制限ありとマークする前に確認します。無限に繰り返さないでください。それでもエラーが続く場合は、エラーと実際に取得できたデータレベルを記録します。チャンネルURLが確認されたら、検索のみに依存するのではなく、プロフィールと各新しい動画に直接アクセスします。
- ウェブサイトでは、フィードディスカバリー、サイトマップ、JSON-LD、ETag/Last-Modified、コンテンツハッシュを使用します。
robots.txtで拒否されたURLにはアクセスしません。 - YouTubeは、APIキーがある場合はData APIアップロードプレイリストを使用し、次にRSSを使用します。FacebookはGraph APIを使用します。TikTokは、承認されたDisplay API、Research API、または許可されたフィードを使用します。
- Facebook/TikTok/YouTubeの権限が不足している場合、Brave、Google Custom Search、またはGoogle News RSSを介してURLを発見できますが、
SEARCH_INDEX_ONLYのラベルを必須とします。 - アクセスできない場合は、
LIMITED、MANUAL_REVIEW、またはERRORを記録します。SEARCH_INDEX_ONLYをプラットフォームの直接スキャンとして表現してはいけません。 - 出典のあるイベントは、データから推測された見解から分離して保持します。各データ行には、URL、ソースが提供する場合は投稿日、収集方法、およびエビデンスステータスが必要です。
- SQLiteで正規化されたURLとコンテンツハッシュを使用して、実行間の重複を防ぎます。設定を変更しても履歴を削除しないでください。
- すべての層で表示と記録のみ行います。「いいね!」、コメント、フォロー、メッセージ送信、投稿は行いません。ユーザーがサブアカウントのみを許可している場合、個人のログインセッションを使用しないでください。
- 各見解には、可能な場合は直接の出典、投稿日、収集方法、エビデンスレベルが必要です。プラットフォームがブロックした場合、チャンネルが未確認の場合、または期間内に投稿がない場合は、理由と修正方法を記載します。「取得できなかった」を「アクティビティなし」に変換しないでください。
- デフォルトのHTMLニュースレター:タイトル「競合分析レポート」、K2Dフォント、1カラムのランディングページレイアウト、5つのトピックの前に短い概要、続いて競合アクティビティ、3つの空白のコンテンツアングル、5つの来週のアイデア、最後に出典。トピック番号は付録にジャンプせず、オリジナルの投稿/動画に直接リンクします。脚注は最小限にし、約3分で読めます。5/3/5の数字はこのニュースレターのデフォルトであり、ユーザーが別の形式を要求した場合に強制しません。
- ユーザーがExcel/Markdownを必要とする場合、出典URLを含む同じ検証済みデータをエクスポートします。ユーザーが明示的に要求した場合のみ、メール送信またはスケジュール設定を行います。そのタスクのアドレス/スケジュールを確認し、以前の実行から推測しないでください。
PEAS
- P(パフォーマンス指標): 新しいアイテム数、アクセス可能なソースの割合、完全なエビデンスの割合、除外された重複アイテム数、競合/トピックのカバレッジレベル、残りの制限。
- E(環境): ウェブサイト、RSS、Google News、Brave/Google検索、YouTube Data API/RSS、Facebook Graph API、TikTok Display/Research API、許可されたソーシャルフィード。
- A(アクション): 収集 → 正規化 → 重複排除 → 関連性フィルタリング → 競合/トピックへの割り当て → 傾向分析 → レポートと推奨。
- S(センサー):
monitor.toml、ソースコンテンツ、投稿日、URL、メタデータ、実際のインタラクション指標。
コレクターやスキーマを拡張する際は、アーキテクチャ を読んでください。どのコンポーネントが継承され、どのコンポーネントが範囲外になったかを知る必要がある場合は、リファレンスリポジトリ分析 を読んでください。 デフォルトの3つのAI競合他社を更新する場合は、確認済みおよび未確認のチャンネル を参照してください。ERP/CRMプロファイルの場合は、直接ブラウザを開く前に、確認済みチャンネルリスト を参照してください。