はじめに
「昨日どんなやり取りがあったっけ?」とBacklogを毎朝確認する作業が手間だと感じたことはありませんか?
コメントが複数の課題に散らばっていたり、複数チームが並行で動いていたりすると、状況を把握するだけで時間を取られてしまいますよね。
そこで今回は、Claude Codeのカスタムスキル(SKILL.md) を活用して、前日のBacklogアクティビティを読み込み、要約してくれる仕組みを作りました!
毎朝のルーティンを楽にする方法をご紹介します。
全体の流れ
今回の自動化の仕組みは、以下の3ステップで動作します。
-
PythonスクリプトでBacklog APIを叩き、前日のアクティビティを取得
-
Claude Codeがその内容を読み込み、課題ごとに要約を生成してMarkdownファイルとして保存
-
Slackへ投稿
SKILL.md とは?
プロジェクト内の.claude/skills/ディレクトリ配下にSKILL.mdというファイルを置くことで、スラッシュコマンドとして呼び出せるカスタムワークフローを定義できます。
例えば、以下のようにファイルを配置します。
.claude/skills/backlog-daily-summary/SKILL.md
このスキルを一度作っておくと、毎朝ターミナルのチャットで
「前日のBacklogを要約して」
と打つだけで、以降の複雑な手順をClaude Codeが自律的に実行してくれるようになります。
Step 1: Pythonスクリプトでデータ収集
Backlog APIを使って前日のアクティビティデータを取得します。
python3 .claude/skills/backlog-daily-summary/scripts/fetch_activities.py
このスクリプトは、実行する曜日によって対象期間を判定するロジックを組み込んでいます
- 月曜日:前週金曜日を対象
- それ以外:前日を対象
取得するアクティビティは、主に以下の3種類です。
| タイプ | 内容 |
| type=1 |
課題の追加
|
| type=2 |
課題の更新(担当者変更・ステータス変更等)
|
| type=3 | 課題にコメント |
Step 2: Claude Codeが要約を生成
データ収集が完了したら、Claude Codeがその内容を読み込み、課題を2つのセクションに分けて要約します。
生成した要約はdoc/summary/{yyyyMMdd}.mdにMarkdownファイルとして保存されます。
Step 2-1: 出力される2つのセクション
🆕 新規起票
その日に新しく作成された課題の「タイトル」と「説明(Description)」を1〜3行で要約します。
決定事項や次のアクションなど、重要なポイントは省略せずにピックアップさせます。
💬 やり取り
当日にコメントなどの動きがあった課題の内容を、同じく1〜3行で要約します。
担当者変更・ステータス変更のみの場合も、動きのある課題として対象に含みます。
Step 2-2: Claudeへの工夫
コメントのフィルタリング
Backlog APIでコメントを取得すると、起票時に自動生成される通知や添付ファイル追加なども「コメント」として返ってきます。
これをそのままにすると、新規起票した課題が必ず「やり取り」に分類されてしまうため、コメントの種類を判定してフィルタリングしています。
| コメントの種類 | 扱い |
| 起票通知 | 除外 |
| 担当者変更 | 含める |
| ステータス変更 | 含める |
| 添付ファイルのみ | 除外 |
発言者の特定
誰が何を言ったかを正確に要約するため、Claudeには以下のルールを与えています。
- 「@メンション」は宛先であり、発言者本人ではないことに注意する
- コメントの文脈(例:「ご回答ありがとうございます」など)から発言の向きを判断する
- 課題作成者や最終更新者を補助情報として活用する
- どうしても特定できない場合は、「〜という確認がありました」のように主語を省いて自然な文章にする
Step 3: Slackへ投稿
(※こちらのSlackへの投稿部分については、こちらの記事を参考にしてください!)

まとめ:朝の立ち上がりをスムーズに!
SKILL.mdを1つ書いておけば、毎朝「前日のBacklogを要約して」と打つだけで状況把握が完結します。
確認漏れも防げて、本来集中すべき開発タスクに朝イチから取り組めるようになりました。
今回紹介したスクリプトやSKILL.mdは、すべてClaude Codeと対話しながら作成しました。
皆さんのプロジェクトの環境に合わせて、ぜひClaude Codeと一緒に作ってみてください!