mcpField
M
meeting-analyzer

meeting-analyzer

github.com/alirezarezvani生産性28.9k578 回インストール2 日前に更新
リポジトリ

meeting-analyzer について

meeting-analyzerは、コミュニケーションや会議運営の改善を目指す人向けの文字起こし分析スキルです。話者情報のある記録から発言の動き、率直さ、傾聴、意思決定を評価し、文脈付きのレポートを作成します。

主な機能

  1. 01複数形式の文字起こしを走査・整理
  2. 02発言割合、発話ターン、中断を分析
  3. 03婉曲表現やフィラーを特定
  4. 04質問と傾聴を評価
  5. 05会議進行と決定の明確さを確認
  6. 06引用を含む分析レポートを作成

活用シーン

  1. 01会議での自身のコミュニケーション習慣を振り返る
  2. 02複数会議の発言や相互作用の傾向を比較
  3. 03進行役としての参加状況とアクション項目を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill meeting-analyzer

インストール後、Claude Code で/meeting-analyzerを入力して読み込まれたか確認します。

詳細

会議インサイト分析

maximcoding が最初に提供し、claude-skills チームが拡張・統合しました。

会議の文字起こしを、コミュニケーションのパターン、リーダーシップの振る舞い、対人関係の動きに関する、具体的で根拠に基づいたフィードバックに変換します。

コアワークフロー

1. 取り込みと目録作成

対象ディレクトリで、文字起こしファイル(.txt、.md、.vtt、.srt、.docx、.json)を検索します。

ファイルごとに次の処理を行います。

  • ファイル名または内容から会議の日付を抽出します(YYYY-MM-DD の接頭辞、または埋め込みタイムスタンプを想定)。
  • 話者ラベルを特定します。Speaker 1:、[John]:、John Smith 00:14:32、VTT/SRT のキュー形式などのパターンを探します。
  • ユーザーが誰かを特定します。曖昧な場合は質問し、それ以外の場合は最も頻繁に発言する話者、またはファイル名の手がかりから推定します。
  • ファイル名、日付、所要時間(タイムスタンプから算出)、参加者数、単語数を記録します。

本格的な分析を始める前に、対象範囲をユーザーが確認できるよう、簡潔な目録表を表示します。

2. 文字起こしの正規化

ツールによって出力形式は大きく異なります。分析の前に、すべてを共通の内部構造に正規化します。

{ speaker: string, timestamp_sec: number | null, text: string }[]

形式ごとの処理:

  • VTT/SRT:キューのタイムスタンプとテキストを解析します。話者ラベルはインライン(<v Speaker>)または接頭辞として付与されている場合があります。
  • プレーンテキスト:各行の Name: または [Name] の接頭辞を探します。話者ラベルがない場合は、話者ごとの分析が限定されることをユーザーに警告します。
  • Markdown:書式を取り除いてから、プレーンテキストとして扱います。
  • DOCX:テキスト内容を抽出してから、プレーンテキストとして扱います。
  • JSON:speaker/text フィールドを持つオブジェクトの配列を想定します(Otter/Fireflies の一般的なエクスポート形式)。

タイムスタンプがない場合は、適切に処理を縮退させます。タイミングに依存する指標(発話ペース、一時停止の分析)は省略しますが、テキストベースの分析は実施します。

3. 分析

以下の該当する分析モジュールをすべて実行します。各モジュールは独立しています。該当しないもの(例:話者ラベルがない場合の発言比率の分析)は省略します。


モジュール:発言の動態

話者ごとに次の項目を算出します。

  • 会議全体の単語数に対する単語数と割合
  • 発言ターン数 — 各人が発言した回数
  • 平均発言ターン長 — 中断されずに話した1ターンあたりの単語数
  • 最長の独話 — 60秒または200語を超える発言ターンにフラグを付けます。
  • 割り込みの検出 — 前の話者の最後のタイムスタンプから2秒以内に始まる発言ターン、または文の途中での割り込み

会議ごとの概要と、文字起こしが複数ある場合は会議横断の平均を作成します。

注意すべき兆候:

  • 1対多数の会議で、ユーザーの発言が60%を超える(会話を支配している)
  • ユーザーが進行役を務める会議で、発言が15%未満(関与が低い、または委任しすぎている)
  • 一度も発言しない参加者がいる(発言の機会を排除されている)
  • 割り込み比率が2:1を超える(ユーザーが割り込まれる回数の2倍の頻度で他者に割り込んでいる)

モジュール:対立と率直さ

ユーザーの発言をスキャンし、曖昧さや回避を示す表現を検出します。

曖昧な表現(会議ごとに集計し、出現ごとにスコアを付与):

  • 限定表現:「たぶん」「なんというか」「ある意味」「だと思います」「可能性があります」「とも言えます」
  • 許可を求める表現:「よろしければ」「〜してもよろしいでしょうか」「間違っているかもしれませんが」
  • 判断の委ね:「あなたの考えに任せます」「お任せします」「どちらでも大丈夫です」
  • 反対意見を述べる前の緩和表現:「反対するつもりはありませんが」「ばかな質問かもしれませんが」

対立回避のパターン(より多くの文脈が必要です。確信度を付けてフラグを立てます):

  • 緊張が生じた後の話題変更(話者 A が問題を提起 → ユーザーが事務的な話題に切り替える)
  • 口先だけの同意:「そうですね、まったくそのとおりです」に続いて、行動やフォローアップがない
  • 他者の懸念を実際より小さく捉え直す:「たぶん、そこまで大きな問題ではないでしょう」
  • 1 対 1 の面談で、業績に関する話題が想定されるにもかかわらず、フィードバックがない

フラグを立てた各事例について、以下を抽出します。

  • 引用全体(前後 2 ターンの文脈を含む)
  • 重大度タグ:low(単独の曖昧な言葉)、medium(1 回のやり取りにおける曖昧表現のパターン)、high(必要な会話を明らかに回避している)
  • 書き換え案:より率直に言うとどう聞こえるか

モジュール:フィラーと言葉の癖

次の表現の出現回数を数えます:「えーと」「あの」「なんか」(比較の意味ではない場合)、「ご存じのとおり」「実際」「基本的に」「文字どおり」「ですよね?」(付加疑問)、「そうですね」「つまり」

報告項目:

  • 会議ごとの合計数
  • 発話 100 語あたりの割合(会議の長さの違いを補正)
  • フィラーの種類ごとの内訳
  • 文脈に応じた増加:特定の状況(例:上級の関係者への返答、否定的なフィードバックを伝えるとき、準備なしで質問されたとき)にフィラーが増えているか

割合が 100 語あたり約 3 回を超える場合にのみ、問題としてフラグを立てます。それを下回る場合は、通常の話し方です。


モジュール:質問の質と傾聴

ユーザーの質問を分類します。

  • 閉じた質問(はい/いいえで答えられる):「レポートは完成しましたか?」
  • 誘導質問(答えが含まれている):「もっと早くリリースすべきだと思いませんか?」
  • 本質的なオープン質問:「何が障害になっていますか?」
  • 確認質問(直前の発言者の発言を参照):「X とおっしゃったとき、Y という意味でしたか?」
  • 発展的な質問(他の人のアイデアを広げる):「それは興味深いですね。さらに Z も加えたらどうでしょう?」

傾聴ができていることを示す指標:

  • 確認質問や発展的な質問(積極的に内容を理解していることを示します)
  • 言い換え:「つまり、私が聞いたところでは……」
  • 会議の前半で誰かが述べた点に言及する
  • 発言の少ない参加者に意見を求める

傾聴が不十分であることを示す指標:

  • すでに回答された質問をする
  • 相手の返答に触れずに自分の主張を繰り返す
  • 質問に対して無関係な話題で答える

オープン質問/確認質問/発展的な質問と、閉じた質問/誘導質問の比率を報告します。


モジュール:ファシリテーションと意思決定

ユーザーが会議の主催者またはファシリテーターである場合にのみ適用します。

次の点を評価します。

  • アジェンダの遵守:会議は構成に沿って進みましたか。それとも脱線しましたか?
  • 時間管理:各議題にかかった時間は、予定と比べてどうでしたか?
  • 参加の促進:ファシリテーターは発言の少ない参加者に積極的に発言を促しましたか?
  • 決定事項の明確さ:決定事項は明確に述べられましたか?(「では、選択肢 B で進めます。金曜日までのフォローアップは Sarah が担当します。」)
  • アクションアイテム:担当者と期限を決めましたか。それとも曖昧なままにしましたか?
  • 保留事項の管理:議題から外れた事項を認識して後回しにしましたか。それとも会議の進行を妨げましたか?

モジュール:感情と活気

会議全体を通したユーザーの発言の感情的な推移を追跡します。

  • 肯定的な指標:熱意のある同意、励まし、ユーモア、称賛
  • 否定的な指標:苛立ち、軽視、皮肉、そっけない返答
  • 中立/平坦:活気のない返答、一語だけの回答

活気の低下にフラグを立てます。これは、ユーザーの関与が目に見えて低下する場面(発言が短くなる、内容のある返答が減る)を指します。こうした低下は、不快感、退屈、回避と関連していることがよくあります。

4. レポートを出力する

最終出力は、まとまりのある単一のレポートとして構成します。このひな形を使用してください。不足しているデータがあるセクションは省略します。

# Meeting Insights Report

**Period**: [earliest date] – [latest date]
**Meetings analyzed**: [count]
**Total transcript words**: [count]
**Your speaking share (avg)**: [X%]

---

## Top 3 Findings

[Rank by impact. Each finding gets 2-3 sentences + one concrete example with a direct quote and timestamp.]

## Detailed Analysis

### Speaking Dynamics
[Stats table + narrative interpretation + flagged red flags]

### Directness & Conflict Patterns
[Flagged instances grouped by pattern type, with quotes and rewrites]

### Verbal Habits
[Filler word stats, contextual spikes, only if rate > 3/100 words]

### Listening & Questions
[Question type breakdown, listening indicators, specific examples]

### Facilitation
[Only if applicable — agenda, decisions, action items]

### Energy & Sentiment
[Arc summary, flagged drops]

## Strengths
[3 specific things the user does well, with evidence]

## Growth Opportunities
[3 ranked by impact, each with: what to change, why it matters, a concrete "try this next time" action]

## Comparison to Previous Period
[Only if prior analysis exists — delta on key metrics]
5. フォローアップの選択肢

レポートを提示した後、次の選択肢を提示します。

  • 特定の会議やパターンを詳しく分析する
  • ユーザーが改善すべき上位 3 つの習慣をまとめた、1 ページの「コミュニケーション用チートシート」を作成する
  • トラッキングを設定する — 現在の指標をベースラインとして保存し、今後の比較に使用する
  • パフォーマンスレビューで使用できるよう、Markdown または構造化 JSON 形式でエクスポートする

エッジケース

  • 話者ラベルがない場合:最初にユーザーへその旨を伝えます。テキストレベルの分析(フィラーワード、文字起こし全体における質問の種類)は実行しますが、話者ごとの指標は対象外とします。話者ダイアライゼーションを有効にして再エクスポートするよう提案します。
  • 会議が非常に短い場合(5 分未満または 500 語未満):分析は実行しますが、短い会議で見られたパターンは代表的でない可能性があることを注記します。
  • 英語以外の文字起こしの場合:フィラーワードとヘッジ表現の辞書は英語を中心に構成されています。他の言語ではこの制約を説明し、構造的な分析(発話比率、会話の交代、質問数)に重点を置きます。
  • 単一の会議か、複数の会議のデータか:文字起こしが 1 件のみの場合、傾向や比較に関する表現は避けます。その会議単体の所見に焦点を当てます。
  • ユーザーを特定できない場合:確認しても、どの話者がユーザーなのか判断できない場合は、分析を進める前に質問します。推測してはいけません。

文字起こしの取得方法

ユーザーが文字起こしの取得方法に迷っているように見える場合のみ、このセクションを出力に含めます。

  • Zoom:Settings → Recording → 「Audio transcript」を有効にします。クラウド録画から .vtt をダウンロードします。
  • Google Meet:自動文字起こしは、カレンダーの予定にある Drive フォルダ内の Google ドキュメントに保存されます。
  • Granola:Markdown 形式でエクスポートできます。一般向けツールの中では、話者ラベルの品質が最も優れています。
  • Otter.ai:ウェブダッシュボードから .txt または .json としてエクスポートします。
  • Fireflies.ai:.docx または .json としてエクスポートできます。どちらも使用できます。
  • Microsoft Teams:文字起こしは会議チャットに表示されます。.vtt としてダウンロードします。

時系列で簡単に分析できるよう、YYYY-MM-DD - Meeting Name.ext という命名規則を推奨します。


アンチパターン

アンチパターン失敗する理由より良いアプローチ
話者ラベルなしで分析する人ごとの指標を算出できず、一般的なワードクラウドしか得られません話者の識別を有効にして再エクスポートするようユーザーに依頼します
5 分間の朝会にすべてのモジュールを適用する過剰です。フィラーワードと対立の分析には、20 分以上の会議が必要です会議の長さを自動検出し、関連性のないモジュールをスキップします
指標を文脈なしで提示するベンチマークなしで「『えーと』を 47 回使いました」と伝えると、ユーザーの意欲を損ないます常に標準値と比較し、時間の経過に伴う推移を示します
1 回の会議だけを単独で分析する1 回の会議はスナップショットであり、パターンではありません。結論の信頼性に欠けます傾向に基づくコーチングには、最低 3 回以上の会議を必要とします
発話時間の均等さを目標にするファシリテーターは話す時間を減らすべきであり、プレゼンターは話す時間を増やすべきです会議の種類と役割に応じて、発話比率を評価します
すべてのヘッジ表現を否定的に扱うブレインストーミングでは、「私はそう思います」や「たぶん」は適切です意思決定の会議(ヘッジ表現は望ましくない)とアイデア出し(ヘッジ表現は問題ない)を区別します

関連スキル

スキル関連性
project-management/senior-pmより広範な PM の支援範囲です。プロジェクト計画、リスク、ステークホルダーに使用します
project-management/scrum-masterアジャイルのセレモニーに対応します。振り返りの質を高めるため、meeting-analyzer と併用します
project-management/confluence-expert会議分析の結果を Confluence ページとして保存します
c-level-advisor/executive-mentor経営層向けのコミュニケーションコーチングです。補完的な視点を提供します

コメント