GitHubのコミットをAIで分析し、図解レポートをSlackに自動投稿するツール(コミネコ)
Go to file
2026-04-03 19:31:32 +09:00
.claude feat: コミットレポートツール(コミネコ)初期コミット 2026-04-03 19:31:32 +09:00
.github/workflows feat: コミットレポートツール(コミネコ)初期コミット 2026-04-03 19:31:32 +09:00
configs feat: コミットレポートツール(コミネコ)初期コミット 2026-04-03 19:31:32 +09:00
.gitignore feat: コミットレポートツール(コミネコ)初期コミット 2026-04-03 19:31:32 +09:00
CLAUDE.md feat: コミットレポートツール(コミネコ)初期コミット 2026-04-03 19:31:32 +09:00
package-lock.json feat: コミットレポートツール(コミネコ)初期コミット 2026-04-03 19:31:32 +09:00
package.json feat: コミットレポートツール(コミネコ)初期コミット 2026-04-03 19:31:32 +09:00
README.md feat: コミットレポートツール(コミネコ)初期コミット 2026-04-03 19:31:32 +09:00

コミットレポートツール

GitHubのコミットをAIで分析し、図解レポートをSlackに自動投稿するツールです。愛称は「コミネコ」。

┌──────────────────────────────────────────────────────────────┐
│  📊 昨日の開発レポート                     2026-01-15        │
│                                                              │
│  ┌────────────┐ ┌────────────┐ ┌────────────┐              │
│  │  5 commits │ │ 2 branches │ │ 3 members  │              │
│  └────────────┘ └────────────┘ └────────────┘              │
│                                                              │
│  ⭐ ハイライト                                               │
│  • ログインページのデザインを刷新                              │
│  • 検索機能の応答速度が向上                                    │
│                                                              │
│  🐱 コミネコ で自動生成                                       │
└──────────────────────────────────────────────────────────────┘

Slackにはこのような図解レポートの画像が毎朝届きます。


料金について

このツールで使う外部サービスの料金です。

サービス 用途 料金
GitHub Actions 定期実行(トリガー) 毎月 2,000 分無料
GitHub API コミットデータ取得 無料5,000 リクエスト/時)
Claude API AIによる分析・図解生成 従量課金1回あたり約 $0.05〜0.20
Slack レポート画像の通知先 無料ワークスペースで可

このツールの4パーツ

第3回講義で学んだ「4パーツ」が、このツールではどのファイルに対応しているかを示します。

┌─────────────┐
│  トリガー     │  .github/workflows/daily-report.yml
│  (いつ動く) │  → 毎朝7時 or 手動実行
└──────┬──────┘
       ▼
┌─────────────┐
│  ソース元    │  .claude/skills/github-api/scripts/
│  (データ)  │  → GitHub API からコミットを取得
└──────┬──────┘
       ▼
┌─────────────┐  .claude/skills/code-analyzer/      ← ビジネス視点で分析
│  処理する場所 │  .claude/skills/diagram-guidelines/ ← HTML図解を生成
│  (加工)    │  .claude/skills/screenshot-capture/ ← 画像に変換
└──────┬──────┘
       ▼
┌─────────────┐
│  届ける先    │  .claude/skills/slack-formatting/scripts/
│  (配信)    │  → Slack に画像付きで投稿
└─────────────┘

ファイル構成

.claude/
├── prompts/
│   └── daily-report.md              # メイン処理フロー
└── skills/
    ├── code-analyzer/               # ビジネス視点での分析ルール
    ├── config-reader/               # 設定ファイルの読み方
    ├── diagram-guidelines/          # HTML図解のデザイン
    │   └── examples/                # お手本HTML5種類
    ├── github-api/                  # GitHub API 操作
    │   └── scripts/                 # コミット取得スクリプト
    ├── screenshot-capture/          # スクリーンショット撮影
    │   └── scripts/                 # Playwright スクリプト
    └── slack-formatting/            # Slack投稿
        └── scripts/                 # 画像まとめ投稿スクリプト

configs/
├── repos/your-repo.yml             # リポジトリ構造定義
└── projects/your-project.yml       # プロジェクト設定

.github/workflows/
├── daily-report.yml                # GitHub Actions 定義
└── report-job.yml                  # 再利用ワークフロー

セットアップ

前提

  • GitHub アカウントと監視したいリポジトリが必要です
  • Slack ワークスペースが必要です(無料プランで可)
  • このツールは GitHub Actions が全自動で実行します。あなたのPCで npm install を実行する必要はありません

Part A: リポジトリを準備する

  1. このリポジトリを自分の GitHub アカウントにフォーク(またはコピー)する
  2. リポジトリは Private にしてくださいAPIキーなどの設定を含むため

Part B: リポジトリの情報を設定する

まず2行だけ書き換えてください。 残りはそのままで動きます。

configs/repos/your-repo.yml を開いて:

repository:
  owner: your-username   # ← ここをあなたのGitHubユーザー名に
  name: your-web-app     # ← ここを監視したいリポジトリ名に

これだけでリポジトリ全体のコミットがレポート対象になります。 アプリ別の分類が必要な場合は「カスタマイズ」セクションで設定します。

Part C: Slack App を作成する

  1. https://api.slack.com/apps にアクセスし「Create New App」をクリック
  2. 「From scratch」を選択し、アプリ名例: コミネコ)とワークスペースを設定
  3. 左メニュー「OAuth & Permissions」→ Bot Token Scopes に以下を追加:
    • files:write
    • chat:write
  4. 「Install to Workspace」→ 許可する
  5. 表示される Bot User OAuth Tokenxoxb- で始まる)をコピー
  6. レポートを投稿したいチャンネルにボットを追加(チャンネル設定 → インテグレーション → アプリを追加)
  7. チャンネルの チャンネルID を確認(チャンネル名を右クリック → チャンネル詳細 → 最下部に表示)

Part D: GitHub Secrets を設定する

リポジトリの Settings → Secrets and variables → Actions → New repository secret で以下を登録:

Secret名
ANTHROPIC_API_KEY Claude API キー(https://console.anthropic.com/ で取得)
GH_TOKEN GitHub Personal Access Tokenrepo スコープ)
SLACK_BOT_TOKEN Part C でコピーした Bot User OAuth Token
SLACK_CHANNEL Part C で確認したチャンネルID

Part E: ローカル検証(オプション)

GitHub Actions を動かす前に、設定が正しいか確認できます。Part B で設定した ownername の値を使ってください。

macOS / Linux:

# Node.js が必要ですAIに「Node.jsをインストールして」と依頼してください
GH_TOKEN=あなたのトークン node .claude/skills/github-api/scripts/get-commits.js あなたのユーザー名 リポジトリ名

Windowsコマンドプロンプト:

set GH_TOKEN=あなたのトークン
node .claude/skills/github-api/scripts/get-commits.js あなたのユーザー名 リポジトリ名

コミットデータが表示されれば「ソース元」の設定は正しいです。

Part F: GitHub Actions を実行する

  1. リポジトリの「Actions」タブを開く
  2. 左メニューから「Daily Commit Report」を選択
  3. 「Run workflow」→「Run workflow」をクリック
  4. 数分待つと Slack にレポートが届きます

チェックポイント

  • Slack チャンネルに図解レポートの画像が届いた
  • レポートに自分のリポジトリのコミット情報が含まれている

アーキテクチャ

このツールは Claude Code の Skills 機能を活用しています。各スキルが特定の役割を担い、メインプロンプト(daily-report.md)がそれらを順番に呼び出します。

daily-report.mdメイン処理フロー
    │
    ├→ config-reader      設定ファイルを読み込む
    ├→ github-api          コミットデータを取得する
    ├→ code-analyzer       ビジネス視点で要約する
    ├→ diagram-guidelines  HTML図解を生成する
    ├→ screenshot-capture  HTMLをPNG画像に変換する
    └→ slack-formatting    Slackに画像を投稿する

生成されるレポート5種類

レポート 内容
昨日の開発 統計情報(コミット数、ブランチ数)とハイライト
ブランチ詳細 各ブランチの作業内容1ブランチ1枚
アプリ別 アプリごとにグループ化された変更一覧
タイムライン 時系列での作業履歴
ワンポイントTIPS 変更内容に関連する豆知識(オプション)

設定ファイルの2層構造

configs/repos/your-repo.yml     ← リポジトリ内のアプリを定義(共有)
         ↑ 参照
configs/projects/your-project.yml ← どのアプリを対象にするか(個別)

この分離により、1つのリポジトリ定義を複数のプロジェクトから参照できます。


カスタマイズ

アプリ別の分類を設定する(モノレポ対応)

configs/repos/your-repo.ymlapps セクションを編集:

apps:
  - id: your-app
    path: "src/app/"         # ← このディレクトリのコミットが対象
    name: "あなたのアプリ名"
    short_name: "App"
    icon: "smartphone"       # Lucide アイコン名
    color: "blue"            # Tailwind CSS 色名
    category: "main"

不要なアプリ定義は行ごと削除してください。

定期実行を有効にする

.github/workflows/daily-report.yml の cron 行のコメントを外す:

on:
  schedule:
    - cron: '0 22 * * *'  # 毎日7:00 JST

ワンポイントTIPSを無効にする

configs/projects/your-project.yml:

tips:
  enabled: false

図解のデザインを変更する

.claude/skills/diagram-guidelines/examples/ 内のHTMLを編集すると、Claudeが生成するレポートのデザインが変わります。


セキュリティ

  • リポジトリは Private に: APIキーが含まれるため、公開リポジトリにしないでください
  • GitHub Secrets: すべてのAPIキーは GitHub Secrets に保存されます。コードに直接書かないでください
  • Slack Bot Token: Bot Token Scopes は files:writechat:write のみに制限してください
  • GH_TOKEN: Personal Access Token は repo スコープのみ必要です

困ったとき

  1. まずAIに聞く: Cursorで「セットアップでのエラーが出ました」と伝えてください
  2. GitHub Actions のログを確認: Actions タブ → 失敗したジョブ → ログを読む
  3. よくある問題:
    • 「コミットがない」→ 対象日のコミットがないか、リポジトリ名が間違っている
    • 「not_authed」→ SLACK_BOT_TOKEN が間違っているか期限切れ
    • 「Bad credentials」→ GH_TOKEN が間違っているか期限切れ
  4. Slackで相談: ADS Slackの質問チャンネルに投稿してください

技術スタック

項目 選定 理由
実行基盤 GitHub Actions 無料枠2,000分/月、並列Job対応
AI実行 Claude Code Action Skills機能で知識を分離・再利用
図解生成 HTML + Tailwind CSS Claude が生成しやすく、デザイン品質が高い
スクリーンショット Playwright Headless対応、GitHub Actionsで動作確認済み
通知 Slack API 複数画像をまとめて投稿可能

参考