mcpField
N
news-summary

news-summary

github.com/zjfls生産性2535 回インストール37 週間前に更新
リポジトリ

news-summary について

news-summaryは、最近のニュースを検索・整理・分析するスキルです。HTMLのニュース一覧を作成し、Claude Code CLIで詳しい分析も生成できます。

主な機能

  1. 01最近のニュースの検索と重複除去
  2. 02出典・日時・要約の抽出
  3. 03情報源の信頼性評価
  4. 04レスポンシブなHTMLページ生成
  5. 05Claude Code CLIによる分析生成

活用シーン

  1. 01特定テーマの最近のニュースをまとめる
  2. 02記事の出典と公開日時を確認する
  3. 03AI分析への導線付きニュースページを作る

MCP 対応

WebSearchを優先し、利用できない場合はBrave Search MCPでニュースを検索できます。

インストール

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

$npx skills add https://github.com/zjfls/zhoujie-claude-skills --skill news-summary

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
lib/
generator.js
html-generator.js
news-ai.js
server.js

詳細

ニュース検索・要約スキル

最新ニュースをすばやく取得・分析できる、インテリジェントなニュース検索・要約ツールです。

主な機能

1. ニュースを検索
  • ユーザーに検索テーマを尋ねます
  • 過去 3~5 日間の関連ニュースを 12~25 件検索します
  • 検索ツール:WebSearch を優先して使用し、利用できない場合は Brave Search MCP を使用します
  • Brave Search の制限:レート制限を防ぐため、呼び出しごとに必ず sleep 1 秒実行します
  • 検索の最適化:
    • 複数のキーワードを組み合わせて検索します
    • 結果を十分に得られるよう、検索を分割して実行します
    • 重複を自動的に除去します(タイトル/URL)
    • 結果が 12 件に満たない場合は、対象期間またはキーワードを広げます
2. ニュースを分析

各ニュースから次の情報を抽出します:

  • タイトル
  • 出典サイト
  • 公開日時
  • 信頼性の評価(高/中/低)
  • 要約(100~200字)
  • 元記事へのリンク
3. HTML ページを生成
  • 出力ディレクトリ:<現在の作業ディレクトリ>/news-summary/<timestamp>_<topic>/
    • pwd を使って、現在の作業ディレクトリの絶対パスを取得します
    • <timestamp> の形式:YYYYMMDD_HHMM(例:20260111_1145)。検索ごとに一意のディレクトリになるようにします
    • <topic> はユーザーのクエリからキーワードを抽出します(例:AI、deepseek)。抽出できない場合は news を使用します
    • 例:/path/to/work/news-summary/20260111_1145_AI/
  • ファイル名:news_summary_<topic>.html
  • AI 解説ディレクトリ:<現在の作業ディレクトリ>/news-summary/<timestamp>_<topic>/analysis/
  • 解説ファイル名:news_analysis_<newsId>.md
  • ページの特長:
    • 見やすいレスポンシブデザイン
    • カード形式のニュース表示
    • 各ニュースに含める項目:タイトル、出典、日時、信頼性ラベル、要約
    • 2 つのボタン:「元記事を見る」と「AI 解説」
    • 必ず の前に含めます:<script src="/news-ai.js"></script>
4. AI 解説機能
  • サーバー:Node.js HTTP サーバー(lib/server.js、ポート 3456)
  • 実際の AI 分析:Claude Code CLI を通じて詳細な解説を生成します
  • 出力形式:完全な HTML ページ
    • 保存先:<作業ディレクトリ>/news-summary/<timestamp_topic>/analysis/news_analysis_<id>.html
    • 完全な HTML 構造(、、、 など)を含めます
    • モダンな CSS スタイルとレスポンシブデザインを使用します
    • 色のテーマには #667eea と #764ba2 のグラデーションを使用します
    • ニュース情報、分析内容、ページ下部の著作権表示など、必要な構成要素をすべて含めます
  • カスタムプロンプト:「AI 解説」ボタンをクリックした後、カスタムの分析視点を入力できます
  • 処理中表示とタイムアウト:
    • 生成中は読み込みモーダルを表示します
    • 120 秒でタイムアウトし、自動的に中止します
  • ファイル管理:
    • 生成済みの場合:「AI 解説を見る」と「解説を削除」ボタンを表示します
    • 未生成の場合:「AI 解説」ボタンを表示します
    • 削除と再生成に対応します
  • サーバーエンドポイント:
    • GET /check-analysis?newsId=<id>&timestamp=<timestamp_topic> - 解説ファイルの有無を確認します
    • POST /analyze - AI 解説を生成します(customPrompt に対応、完全な HTML を出力)
    • DELETE /delete-analysis?newsId=<id>&timestamp=<timestamp_topic> - 解説を削除します
    • GET /view-analysis?newsId=<id>&timestamp=<timestamp_topic> - 解説を表示します(HTML を直接返します)
    • GET /news-summary/<timestamp_topic>/<filename> - 静的ファイルを配信します
    • GET /news-ai.js - フロントエンドスクリプト
5. サーバーを再起動してブラウザーを開く
  • サーバーの再起動手順(生成のたびに必ず実行します):
    1. ポート 3456 が使用中か確認します:
      • Windows: netstat -ano | findstr 3456
      • macOS/Linux: lsof -ti:3456 または netstat -ano | grep 3456
    2. ポートが使用中の場合、古いサーバーを停止します:
      • Windows: taskkill /F /PID <プロセスID>
      • macOS/Linux: kill -9 <プロセスID>
    3. サーバーを再起動します:
      • Windows: start /B node <skill目录>/lib/server.js
      • macOS/Linux: node <skill目录>/lib/server.js &
    4. サーバーの起動を確実にするため、2 秒待ちます
    5. 起動を確認します:http://localhost:3456/news-ai.js にアクセスし、JavaScript コードが返されることを確認します
  • HTML の生成後、HTTP 経由でブラウザーを開きます
  • ブラウザーを開くコマンド:
    • Windows: Start-Process "http://localhost:3456/news-summary/<timestamp_topic>/news_summary_<topic>.html"
    • macOS: open "http://localhost:3456/news-summary/<timestamp_topic>/news_summary_<topic>.html"
    • Linux: xdg-open "http://localhost:3456/news-summary/<timestamp_topic>/news_summary_<topic>.html"
  • 重要:必ず HTTP 経由でアクセスし、file:// プロトコルは使用しないでください

ワークフロー

  1. ユーザーに検索テーマを尋ねます
  2. 一意の識別子を生成します:
    • クエリからキーワードを抽出して <topic> とします(抽出できない場合は news を使用します)
    • タイムスタンプを生成します:<timestamp> は YYYYMMDD_HHMM 形式です
    • <timestamp>_<topic> の形式にします(例:20260111_1145_AI)
  3. ニュースを検索します(WebSearch を優先し、Brave Search は 1 秒間隔で呼び出します)
  4. ニュース情報を分析し、整理します
  5. 現在の作業ディレクトリを取得します:Bash コマンド pwd を使用して絶対パスを取得します
  6. ディレクトリを作成します:<現在の作業ディレクトリ>/news-summary/<timestamp>_<topic>/
  7. HTML を生成します:
    • ファイルパス:<現在の作業ディレクトリ>/news-summary/<timestamp>_<topic>/news_summary_<topic>.html
    • 必ず の前に追加します:<script src="/news-ai.js"></script>
    • 各ニュースカードに data 属性(data-news-id, data-news-url, data-news-source, data-news-time)を必ず含めます
  8. サーバーを再起動します:
    • ポート 3456 が使用中か確認します
    • 使用中の場合、古いサーバーを停止します
    • 新しいサーバーを起動します:node <skill目录>/lib/server.js &
    • 2 秒待ってから起動を確認します
  9. ブラウザーを開きます:http://localhost:3456/news-summary/<timestamp>_<topic>/news_summary_<topic>.html

HTML テンプレートの要件

  • モダンでシンプルなデザインとレスポンシブレイアウト
  • カード形式のニュース表示
  • 各ニュースカードに data 属性を必ず含めます:
    • data-news-id:ニュース ID(0, 1, 2...)
    • data-news-url:元記事へのリンク
    • data-news-source:出典
    • data-news-time:公開日時
    • data-news-title:ニュースタイトル
    • data-news-summary:ニュースの要約
  • 信頼性ラベル:高(緑)、中(黄)、低(灰色)
  • 相対時間を表示します(例:2日前)
  • 必ず の前に読み込みます:<script src="/news-ai.js"></script>(絶対パスを使用)
  • 初期状態では「元記事を見る」ボタンのみを含めます。AI 解説ボタンは、ページ読み込み後に news-ai.js が動的に追加します

注意事项

  • 使用绝对路径(通过 pwd 获取当前工作目录)
  • 创建必要的目录结构
  • 处理网络请求失败
  • 验证新闻来源可靠性
  • 必须在 HTML 中包含 <script src="/news-ai.js"></script>,否则 AI 解读功能不可用
  • 时间戳格式:必须使用 YYYYMMDD_HHMM 格式,确保每次搜索都有唯一目录
  • 服务器必须重启:每次生成新闻后必须重启服务器,确保 WORK_DIR 指向当前工作目录

コメント