mcpField
C
coverage-tracker

coverage-tracker

github.com/elvisunマーケティング・グロース1.7k755 回インストール6 日前に更新
リポジトリ

coverage-tracker について

coverage-trackerは、指定したキーワードが最近の報道に現れたかを確認するスキルです。日付付き記事の検索と意味に基づく判定、決定の保存により、同じ記事への再通知を抑えます。

主な機能

  1. 01指定キーワードで最近の記事を検索
  2. 02キーワードの意味に基づく候補判定
  3. 03定義済みの判定結果で記事を分類
  4. 04判定を保存して重複通知を抑制

活用シーン

  1. 01企業や製品の最近の報道を確認
  2. 02一般的な語義や別の対象の一致を除外
  3. 03エージェントで報道チェックを定期実行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/elvisun/newsjack --skill coverage-tracker

インストール後、Claude Code で/coverage-trackerを入力して読み込まれたか確認します。

詳細

カバレッジトラッカー

設定したキーワードが実際の報道に登場したかを追跡します。シンプルに進めます。news-search で日付付きの記事の証拠を収集し、キーワードの意味を示すスニペットを使って重複を排除して判定します。CLI は設定と、確認済み/アラートの状態のみを保存します。

これは newsjack-detector ではありません。ニュースジャッキングの機会を採点したり、切り口を作成したり、立ち位置を評価したり、モニタープロファイルを使用したりしないでください。

実行モード

  • フルモード: Claude Code、Codex、OpenClaw、Hermes、またはシェル、ファイルシステム、ネットワーク、ローカル CLI にアクセスできるその他の対応エージェントハーネスで使用します。フルモードでは、トラッカー設定の読み取り、SQLite の確認済み状態の確認、判定の記録、繰り返しアラートの抑制が可能です。
  • 制限モード: Claude.ai のチャット、ChatGPT のチャット、Claude Cowork、またはシェル/ファイルシステム/CLI にアクセスできない制限付き実行環境で使用します。curl、npm、またはオンデマンドでの CLI インストールを試みないでください。貼り付けられた証拠や検索可能な証拠をもとに、単発の手動カバレッジ確認を行い、トラッカー設定、SQLite の状態、繰り返しアラートの抑制を使用していないことを明記してください。

制限モードだと判断する前に、newsjack がインストールされているか確認してください。 ビルド済みのバンドルバイナリとして提供されているため、実行に Go、コンパイラー、ビルドやインストールの手順は必要ありません。Go のツールチェーンを探してはいけません。また、最初にこの確認を実行せずに、CLI が「見つからない」と宣言したり、ユーザーに「Go 環境」が必要だと伝えたりしてはいけません。

  1. newsjack --version を実行します。バージョンが表示された場合はフルモードです。すべてのコマンドに通常の newsjack ... を使用してください。
  2. newsjack が PATH 上にない場合は、バンドルされた場所 ~/.newsjack/bin/newsjack --version を試します。バージョンが表示された場合は、以下のすべての箇所で newsjack の代わりにそのフルパスを使用してください。
  3. どちらも失敗し、かつ実際にシェルがない場合に限り、制限モードです。

バンドルされたバイナリは、ほとんどの場合すでにインストールされています。見つからないと決めつけず、フルモードを前提に確認してください。

ワークフロー

制限モードでは、CLI の状態確認手順を省略して、次のようにします。

  1. まだ提示されていない場合は、キーワード、その意味、遡る期間、除外条件を尋ねます。
  2. まず貼り付けられたリンクを使用します。検索ツールが利用可能な場合は、キーワードと期間の上限を指定して検索し、利用できる場合は日付と出典が明記された記事の証拠を残します。
  3. URL/タイトル/媒体/日付をもとに、明らかな重複を排除します。
  4. 以下の判定で各項目を分類します。
  5. 新たに見つかった可能性の高い報道、除外した件数、繰り返しアラートを抑制できなかった旨の制限モードに関する注意書きを含む、簡潔なインラインレポートを返します。

フルモードでは、次の永続ワークフローを実行します。

  1. トラッカーを見つけます。

    • ユーザーからスラッグが指定された場合は、newsjack coverage status <slug> を実行します。
    • ソースのチェックアウト内で作業している場合は、bin/newsjack を優先します。
    • スラッグが指定されていない場合は、ローカルのコンテキストから明らかでない限り、どのトラッカーを実行するか尋ねます。
    • 返された config_path を読み取ります。
  2. 各キーワードを検索します。

    • システムから現在の日付を取得します(例:date を実行)。記憶から日付を取得してはいけません。設定の lookback_days に指定された日数(既定値は 2)を現在の日付から引いて、since_date を計算します。

    • 各キーワードについて、news-search を次の形式で正確に呼び出します。

      "keyword" after:YYYY-MM-DD
      
    • キーワードに別名がある場合は、各別名を同じ形式で検索します。ただし、元のキーワードの項目との関連付けは維持します。

    • news-search から、日付と出典が明記された記事のフィールド title、url、outlet、author、published_at と、利用可能な場合はスニペット/概要を保持します。

  3. LLM を使う前に、重複を排除し、保存済みの判定を確認します。

    • まず正規化された URL が完全一致するものを重複として排除し、次にタイトル/媒体/日付をもとに明らかな同一記事の重複を排除します。

    • CLI ヘルパーがファイルを使用するため、最小限の候補 JSON ファイルを作成します。ハーネスで通常、実行成果物を保持する場合は、一時的な場所かタイムスタンプ付きの実行フォルダーに配置します。

      {
        "items": [
          {
            "keyword": "profound",
            "title": "Article title",
            "url": "https://...",
            "outlet": "Outlet",
            "author": "Author or null",
            "published_at": "2026-06-05T12:00:00Z",
            "snippet": "Search snippet or summary"
          }
        ]
      }
      
    • 実行:

      newsjack coverage check <slug> --input candidates.json
      
    • ユーザーが明示的に再レビューを求めない限り、known_items を再分類しないでください。フィルタリング済み/既知の結果をカウントし、繰り返しのアラートを抑制するには、それらの prior_decision を使用します。

    • unknown_items のみを分類します。

  4. LLM で未知の項目を分類します。

    • エンティティのマッチングには、キーワードの means フィールドを基準として使用します。
    • 一般的な単語の用法や誤ったエンティティを却下します。特に profound のような曖昧なキーワードでは重要です。
    • タイトルやスニペットにキーワードが含まれているだけでアラートを出さないでください。スニペットで判定が不明確な場合は、判断する前に記事を読んでください。

    以下の判定を使用します:

    • real_feature: 記事が意図されたエンティティ/製品/人物を実質的に扱っている。アラート。
    • substantive_mention: 意味のある段落レベルの言及だが、特集ではない。保存、通常はアラートなし。
    • passing_mention: 簡単な言及のみ。保存、アラートなし。
    • wrong_entity: キーワードが別のものを指している。保存、アラートなし。
    • junk: SEO、スクレイパー、重複ランディングページ、求人投稿、ドキュメント/ヘルプページ、または非ニュース。保存、アラートなし。
    • uncertain: 証拠が不十分。保存、アラートなし。
  5. 新しく分類された未知の項目のみを記録します。 unknown_items がない場合は、coverage record をスキップし、coverage check の結果から報告します。

    新しい項目を分類した場合は、CLI が必要とする最小限の decisions.json を作成します:

    {
      "items": [
        {
          "keyword": "profound",
          "title": "Article title",
          "url": "https://...",
          "outlet": "Outlet",
          "author": "Author or null",
          "published_at": "2026-06-05T12:00:00Z",
          "verdict": "real_feature",
          "confidence": "high",
          "alert": true,
          "rationale": "Why this is about the intended keyword."
        }
      ]
    }
    

    アラートだけでなく、新しく分類されたすべての未知の項目を含めます。却下を保存することで、今後の実行で coverage check を通じてそれらをスキップできます。

  6. 判定を永続化し、繰り返しのアラートを抑制します。

    newsjack coverage record <slug> --input decisions.json
    

    ハーネスの来歴用に実行フォルダーをすでに作成している場合にのみ、--run-dir RUN_DIR を追加します。コマンドの JSON 標準出力を直接読み取ります。ユーザーまたはハーネスが明示的に成果物を求めない限り、record.json を書き込まないでください。new_alerts 内の記事のみが新たにアラート可能です。以前にアラートされた URL を再度アラートしてはいけません。

  7. 結果をユーザーに配信します。 SQLite が永続的な記録です。別のレポートファイルを書き込まないでください。coverage check から、および実行された場合は coverage record から、ユーザーに直接、短く読みやすいメッセージを作成します:

    • new_alerts が空でない場合は、新しい実際のカバレッジ項目を先頭に持ってきます。
    • 新しいアラートがない場合は、新たに確認されたカバレッジはないと伝えます。
    • 短い実行サマリーを含めます: 検索したキーワード、since 日付、候補数、スキップされた既知の数、新たに判定された数、新しいアラート数。
    • すべてのジャンク項目をダンプするのではなく、既知の項目からの以前の判定を含む、判定別のカウントを示す控えめな「Filtered」行を含めます。
    • クリック可能なリンクを使用します。

    このスキルはスケジュールに従って無人で実行されることを想定しているため、メッセージは単独で成立する必要があります — ユーザーは実行を理解するためにファイルを開く必要があってはなりません。

出力の規律

  • 公開日、媒体、著者をでっち上げないでください。news-search が日付を復元できない場合は、慎重に分類してください。
  • ストーリーの出所や鮮度のゲートを使用しないでください。これは newsjack の機会スキャンではありません。
  • angle-generator、journalist-fit-check、meanest-editor を呼び出さないでください。
  • ネイティブの cron をインストールしないでください。繰り返し実行はエージェントハーネスに属します。

コメント