jpskill.com
💼 ビジネス コミュニティ 🟡 少し慣れが必要 👤 経営者・事業責任者・マーケ

💼 Teams会議Pipeline

teams-meeting-pipeline

Teams会議の議事録作成を自動化する

⏱ 競合分析レポート 3日 → 半日

📺 まず動画で見る(YouTube)

▶ 【自動化】AIガチ勢の最新活用術6選がこれ1本で丸分かり!【ClaudeCode・AIエージェント・AI経営・Skills・MCP】 ↗

※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。

📜 元の英語説明(参考)

Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Teams会議の議事録作成を自動化する

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o teams-meeting-pipeline.zip https://jpskill.com/download/1235.zip && unzip -o teams-meeting-pipeline.zip && rm teams-meeting-pipeline.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/1235.zip -OutFile "$d\teams-meeting-pipeline.zip"; Expand-Archive "$d\teams-meeting-pipeline.zip" -DestinationPath $d -Force; ri "$d\teams-meeting-pipeline.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して teams-meeting-pipeline.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → teams-meeting-pipeline フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

💬 こう話しかけるだけ — サンプルプロンプト

  • Teams Meeting Pipeline で、私のビジネスを分析して改善案を3つ提案して
  • Teams Meeting Pipeline を使って、来週の会議用の資料を作って
  • Teams Meeting Pipeline で、現状の課題を整理してアクションプランに落として

これをClaude Code に貼るだけで、このSkillが自動発動します。

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[スキル名] teams-meeting-pipeline

Teams会議パイプライン

ユーザーがMicrosoft Teamsの会議の要約、議事録、録音、アクションアイテム、Graphサブスクリプション、またはTeams会議パイプラインに関する運用上の質問をした場合は、常にこのスキルを使用してください。どの言語でも機能します。以下のトリガーは例であり、網羅的なリストではありません。

オペレーターが操作するすべての機能は、ターミナルツールを介して実行されるhermes teams-pipelineサブコマンドです。このパイプラインには新しいモデルツールはありません。CLIがインターフェースです。

このスキルを使用するタイミング

ユーザーが次のようなことを尋ねている場合:

  • Teams会議の要約/アクションアイテムの抽出/会議メモの取得
  • パイプラインステータスの確認、保存された会議ジョブの検査、または最近の会議の表示
  • 失敗した、または新しい要約が必要な保存済みジョブのリプレイ/再実行
  • 環境または設定の変更後のMicrosoft Graphセットアップの検証
  • 「会議の要約が届かない」または「新しい会議が取り込まれない」という問題のトラブルシューティング
  • Graph Webhookサブスクリプションの管理(作成、更新、削除、検査)
  • 自動サブスクリプション更新の設定(下記の落とし穴を参照)

多言語トリガーの例(網羅的ではありません):

  • 英語: "summarize the Teams meeting", "pipeline status", "replay job X"
  • トルコ語: "Teams meeting özetle", "action item çıkar", "toplantı notu", "pipeline durumu", "replay job"

前提条件

パイプラインを使用する前に、これらが~/.hermes/.envに設定されていることを確認してください。

MSGRAPH_TENANT_ID=...
MSGRAPH_CLIENT_ID=...
MSGRAPH_CLIENT_SECRET=...

いずれかが不足している場合は、ユーザーを/docs/guides/microsoft-graph-app-registrationにあるAzureアプリ登録ガイドに案内してください。パイプラインが機能するためには、管理者によって同意されたGraphアプリケーション権限を持つAzure ADアプリ登録が必要です。

コマンドリファレンス

ステータスと検査(ここから開始)

hermes teams-pipeline validate              # 設定スナップショット — 変更後最初に実行
hermes teams-pipeline token-health          # Graphトークンのステータス
hermes teams-pipeline token-health --force-refresh   # 強制的に新しいトークンを取得
hermes teams-pipeline list                  # 最近の会議ジョブ
hermes teams-pipeline list --status failed  # 失敗したジョブのみ
hermes teams-pipeline show <job-id>         # 1つのジョブの詳細
hermes teams-pipeline subscriptions         # 現在のGraph Webhookサブスクリプション

再実行/デバッグ

hermes teams-pipeline run <job-id>          # 保存されたジョブをリプレイ(再要約、再配信)
hermes teams-pipeline fetch --meeting-id <id>   # ドライラン: 永続化せずに会議と議事録を解決
hermes teams-pipeline fetch --join-web-url "<url>"   # 参加URLによるドライラン

サブスクリプション管理

hermes teams-pipeline subscribe \
  --resource communications/onlineMeetings/getAllTranscripts \
  --notification-url https://<your-public-host>/msgraph/webhook \
  --client-state "$MSGRAPH_WEBHOOK_CLIENT_STATE"

hermes teams-pipeline renew-subscription <sub-id> --expiration <iso-8601>
hermes teams-pipeline delete-subscription <sub-id>
hermes teams-pipeline maintain-subscriptions            # 期限切れが近いものを更新
hermes teams-pipeline maintain-subscriptions --dry-run  # 更新されるものを表示

よくある質問に対する意思決定ツリー

  • ユーザーが「今日の会議の要約が届かなかったのはなぜですか?」と尋ねる場合 → list --status failedから始め、関連する行でshow <job-id>を実行します。ジョブが全く存在しない場合は、subscriptionsを確認してください。Webhookの有効期限が切れている可能性があります(下記の落とし穴を参照)。
  • ユーザーが「セットアップは機能していますか?」と尋ねる場合 → validate、次にtoken-health、次にsubscriptionsを実行します。これらすべてがパスした場合、テスト会議をリクエストし、listで新しい行を確認します。
  • ユーザーが「会議Xの要約を再実行してください」と尋ねる場合 → listでジョブIDを見つけ、run <job-id>でリプレイします。再度失敗した場合は、show <job-id>でエラーを検査し、fetch --meeting-idでアーティファクト解決をドライランします。
  • ユーザーが「会議Xをパイプラインに追加してください」と尋ねる場合 → 通常は追加しません。パイプラインはサブスクリプション駆動であり、会議ごとではありません。特定の過去の会議の要約を希望する場合は、fetchで議事録を取得し、ジョブが作成された後にrunを使用します。

致命的な落とし穴: Graphサブスクリプションは72時間で期限切れになります

Microsoft GraphはWebhookサブスクリプションを72時間に制限しており、自動更新は行いませんmaintain-subscriptionsがスケジュールされていない場合、手動でサブスクリプションを作成してから3日後に会議通知が静かに届かなくなります。

ユーザーが「パイプラインは昨日機能しましたが、今日は何も届きません」と報告した場合:

  1. hermes teams-pipeline subscriptionsを実行します。空であるか、すべてのエントリのexpirationDateTimeが過去の日付を示している場合、それが原因です。
  2. 上記のようにsubscribeで再作成します。
  3. hermes cron add、systemdタイマー、または通常のcrontabを介して自動更新を直ちに設定してください/docs/guides/operate-teams-meeting-pipeline#automating-subscription-renewal-required-for-productionのオペレーターランブックには、これら3つのオプションすべてが記載されています。12時間間隔は安全です(72時間の制限に対して6倍の余裕があります)。

その他の落とし穴

  • 議事録がまだ利用できません。 会議終了後、Teamsが議事録アーティファクトを生成するまでに時間がかかります。終了したばかりの会議でfetch --meeting-idを実行すると、空の結果が返される場合があります。2〜5分待ってから再試行するか、Graph Webhookに自然な取り込みを任せてください。
  • 配信モードの不一致。 要約が生成される(listが成功を示す)が、Teamsに何も届かない場合、platforms.teams.extra.delivery_modeと一致するターゲット設定(incoming_webhook_urlまたはchat_idまたはteam_id+channel_id)を確認してください。ライターはこれらをconfig.yamlまたはTEAMS_*環境変数から読み取ります。
  • Graphアプリの権限。 トークンは正常に取得される(token-healthがパスする)が、権限が追加された後に管理者同意が再付与されていない場合、Graph API呼び出しが401/403を返します。ユーザーにAzureポータルのアプリ登録を再確認し、「Grant admin consent」を再度クリックするように指示してください。

関連ドキュメント

このスキルでカバーされていない詳細が必要な場合は、ユーザーにこれらを案内してください。

  • Azureアプリ登録のチュートリアル: /docs/guides/microsoft-graph-app-registration
  • 完全なパイプラインセットアップ: /docs/user-guide/messaging/teams-meetings
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Teams Meeting Pipeline

Use this skill whenever the user asks about Microsoft Teams meeting summaries, transcripts, recordings, action items, Graph subscriptions, or any operational question about the Teams meeting pipeline. Works in any language — the triggers below are examples, not an exhaustive list.

Everything operator-facing is a hermes teams-pipeline subcommand run via the terminal tool. There are no new model tools for this pipeline — the CLI is the surface.

When to use this skill

The user is asking to:

  • summarize a Teams meeting / extract action items / pull meeting notes
  • check pipeline status, inspect a stored meeting job, or see recent meetings
  • replay / re-run a stored job that failed or needs a fresh summary
  • validate Microsoft Graph setup after changing env or config
  • troubleshoot "meeting summary never arrived" or "no new meetings are ingesting"
  • manage Graph webhook subscriptions (create, renew, delete, inspect)
  • set up automated subscription renewal (see pitfall below)

Multilingual trigger examples (not exhaustive):

  • English: "summarize the Teams meeting", "pipeline status", "replay job X"
  • Turkish: "Teams meeting özetle", "action item çıkar", "toplantı notu", "pipeline durumu", "replay job"

Prerequisites

Before using the pipeline, verify these are set in ~/.hermes/.env:

MSGRAPH_TENANT_ID=...
MSGRAPH_CLIENT_ID=...
MSGRAPH_CLIENT_SECRET=...

If any are missing, direct the user to the Azure app registration guide at /docs/guides/microsoft-graph-app-registration — they need an Azure AD app registration with admin-consented Graph application permissions before the pipeline will work.

Command reference

Status and inspection (start here)

hermes teams-pipeline validate              # config snapshot — run first after any change
hermes teams-pipeline token-health          # Graph token status
hermes teams-pipeline token-health --force-refresh   # force a fresh token acquisition
hermes teams-pipeline list                  # recent meeting jobs
hermes teams-pipeline list --status failed  # only failed jobs
hermes teams-pipeline show <job-id>         # full detail of one job
hermes teams-pipeline subscriptions         # current Graph webhook subscriptions

Re-running / debugging

hermes teams-pipeline run <job-id>          # replay a stored job (re-summarize, re-deliver)
hermes teams-pipeline fetch --meeting-id <id>   # dry-run: resolve meeting + transcript without persisting
hermes teams-pipeline fetch --join-web-url "<url>"   # dry-run by join URL

Subscription management

hermes teams-pipeline subscribe \
  --resource communications/onlineMeetings/getAllTranscripts \
  --notification-url https://<your-public-host>/msgraph/webhook \
  --client-state "$MSGRAPH_WEBHOOK_CLIENT_STATE"

hermes teams-pipeline renew-subscription <sub-id> --expiration <iso-8601>
hermes teams-pipeline delete-subscription <sub-id>
hermes teams-pipeline maintain-subscriptions            # renew near-expiry ones
hermes teams-pipeline maintain-subscriptions --dry-run  # show what would be renewed

Decision tree for common asks

  • User asks "why didn't I get a summary for today's meeting?" → start with list --status failed, then show <job-id> on the relevant row. If the job doesn't exist at all, check subscriptions — the webhook may have expired (see pitfall below).
  • User asks "is setup working?" → validate, then token-health, then subscriptions. If all three pass, request a test meeting and check list for a fresh row.
  • User asks "re-run summary for meeting X" → list to find the job ID, run <job-id> to replay. If it fails again, show <job-id> to inspect the error and fetch --meeting-id to dry-run the artifact resolution.
  • User asks "add meeting X to the pipeline" → usually you don't — the pipeline is subscription-driven, not per-meeting. If they want a specific past meeting summarized, use fetch to pull transcript + run after a job is created.

Critical pitfall: Graph subscriptions expire in 72 hours

Microsoft Graph caps webhook subscriptions at 72 hours and will not auto-renew them. If maintain-subscriptions is not scheduled, meeting notifications silently stop arriving 3 days after any manual subscription creation.

When the user reports "the pipeline worked yesterday but nothing is arriving today":

  1. Run hermes teams-pipeline subscriptions — if it's empty or all entries show expirationDateTime in the past, that's the cause.
  2. Recreate with subscribe as shown above.
  3. Set up automated renewal immediately via hermes cron add, a systemd timer, or plain crontab. The operator runbook at /docs/guides/operate-teams-meeting-pipeline#automating-subscription-renewal-required-for-production has all three options. 12-hour interval is safe (6x headroom against the 72h limit).

Other pitfalls

  • Transcript not available yet. Teams takes some time after a meeting ends to generate the transcript artifact. fetch --meeting-id on a just-ended meeting may return empty. Wait 2-5 minutes and retry, or let the Graph webhook drive ingestion naturally.
  • Delivery mode mismatch. If summaries are produced (list shows success) but nothing lands in Teams, check platforms.teams.extra.delivery_mode and the matching target config (incoming_webhook_url OR chat_id OR team_id+channel_id). The writer reads these from config.yaml or TEAMS_* env vars.
  • Graph app permissions. A token acquires cleanly (token-health passes) but Graph API calls return 401/403 when permissions were added but admin consent wasn't re-granted. Have the user revisit the app registration in the Azure portal and click "Grant admin consent" again.

Related docs

Point the user to these when they need more depth than this skill covers:

  • Azure app registration walkthrough: /docs/guides/microsoft-graph-app-registration
  • Full pipeline setup: /docs/user-guide/messaging/teams-meetings
  • Operator runbook (renewal automation, troubleshooting, go-live checklist): /docs/guides/operate-teams-meeting-pipeline
  • Webhook listener setup: /docs/user-guide/messaging/msgraph-webhook