
Meeting Analyzer
Turn Otter, Granola, Zoom, or Fireflies transcripts into evidence-backed feedback on how you communicate and run meetings.
Install
npx skills add https://github.com/alirezarezvani/claude-skills --skill meeting-analyzerWhat is this skill?
- Ingests `.txt`, `.md`, `.vtt`, `.srt`, `.docx`, and `.json` transcripts
- Speaker disambiguation and date extraction from filenames or cue timestamps
- Surfaces filler words, speaking ratio, conflict avoidance, and leadership anti-patterns
- Compare communication trends across time periods when multiple files are provided
- Triggers on Granola, Otter, Fireflies, Zoom exports—not only raw text uploads
Adoption & trust: 495 installs on skills.sh; 17.5k GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
Recommended Skills
Journey fit
Grow/lifecycle is the canonical shelf for improving how you show up with users, investors, and teammates over time, though the same analysis applies in any phase with meetings. Lifecycle fits ongoing coaching and habit tracking across many calls, not a one-off ship or build artifact.
Common Questions / FAQ
Is Meeting Analyzer safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Meeting Analyzer
# Meeting Insights Analyzer > Originally contributed by [maximcoding](https://github.com/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-DD` prefix 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`/`text` fields (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 wan