TL;DR

  • 毎日複数サイトの記事をチェックする習慣を自動化したくて作った
  • 毎朝7時にClaude APIでダイジェストを生成し結果がリポジトリに届く
  • Zenn・Qiita・はてブ・Hacker News・Dev.to・Google News の6ソースを RSS / API で収集

はじめに

Zenn を開いて、Qiita を確認して、はてブをチェックして……という作業を毎日のようにしています。これはエンジニアであれば共感する方もいると思います。

そんな手間を削減すべく、複数サイトのトレンドを自動収集し、Claude が自分の興味に合わせてダイジェストにまとめてくれる仕組みを作りました。毎朝7時に GitHub Actions が動き、結果がリポジトリに届いています。


アーキテクチャ

全体の流れはシンプルです。GitHub Actions がスケジュール実行し、Python スクリプトが記事を収集して Claude API に投げ、出力をリポジトリにコミットします。

GitHub Actions

digest.py

Claude API

output/YYYY-MM-DD.md

GitHub Actions でのスケジュール実行

PC を起動していなくても実行してほしかったので GitHub Actions を使いました。.github/workflows/digest.yml に以下のように定義しています。

on:
  schedule:
    - cron: '0 22 * * *'  # UTC 22:00 = JST 07:00
  workflow_dispatch:

実行後は output/ ディレクトリに生成されたファイルが自動でコミットされます。

digest.py

digest.py は以下の順序で処理します。

  1. 各ソースから記事を取得する
  2. 記事リストを Claude API に渡してダイジェストを生成する
  3. ヘッダー情報(収集件数・ソース数)を付加して Markdown に整形する
  4. output/YYYY-MM-DD.md に保存する

Claude API

モデルは claude-sonnet-4-6 を使用しています。

英語記事は、Claude がタイトルを自然な日本語に翻訳して出力するように指示しています。

興味分野はプロンプトに渡すことで収集される情報を絞り込んでいます。今の私の興味分野は以下です。

  • AI / LLM / ClaudeCode
  • フロントエンド(React, Next.js, CSS, Web標準等)
  • プロダクトマネジメント / スクラム / 組織・チームビルディング
  • UI / UX / デザイン
  • セキュリティ
  • テスト / 品質保証

出力例

出力される Markdown のフォーマットはこんな感じです。

# Tech Trend Digest - YYYY-MM-DD

> 収集件数: 73 件 | ソース数: 6 件

## 今日のおすすめ記事

| タイトル | ソース | 一言メモ |
|---------|--------|---------|
| [記事タイトル](URL) | Zenn, Qiita ... etc | なぜ注目なのか一言で |
| ...(8〜12件)... | | |

## 今日のハイライト(トレンド全体)

- 分野を問わず特に話題になっているトピック(3点)

## トレンドキーワード

`キーワード1` / `キーワード2` / `キーワード3` / ...

## 全記事一覧

各ソース上位5件ずつ

おわりに

この仕組みのおかげで情報収集の時間が減り、トレンドも把握しやすくなりました。

興味分野のプロンプトを書き換えるだけで収集される情報も変わるので、業務内容や関心の変化に合わせて調整しやすいのも気に入っています。


参考リンク