meeting-analyzer
Analyzes meeting transcripts and recordings to surface behavioral patterns, communication anti-patterns, and actionable coaching feedback. Use this skill whenever the user uploads or points to meeting transcripts (.txt, .md, .vtt, .srt, .docx), asks about their communication habits, wants feedback on how they run meetings, requests speaking ratio analysis, mentions filler words or conflict avoidance, or wants to compare their communication across time periods. Also trigger when users mention tools like Granola, Otter, Fireflies, or Zoom transcripts. Even if the user just says "look at my meetings" or "how do I come across in meetings" — use this skill.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o meeting-analyzer.zip https://jpskill.com/download/21960.zip && unzip -o meeting-analyzer.zip && rm meeting-analyzer.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/21960.zip -OutFile "$d\meeting-analyzer.zip"; Expand-Archive "$d\meeting-analyzer.zip" -DestinationPath $d -Force; ri "$d\meeting-analyzer.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
meeting-analyzer.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
meeting-analyzerフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[スキル名] 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. 分析
以下の適用可能なすべての分析モジュールを実行します。各モジュールは独立しています — 適用されないもの(例:発言者ラベルがない場合は発言比率をスキップ)はスキップします。
モジュール:発言のダイナミクス
発言者ごとに計算します:
- 単語数と割合:会議全体の単語数に対する割合
- 発言回数:各人が発言した回数
- 平均発言長:中断のない発言ごとの単語数
- 最長モノローグ:60秒または200単語を超える発言をフラグ付けします
- 割り込み検出:前の発言者の最後のタイムスタンプから2秒以内に開始する発言、または文中の途切れ
複数の議事録が存在する場合は、会議ごとの要約と会議間の平均を作成します。
表面化すべき危険信号:
- 1対多の会議でユーザーが60%以上発言している(支配的)
- ユーザーがファシリテーションしている会議で15%未満しか発言していない(無関心または過度な委任)
- 参加者の1人が全く発言しない(排除された声)
- 割り込み比率が2:1を超える(ユーザーが割り込まれる頻度の2倍の頻度で他者を割り込ませる)
モジュール:対立と直接性
ユーザーの発言から、曖昧な表現や回避のマーカーをスキャンします。
曖昧な表現(インスタンスごとにスコア付けし、会議ごとに集計):
- 限定詞:「maybe(たぶん)」、「kind of(~のような)」、「sort of(~のような)」、「I guess(~だと思う)」、「potentially(潜在的に)」、「arguably(議論の余地があるが)」
- 許可を求める表現:「if that's okay(もしよろしければ)」、「would it be alright if(~してもよろしいでしょうか)」、「I don't know if this is right but(これが正しいかわかりませんが)」
- 責任転嫁:「whatever you think(あなたがどう思うか)」、「up to you(あなた次第です)」、「I'm flexible(私は柔軟です)」
- 不一致の前の緩和表現:「I don't want to push back but(反論したくはないのですが)」、「this might be a dumb question(これは愚かな質問かもしれませんが)」
対立回避パターン(より多くのコンテキストが必要、信頼度レベルでフラグ付け):
- 緊張後の話題変更(発言者Aが問題を提起 → ユーザーがロジスティクスに話題を転換)
- コミットメントのない同意:「yeah totally(ええ、全くその通りです)」の後に具体的な行動やフォローアップがない
- 他者の懸念を過小評価する再構成:「it's probably not that big a deal(おそらく大したことではありません)」
- パフォーマンスに関する話題が期待される1対1の会議でのフィードバックの欠如
フラグ付けされた各インスタンスについて、以下を抽出します。
- 完全な引用(前後の2つの発言を含むコンテキスト付き)
- 重大度タグ:
low(単一の曖昧な単語)、medium(1つのやり取りにおける曖昧な表現のパターン)、high(必要な会話を明らかに回避した) - 書き換えの提案:より直接的な表現がどのようなものか
モジュール:フィラーワードと口癖
以下の出現回数をカウントします:「um」、「uh」、「like」(比較ではない場合)、「you know」、「actually」、「basically」、「literally」、「right?」(付加疑問)、「so yeah」、「I mean」
報告内容:
- 会議ごとの合計回数
- 発言100単語あたりの割合(会議の長さに応じて正規化)
- フィラーの種類別の内訳
- 文脈上の急増 — 特定の状況でフィラーが増加するか?(例:上級ステークホルダーに返答する際、否定的なフィードバックを与える際、突然質問された際)
この問題を問題としてフラグ付けするのは、割合が100単語あたり約3を超える場合のみです。それ以下であれば、通常の会話です。
モジュール:質問の質と傾聴
ユーザーの質問を分類します。
- クローズド(はい/いいえ):"Did you finish the report?(レポートは終わりましたか?)"
- 誘導的(答えが埋め込まれている):"Don't you think we should ship sooner?(もっと早く出荷すべきだと思いませんか?)"
- オープンで本質的:"What's blocking you on this?(これについて何が妨げになっていますか?)"
- 明確化(前の発言者を参照):"When you said X, did you mean Y?(Xとおっしゃったとき、Yという意味でしたか?)"
- 発展的(他者のアイデアを拡張):"That's interesting — what if we also Z?(それは興味深いですね — Zもしたらどうでしょうか?)"
良い傾聴の指標:
- 明確化と発展的な質問(積極的な処理を示します)
- 言い換え:"So what I'm hearing is...(つまり、私が理解しているのは...)"
- 会議の早い段階で誰かが述べた点に言及する
- 静かな参加者に意見を求める
悪い傾聴の指標:
- すでに回答された質問をする
- 回答を認めずに自分の意見を繰り返す
- 質問に対して無関係な話題で応答する
オープン/明確化/発展的な質問と、クローズド/誘導的な質問の比率を報告します。
モジュール:ファシリテーションと意思決定
ユーザーが会議の主催者またはファシリテーターである場合にのみ適用されます。
評価内容:
- 議題の遵守:会議は構造に従ったか、それとも逸脱したか?
- 時間管理:各トピックに予想に対してどれくらいの時間がかかったか?
- 包括性:ファシリテーターは静かな参加者を積極的に引き込んだか?
- 意思決定の明確さ:決定は明確に述べられたか?("So we're going wi
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Meeting Insights Analyzer
Originally contributed by maximcoding — enhanced and integrated by the claude-skills team.
Transform meeting transcripts into concrete, evidence-backed feedback on communication patterns, leadership behaviors, and interpersonal dynamics.
Core Workflow
1. Ingest & Inventory
Scan the target directory for transcript files (.txt, .md, .vtt, .srt, .docx, .json).
For each file:
- Extract meeting date from filename or content (expect
YYYY-MM-DDprefix or embedded timestamps) - Identify speaker labels — look for patterns like
Speaker 1:,[John]:,John Smith 00:14:32, VTT/SRT cue formatting - Detect the user's identity: ask if ambiguous, otherwise infer from the most frequent speaker or filename hints
- Log: filename, date, duration (from timestamps), participant count, word count
Print a brief inventory table so the user confirms scope before heavy analysis begins.
2. Normalize Transcripts
Different tools produce wildly different formats. Normalize everything into a common internal structure before analysis:
{ speaker: string, timestamp_sec: number | null, text: string }[]
Handling per format:
- VTT/SRT: Parse cue timestamps + text. Speaker labels may be inline (
<v Speaker>) or prefixed. - Plain text: Look for
Name:or[Name]prefixes per line. If no speaker labels exist, warn the user that per-speaker analysis is limited. - Markdown: Strip formatting, then treat as plain text.
- DOCX: Extract text content, then treat as plain text.
- JSON: Expect an array of objects with
speaker/textfields (common Otter/Fireflies export).
If timestamps are missing, degrade gracefully — skip timing-dependent metrics (speaking pace, pause analysis) but still run text-based analysis.
3. Analyze
Run all applicable analysis modules below. Each module is independent — skip any that don't apply (e.g., skip speaking ratios if there are no speaker labels).
Module: Speaking Dynamics
Calculate per-speaker:
- Word count & percentage of total meeting words
- Turn count — how many times each person spoke
- Average turn length — words per uninterrupted speaking turn
- Longest monologue — flag turns exceeding 60 seconds or 200 words
- Interruption detection — a turn that starts within 2 seconds of the previous speaker's last timestamp, or mid-sentence breaks
Produce a per-meeting summary and a cross-meeting average if multiple transcripts exist.
Red flags to surface:
- User speaks > 60% in a 1:many meeting (dominating)
- User speaks < 15% in a meeting they're facilitating (disengaged or over-delegating)
- One participant never speaks (excluded voice)
- Interruption ratio > 2:1 (user interrupts others twice as often as they're interrupted)
Module: Conflict & Directness
Scan the user's speech for hedging and avoidance markers:
Hedging language (score per-instance, aggregate per meeting):
- Qualifiers: "maybe", "kind of", "sort of", "I guess", "potentially", "arguably"
- Permission-seeking: "if that's okay", "would it be alright if", "I don't know if this is right but"
- Deflection: "whatever you think", "up to you", "I'm flexible"
- Softeners before disagreement: "I don't want to push back but", "this might be a dumb question"
Conflict avoidance patterns (requires more context, flag with confidence level):
- Topic changes after tension (speaker A raises problem → user pivots to logistics)
- Agreement-without-commitment: "yeah totally" followed by no action or follow-up
- Reframing others' concerns as smaller than stated: "it's probably not that big a deal"
- Absent feedback in 1:1s where performance topics would be expected
For each flagged instance, extract:
- The full quote (with surrounding context — 2 turns before and after)
- A severity tag:
low(single hedge word),medium(pattern of hedging in one exchange),high(clearly avoided a necessary conversation) - A rewrite suggestion: what a more direct version would sound like
Module: Filler Words & Verbal Habits
Count occurrences of: "um", "uh", "like" (non-comparative), "you know", "actually", "basically", "literally", "right?" (tag question), "so yeah", "I mean"
Report:
- Total count per meeting
- Rate per 100 words spoken (normalizes across meeting lengths)
- Breakdown by filler type
- Contextual spikes — do fillers increase in specific situations? (e.g., when responding to a senior stakeholder, when giving negative feedback, when asked a question cold)
Only flag this as an issue if the rate exceeds ~3 per 100 words. Below that, it's normal speech.
Module: Question Quality & Listening
Classify the user's questions:
- Closed (yes/no): "Did you finish the report?"
- Leading (answer embedded): "Don't you think we should ship sooner?"
- Open genuine: "What's blocking you on this?"
- Clarifying (references prior speaker): "When you said X, did you mean Y?"
- Building (extends another's idea): "That's interesting — what if we also Z?"
Good listening indicators:
- Clarifying and building questions (shows active processing)
- Paraphrasing: "So what I'm hearing is..."
- Referencing a point someone made earlier in the meeting
- Asking quieter participants for input
Poor listening indicators:
- Asking a question that was already answered
- Restating own point without acknowledging the response
- Responding to a question with an unrelated topic
Report the ratio of open/clarifying/building vs. closed/leading questions.
Module: Facilitation & Decision-Making
Only apply when the user is the meeting organizer or facilitator.
Evaluate:
- Agenda adherence: Did the meeting follow a structure or drift?
- Time management: How long did each topic take vs. expected?
- Inclusion: Did the facilitator actively draw in quiet participants?
- Decision clarity: Were decisions explicitly stated? ("So we're going with option B — Sarah owns the follow-up by Friday.")
- Action items: Were they assigned with owners and deadlines, or left vague?
- Parking lot discipline: Were off-topic items acknowledged and deferred, or did they derail?
Module: Sentiment & Energy
Track the emotional arc of the user's language across the meeting:
- Positive markers: enthusiastic agreement, encouragement, humor, praise
- Negative markers: frustration, dismissiveness, sarcasm, curt responses
- Neutral/flat: low-energy responses, monosyllabic answers
Flag energy drops — moments where the user's engagement visibly decreases (shorter turns, less substantive responses). These often correlate with discomfort, boredom, or avoidance.
4. Output the Report
Structure the final output as a single cohesive report. Use this skeleton — omit any section where data was insufficient:
# 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. Follow-Up Options
After delivering the report, offer:
- Deep dive into any specific meeting or pattern
- A 1-page "communication cheat sheet" with the user's top 3 habits to change
- Tracking setup — save current metrics as a baseline for future comparison
- Export as markdown or structured JSON for use in performance reviews
Edge Cases
- No speaker labels: Warn the user upfront. Run text-level analysis (filler words, question types on the full transcript) but skip per-speaker metrics. Suggest re-exporting with speaker diarization enabled.
- Very short meetings (< 5 minutes or < 500 words): Analyze but caveat that patterns from short meetings may not be representative.
- Non-English transcripts: The filler word and hedging dictionaries are English-centric. For other languages, note the limitation and focus on structural analysis (speaking ratios, turn-taking, question counts).
- Single meeting vs. corpus: If only one transcript, skip trend/comparison language. Focus findings on that meeting alone.
- User not identified: If you can't determine which speaker is the user after scanning, ask before proceeding. Don't guess.
Transcript Source Tips
Include this section in output only if the user seems unsure about how to get transcripts:
- Zoom: Settings → Recording → enable "Audio transcript". Download
.vttfrom cloud recordings. - Google Meet: Auto-transcription saves to Google Docs in the calendar event's Drive folder.
- Granola: Exports to markdown. Best speaker label quality of consumer tools.
- Otter.ai: Export as
.txtor.jsonfrom the web dashboard. - Fireflies.ai: Export as
.docxor.json— both work. - Microsoft Teams: Transcripts appear in the meeting chat. Download as
.vtt.
Recommend YYYY-MM-DD - Meeting Name.ext naming convention for easy chronological analysis.
Anti-Patterns
| Anti-Pattern | Why It Fails | Better Approach |
|---|---|---|
| Analyzing without speaker labels | Per-person metrics impossible — results are generic word clouds | Ask user to re-export with speaker identification enabled |
| Running all modules on a 5-minute standup | Overkill — filler word and conflict analysis need 20+ min meetings | Auto-detect meeting length and skip irrelevant modules |
| Presenting raw metrics without context | "You said 'um' 47 times" is demoralizing without benchmarks | Always compare to norms and show trajectory over time |
| Analyzing a single meeting in isolation | One meeting is a snapshot, not a pattern — conclusions are unreliable | Require 3+ meetings minimum for trend-based coaching |
| Treating speaking time equality as the goal | A facilitator SHOULD talk less; a presenter SHOULD talk more | Weight speaking ratios by meeting type and role |
| Flagging every hedge word as negative | "I think" and "maybe" are appropriate in brainstorming | Distinguish between decision meetings (hedges are bad) and ideation (hedges are fine) |
Related Skills
| Skill | Relationship |
|---|---|
project-management/senior-pm |
Broader PM scope — use for project planning, risk, stakeholders |
project-management/scrum-master |
Agile ceremonies — pairs with meeting-analyzer for retro quality |
project-management/confluence-expert |
Store meeting analysis outputs as Confluence pages |
c-level-advisor/executive-mentor |
Executive communication coaching — complementary perspective |