こちらは Applibot Advent Calendar 2025 9日目の記事になります。
はじめに
毎朝、複数のツールを巡回して情報を集め、今日やることを整理する——そんな作業に 30分以上 かかっていませんか?私もそうでした。
- Google Calendar で今日の予定を確認
- Wrike で担当タスクをチェック
- Slack で未読メッセージやメンションを確認
- GitHub で昨日のPR状況を確認
- 前日のノートから未完了タスクを転記
これらを手動で行うのは時間がかかるだけでなく、見落としのリスクも高く、認知負荷も大きい作業です。
そこで、Claude Code と MCP (Model Context Protocol) を組み合わせて、これらの情報を自動で収集・整理し、Obsidian のデイリーノートとして出力するシステムを構築しました。結果として、朝の情報収集時間を 90%削減(30分→3分) することに成功しました。
本記事では、この自動化システムの設計思想と実装方法を紹介します。
本記事はiret.media の記事にインスパイアされて実装したものです。基本的なアイデアはこちらから着想を得ています。
解決したかった課題
情報の分散問題
現代の開発現場では、情報が複数のツールに分散しています:
| ツール | 情報の種類 | 確認頻度 |
|---|---|---|
| Google Calendar | 会議予定、作業時間 | 毎朝 |
| Wrike | タスク、プロジェクト進捗 | 1日数回 |
| Slack(複数ワークスペース) | コミュニケーション、メンション | 常時 |
| GitHub | PR、コミット履歴 | 1日数回 |
| Obsidian | 過去の振り返り、メモ | 必要時 |
これらを毎朝巡回するのは、単純作業でありながら認知負荷が高いという特徴があります。
既存ツールの限界
多くのタスク管理ツール(Notion、Trello、Asana など)は単一プラットフォーム内での管理に優れていますが、外部ツールとの統合には限界があります:
- API連携は可能でも、複数ツールを横断した情報整理は難しい
- 情報のコピー&ペーストが必要で、結局手作業になる
- リアルタイム性が低く、情報が古くなりがち
そこで、生成AIの情報統合力を活用することにしました。
システムアーキテクチャ
4層構造の設計
システムは以下の4層で構成されています:
この構造により、各サービスの情報を一つのmdファイルに集約することができます。
APIキーや認証情報は各Skills内で管理されており、外部に送信されることはありません。
MCP(Model Context Protocol)とは
MCP は Anthropic が開発した、生成AIと外部データソースを接続するためのオープンプロトコルです。
従来、各ツールのAPIを個別に実装する必要がありましたが、MCPを使うことで:
- 統一的なインターフェースで複数のデータソースにアクセス可能
- セキュアな接続をローカル環境で実現
- 拡張性が高く、新しいツールの追加が容易
つまり、MCPは「各種APIと生成AIを仲介するブリッジ」として機能します。
実装の詳細
スキルベースアーキテクチャ
Claude Code の Skills 機能を活用し、各情報源ごとに独立したスキルとして実装しました。これにより:
- コンテキストの分離:各スキルが独立して動作し、トークン使用量を最適化
- 保守性の向上:機能追加や修正が容易
スキル構成
.claude/skills/
├── daily-calendar/ # Google Calendar予定取得
├── daily-wrike/ # Wrikeタスク取得
├── daily-slack/ # Slack重要メッセージ取得
├── daily-achievements/ # 昨日の成果収集
├── daily-carryover/ # 繰り越しタスク抽出
├── daily-insights/ # 過去30日間の分析
└── daily-save/ # ファイル保存と整理
処理フロー
デイリーノート生成は以下の7ステップで実行されます:
1. Calendar予定取得(daily-calendar)
# Google Calendar APIで今日の予定を取得
mcp__google-calendar__list-events
取得する情報:
- 今日の全予定(タイトル、時間、場所)
工夫ポイント:
- 作業可能時間の算出(定時10:00-19:00から会議時間を引く)
- 複数カレンダーにまたがる予定を統合
- 独自の例外パターンを作業可能時間の算出に適用
- 昼休みや予定早退は作業可能時間から除外、作業集中のための予定は組み込む、など
2. Wrikeタスク取得(daily-wrike)
# Wrike APIで今日期限のタスクを取得
mcp__wrike__searchTasksAdvanced
取得する情報:
- 今日期限のタスク
- 担当タスクの優先度
工夫ポイント:
- カスタムステータスに対応
- 期限切れタスクも同時に取得
- Wrikeの作業負荷ビューへの直リンクを生成
3. Slackメッセージ取得(daily-slack)
# Slackワークスペースから重要メッセージを検索
mcp__slack__search_messages
取得する情報:
- 昨日の自分の投稿のサマリー
- 自分へのメンション(未返信のみ)
工夫ポイント:
- スレッドの文脈を含めて取得
- URLを生成して元メッセージにジャンプ可能に
4. 昨日の成果収集(daily-achievements)
# GitHubのPRを収集
gh pr list --author @me --created $(date -v-1d +%Y-%m-%d)
※ Mac環境の前提
取得する情報:
- 昨日作成したPR
- 昨日のコミット数
工夫ポイント:
- シンプルにghコマンドを利用するのみ
- 複数リポジトリを横断検索
- PR のステータス(Draft/Open/Merged)を明示
- コミットメッセージから作業内容を要約
5. 繰り越しタスク抽出(daily-carryover)
# 前日のデイリーノートを読み込み
Read(/Users/.../Daily Notes/YYYY-MM-DD.md)
取得する情報:
- 未完了のタスク(チェックボックスが空のもの)
- Watching情報(継続的に追跡すべき事項)
工夫ポイント:
- Markdownのチェックボックス構文をパース
- 階層構造を保持したまま転記
- 完了済みタスクは除外
6. 過去30日間の分析【オプション】(daily-insights)
# 過去30日分のデイリーノートを分析
ls -t .../Daily Notes/*.md | head -30
取得する情報:
- タスク完了率のトレンド
- よく登場するキーワード
- 時間の使い方のパターン
工夫ポイント:
- 大量のノートを効率的に処理(要約の要約)
- 実行可能なアクション提案
- 週次・月次の振り返りにも活用可能
7. ファイル保存と整理(daily-save)
# Obsidian vaultとローカルに保存
cat > "Daily Notes/2025-12-03.md" << 'EOF'
...
EOF
# 古いファイル(2日以上前)を整理
find . -name "*.md" -mtime +2 -exec mv {} old/ \;
取得する情報:
- 上記1-6の情報を統合
- テンプレートに沿って整形
- メタデータ(日付、タグ)を付与
工夫ポイント:
- Obsidian vaultとローカルの2箇所に保存(バックアップ)
- 古いファイルは自動的にoldフォルダに移動
- Frontmatter形式でメタデータを管理
生成されるデイリーノートの構造
---
date: 2025-12-09
type: daily-note
tags: [daily]
---
# 2025-12-09 (火)
## 📊 昨日の成果
### GitHub活動
- [PR] repo1: ユーザー認証機能の実装 (#1234)
- [Merged] repo2: CI/CDパイプライン改善 (#1235)
### Slack投稿
- #general: 新機能のリリース報告
- #dev-team: パフォーマンス最適化の提案
## 💡 過去30日間のインサイト
- タスク完了率: 85% → 92% (改善傾向)
- 会議時間の平均: 3時間/日 → 2.5時間/日
- 推奨アクション:
- レビュー待ちPRが溜まっているため、優先的に処理を
- 金曜日に定例が集中しているため、分散を検討
## 📅 今日の予定
### 作業可能時間: 5.5時間(定時10:00-19:00から会議を除く)
- 10:00-11:00 週次ミーティング
- 14:00-15:30 新機能レビュー
- 16:00-17:00 1on1
## 🎯 Wrikeタスク
### 今日期限
- [ ] ユーザー認証機能のテスト完了
- [ ] ドキュメント更新
### 期限切れ(要対応)
- [ ] パフォーマンス測定レポート(昨日期限)
[作業負荷を確認](https://www.wrike.com/workspace.htm?...)
## 💬 Slack重要メッセージ
### #engineer(1件)
- @yamada: 明日のミーティングの議題確認
- [メッセージを見る](https://app.slack.com/client/...)
## ✅ タスク
### 昨日からの繰り越し
- [ ] ログ分析ツールの実装
- [ ] パフォーマンステストの実施
- [ ] アドベントカレンダーの投稿
### 新規タスク
- [ ]
## 👀 Watching
- repo1 #1234 のレビュー待ち
- レガシーシステム移行の進捗確認
## 📝 メモ
## 🌟 今日の振り返り
### 完了したこと
### 明日へ持ち越し
さらに、生成後の応答でも簡単なサマリを共有してくれます。
~ 略 ~
✅ デイリーノート生成完了
今日(2025-12-09(火))のデイリーノートを生成しました。
📁 保存先
1. Obsidian vault: /{obsidian path}/Daily Notes/2025-12-08.md
2. ローカルバックアップ:/{workspace path}/daily-notes/2025-12-08.md
📊 収集した情報
- ✅ Google Calendar予定: 3件の予定、作業可能時間は5時間30分
- ✅ Wrikeタスク: 3件(うち期限切れ1件)
- ✅ Slack重要メッセージ: 明日のミーティングの議題確認
- ✅ 昨日の成果: ユーザ認証機能の実装、CI/CDパイプライン改善
- ✅ 繰り越しタスク: 3件(ログ分析ツールの実装、パフォーマンステストの実施、アドカレの投稿)
- ✅ Watching: #1234 のレビュー、レガシーシステム移行の確認
🗂️ ファイル整理
- 古いファイル(2025-12-05以前)をoldフォルダに移動
- メインディレクトリには今日のファイルのみが残っています
デイリーノートの生成が完了しました!
技術的な工夫
1. エラーハンドリング
各スキルは独立して動作するため、一部のAPIが失敗しても他のスキルは実行できます。
朝の短い時間でざっと確認する必要があるため、不完全であってもとりあえずのレポートができていることを重視しました。
2. 日時処理の正確性
何も指示をしないと「昨日」の範囲を勝手に推測してしまうことがあるので、タスクの最初に必ず現在日時とタイムゾーンを確認させています。
# 必ず最初に現在日時を確認
date "+%Y-%m-%d (%a) %H:%M"
# タイムゾーンを明示
TZ="Asia/Tokyo" date
3. Markdownの構造化
生成されるMarkdownは、Obsidianで加筆されることを想定して出力させています。
- Obsidian の Frontmatter 形式に対応
- チェックボックス構文で ToDoリストを管理
- 絵文字でセクションを視覚的に区別
効果測定
定量的な効果
| 項目 | 導入前 | 導入後 | 削減率 |
|---|---|---|---|
| 朝の情報収集時間 | 30分 | 3分 | 90% |
| 見落としリスク | 高 | 低 | - |
| ツール切り替え回数 | 10回以上 | 1回 | 90% |
定性的な効果
認知負荷の軽減
- 「何を確認すべきか」を考える必要がなくなった
- 情報が構造化されているため、優先順位をつけやすい
- 過去の振り返りが容易になり、自己改善のサイクルが回る
チームへの波及効果
- 朝会や定例での共有がスピーディになった
- タスクの抜け漏れが減り、信頼性が向上
- 振り返りの質が向上し、改善提案が増えた
今後の改善予定
-
MCPからSkillsへの置き換え
- 現状skillsからMCPを利用しているが、直接APIを叩くことでコンテキストの負担が減少するはず
-
AIによる優先順位づけ
- タスクの重要度・緊急度をAIが判定し、推奨順序を提示
-
チーム共有機能
- 個人のデイリーノートからチーム全体のダッシュボードを生成
-
週次・月次レポート
- デイリーノートを集計して、週次・月次の振り返りレポートを自動生成
おわりに
Claude Code と MCP を組み合わせることで、複数ツールに散在する情報を自動で収集・整理し、朝の情報収集時間を90%削減することができました。
このシステムの本質は、情報の受け取り方を変えることにあります。従来は「自分からツールに行って情報を取りに行く」スタイルでしたが、今は「必要な情報がまとまって届く」スタイルに変わりました。
生成AIは単なる文章生成ツールではなく、情報統合のハブとして機能します。
皆さんも、日々の業務で「これ、自動化できないかな?」と思ったら、ぜひ Claude Code × MCP の組み合わせを試してみてください。
参考リンク
株式会社アプリボットでは、 エンジニアをはじめ全職種で積極採用中 です。
記事を読んで少しでも興味を持たれた方やお話を聞きたい方は、是非お気軽にご連絡ください!
