IT女子 アラ美お疲れ様です!IT業界で働くアライグマです!
「技術ニュースを追いたいけど、毎朝RSSやXを巡回する時間がない」「チーム全体に最新情報を共有したいが、手動だと続かない」。こんな悩みを抱えているエンジニアやPjMは多いのではないでしょうか。
本記事では、GASとClaude APIを連携させて、ニュース収集→AI要約→Slack投稿を完全自動化する手順を、実際のコード付きで解説します。
GAS × Claude APIによるニュース自動要約が注目される背景



エンジニアにとって技術トレンドのキャッチアップは重要ですが、情報源が分散しているのが現実です。GitHub Trending、Qiita、Zenn、Hacker News、各社ブログと、巡回先は増える一方で、朝の30分があっという間に溶けていきます。
- 情報量の爆発:AI関連だけでも毎日数十件の記事が公開されており、取捨選択に時間がかかります
- チーム共有の形骸化:「いい記事あったよ」と口頭で伝えても、ログに残らず情報が属人化します
- 継続の難しさ:手動での情報共有は1〜2週間で途切れるのがほとんどです
GASはGoogleアカウントがあれば無料で使えるサーバーレス環境で、定期実行(トリガー)機能を備えています。ここにClaude APIの要約能力を組み合わせることで、情報収集の自動化パイプラインを構築できます。エンジニア向けの情報収集ツールについては、DevPickによるAI技術ニュースフィードでも別のアプローチを紹介しています。



前提条件と必要な環境
この自動化パイプラインを構築するには、以下の環境とアカウントが必要です。
- Googleアカウント:GASの実行環境として使用。無料プランで十分です
- Anthropic APIキー:Claude APIの利用に必要。Haiku 4.5であれば月額数百円程度で収まります
- Slack Webhook URL:Slackの「Incoming Webhooks」アプリで取得。チャンネルへの投稿権限が必要です
- RSSフィードURL:ニュースソースのRSS。Qiita、Zenn、Hacker News等が対応しています
GASの実行時間制限は1回あたり6分(無料アカウント)です。Claude APIへのリクエストは通常2〜3秒で返るため、5〜10件程度の記事要約なら余裕を持って処理できます。
ローカルLLMでの代替を検討する場合は、ローカルLLM環境構築ガイドを参考にしてください。ただし、GASからローカル環境にアクセスするにはトンネリングが必要になるため、まずはクラウドAPIでの運用をおすすめします。



GASプロジェクトの作成とClaude API連携
ここからは実際のコードを使って、GASからClaude APIを呼び出す仕組みを構築します。
GASプロジェクトの新規作成
Google Driveから「Google Apps Script」を新規作成します。プロジェクト名は「AI News Summary Bot」など分かりやすい名前を付けてください。
まず、Claude APIを呼び出す関数を作成します。
// Claude API呼び出し関数
function callClaudeAPI(prompt) {
const API_KEY = PropertiesService.getScriptProperties().getProperty('CLAUDE_API_KEY');
const url = 'https://api.anthropic.com/v1/messages';
const payload = {
model: 'claude-haiku-4-5-20251001',
max_tokens: 1024,
messages: [{ role: 'user', content: prompt }]
};
const options = {
method: 'post',
headers: {
'Content-Type': 'application/json',
'x-api-key': API_KEY,
'anthropic-version': '2023-06-01'
},
payload: JSON.stringify(payload),
muteHttpExceptions: true
};
const response = UrlFetchApp.fetch(url, options);
const json = JSON.parse(response.getContentText());
return json.content[0].text;
}
APIキーの安全な保管
APIキーをコードにハードコードするのは厳禁です。GASのスクリプトプロパティに保存します。「プロジェクトの設定」→「スクリプトプロパティ」から CLAUDE_API_KEY を追加してください。
Claude Codeの拡張機能については、Antigravity Awesome Skillsの活用ガイドでも詳しく解説しています。



ニュース取得・要約・Slack投稿の自動化パイプライン
次に、RSSからニュースを取得し、Claude APIで要約し、Slackに投稿する一連のパイプラインを構築します。
RSSフィードの取得と解析
// RSSフィードからニュースを取得
function fetchRSSNews(feedUrl, maxItems) {
const xml = UrlFetchApp.fetch(feedUrl).getContentText();
const document = XmlService.parse(xml);
const root = document.getRootElement();
const ns = root.getNamespace();
const items = root.getChild('channel', ns).getChildren('item', ns);
return items.slice(0, maxItems).map(item => ({
title: item.getChildText('title', ns),
link: item.getChildText('link', ns),
description: item.getChildText('description', ns) || ''
}));
}
要約の生成とSlack投稿
// メイン関数:ニュース収集→要約→Slack投稿
function dailyNewsSummary() {
const feeds = [
{ url: 'https://zenn.dev/feed', name: 'Zenn' },
{ url: 'https://qiita.com/popular-items/feed', name: 'Qiita' }
];
let allNews = [];
feeds.forEach(feed => {
const news = fetchRSSNews(feed.url, 5);
allNews = allNews.concat(news.map(n => ({ ...n, source: feed.name })));
});
const prompt = `以下のニュース記事を、エンジニア向けに日本語で要約してください。
各記事を1〜2文で要約し、重要度の高い順に並べてください。
${allNews.map(n => `[${n.source}] ${n.title}\n${n.description}`).join('\n\n')}`;
const summary = callClaudeAPI(prompt);
postToSlack(summary, allNews);
}
// Slack投稿
function postToSlack(summary, news) {
const webhookUrl = PropertiesService.getScriptProperties().getProperty('SLACK_WEBHOOK_URL');
const payload = {
text: `📰 *本日のAI・技術ニュース要約*\n\n${summary}\n\n` +
news.map(n => `• <${n.link}|${n.title}>`).join('\n')
};
UrlFetchApp.fetch(webhookUrl, {
method: 'post',
contentType: 'application/json',
payload: JSON.stringify(payload)
});
}
定期実行トリガーの設定
GASの「トリガー」機能を使って、毎朝自動実行を設定します。「編集」→「現在のプロジェクトのトリガー」から、dailyNewsSummary 関数を時間主導型 → 日タイマー → 午前7時〜8時で設定してください。
AIを活用した自動化の別のアプローチとして、CLI-Anythingによるエージェント自動化も参考になります。



ケーススタディ:チーム情報共有の効率化



木村さん(33歳・テックリード・経験8年)のチームでGAS×Claude APIによるニュース自動要約を導入した事例を紹介します。
状況(Before)
- 8人の開発チームで、技術トレンドの共有は各自に任されていた
- 週次の「技術共有タイム」はあったが、準備に1人あたり30分×8人=週4時間を消費
- 共有内容が属人的で、退職者が出ると知見が途切れるリスクがあった
- Slackの #tech-news チャンネルは開設したが、3週間で投稿がゼロになった
行動(Action)
- GAS×Claude APIで毎朝8時にZenn・Qiita・Hacker Newsの上位記事を自動要約し、Slackに投稿するBotを構築
- 要約プロンプトに「チームの技術スタック(TypeScript, Go, AWS)に関連する記事を優先」という条件を追加
- 週次共有タイムは「Bot投稿の中から深掘りしたいトピックを議論する場」に変更
結果(After)
- 情報共有の準備時間:週4時間→ほぼゼロ(Botが代替)
- Slack #tech-news の閲覧率:導入前0%→導入後92%(8人中7〜8人が毎日閲覧)
- 週次共有タイムの質:表面的な紹介から深い技術議論へ変化
- 月額コスト:Claude API利用料 約50円(Haiku 4.5)
木村さんは振り返ります。「プロンプトにチームの技術スタックを入れたのが正解だった。汎用的なニュースではなく自分たちに関係ある記事だけ届くので、全員が読むようになりました」。
プロジェクトの情報共有効率化については、技術的負債の可視化と返済計画で紹介したナレッジ管理の考え方も応用できます。



さらなる実践・活用に向けて
基本的なパイプラインが動いたら、以下のような発展的な活用も検討できます。
複数チャンネルへの振り分け
フロントエンド、バックエンド、インフラなど、技術領域ごとにSlackチャンネルを分けて要約を振り分けることで、各メンバーが自分に関連するニュースだけを受け取れるようになります。Claude APIのプロンプトでカテゴリ分類を指示すれば、振り分けロジックも自動化できます。
Googleスプレッドシートへのログ蓄積
取得したニュースと要約をスプレッドシートに蓄積しておくと、後から「過去に話題になったツール」を検索できるナレッジベースになります。GASからスプレッドシートへの書き込みは数行で実装可能です。
他のLLMとの使い分け
コストをさらに抑えたい場合は、要約には軽量なHaiku、深い分析にはSonnetと使い分けることも可能です。ローカルLLMとの連携については、CursorでローカルLLMを活用する完全ガイドで紹介している設定パターンが参考になります。
AIスキルを活かしたツール構築力は、開発環境を自分で選べるポジションへのステップにもなります。



よくある質問
Q. GASの無料枠で毎日実行しても大丈夫ですか?
はい、GASの無料枠は1日あたり6分の実行時間が上限です。ニュース要約Botは通常1〜2分で完了するため、毎日実行しても余裕があります。ただし、処理件数が多い場合は実行時間に注意してください。
Q. Claude API以外のLLMでも同じことができますか?
OpenAI API(GPT-4o-mini)やGemini APIでも同様の実装が可能です。APIの呼び出し形式が異なるため、callClaudeAPI 関数の部分を各APIに合わせて書き換えてください。
Q. 要約の言語やトーンをカスタマイズできますか?
プロンプトに「カジュアルなトーンで」「技術用語を省略せずに」などの指示を追加するだけで、出力のスタイルを自由にコントロールできます。チームの雰囲気に合わせて調整してください。
AI関連スキルを体系的に学びたい方は、以下の比較表から自分に合ったサービスを確認してみてください。
本記事で解説したようなAI技術を、基礎から体系的に身につけたい方は、以下のスクールも検討してみてください。
| 比較項目 | Winスクール | Aidemy Premium |
|---|---|---|
| 目的・ゴール | 資格取得・スキルアップ初心者〜社会人向け | エンジニア転身・E資格Python/AI開発 |
| 難易度 | 個人レッスン形式 | コード記述あり |
| 補助金・給付金 | 教育訓練給付金対象 | 教育訓練給付金対象 |
| おすすめ度 | 幅広くITスキルを学ぶなら | AIエンジニアになるなら |
| 公式サイト | 詳細を見る | − |



まとめ
GAS×Claude APIを使えば、毎朝のAI技術ニュース要約をSlackに自動投稿する仕組みを、サーバー不要・月額数十円で構築できます。
- 構築時間:約30分で基本パイプラインが完成
- 月額コスト:Claude API(Haiku 4.5)で約50円
- 効果:チームの情報共有準備時間を週4時間→ほぼゼロに削減
- 拡張性:チャンネル振り分け、ログ蓄積、LLM使い分けなど発展も容易
まずは1つのRSSソースと1つのSlackチャンネルで小さく始めてみてください。情報収集の自動化は、一度動き出せばチーム全体の生産性を底上げしてくれる強力な仕組みです。












