How the Meeting Insights Analyzer Extracts Behavioral Patterns from Transcripts: A Technical Deep-Dive
The Meeting Insights Analyzer extracts behavioral patterns from meeting transcripts by applying rule-based heuristics and statistical analysis across three stages: discovering transcript files, clarifying user goals, and executing targeted pattern detection for communication habits like conflict avoidance, speaking ratios, and active listening cues.
The Meeting Insights Analyzer is a skill within the ComposioHQ/awesome-claude-skills repository that transforms raw meeting transcripts into actionable communication intelligence. By analyzing text files, markdown, VTT, SRT, and DOCX formats, this tool identifies specific behavioral markers that reveal how participants interact, dominate discussions, or avoid conflict. Understanding how this analyzer extracts behavioral patterns from transcripts enables developers to build similar communication analysis tools using heuristic-based natural language processing.
Three-Stage Architecture for Transcript Analysis
The analyzer follows a structured pipeline defined in meeting-insights-analyzer/SKILL.md that processes raw data into actionable insights.
Stage 1: Data Discovery
The analyzer begins by recursively walking the user-specified directory to locate supported transcript formats including .txt, .md, .vtt, .srt, and .docx files. During this phase, it extracts critical metadata such as speaker labels, timestamps, and date ranges to establish the temporal context of conversations.
Stage 2: Goal Clarification
When user requests are vague, the skill prompts for specific behaviors of interest. This might include identifying conflict avoidance tactics, quantifying filler-word usage, or analyzing speaking ratios between participants, ensuring the analysis targets relevant communication patterns rather than generating generic metrics.
Stage 3: Pattern Extraction
The core processing stage applies specialized heuristics to the parsed transcript data. Each behavioral pattern uses distinct detection logic to surface communication habits from the raw text, as implemented in the skill specification.
Behavioral Pattern Detection Methods
The analyzer employs five distinct detection strategies to extract behavioral patterns from transcripts, each targeting specific communication dynamics.
Conflict Avoidance Detection
The system searches for hedging language such as "maybe," "kind of," and "I think," along with indirect phrasing and non-committal affirmations. It also flags abrupt subject changes during tense moments, indicating potential conflict avoidance behavior that disrupts productive disagreement resolution.
Speaking Ratio and Interruption Analysis
This method calculates the proportion of meeting time each participant spoke by measuring intervals between timestamps. It counts interruptions by detecting rapid speaker switches and analyzes turn length distribution and question-to-statement ratios to quantify conversational dominance and participation equity.
Filler Word Frequency Analysis
The system identifies speech disfluencies by matching tokens against a predefined set including "um," "uh," "like," "you know," and "actually." It reports frequency metrics per minute or per turn to measure verbal fluency and confidence indicators that impact perceived communication competence.
Active Listening Cue Identification
Detection of paraphrasing, summarizing, and clarifying questions that reference earlier speaker contributions. These cues indicate engaged listening and collaborative communication styles versus passive participation, revealing which participants actively process and validate others' input.
Leadership Signal Detection
Evaluation of decision-making styles, disagreement handling techniques, inclusion of quieter participants, agenda control behaviors, and clarity of action item assignments. These signals reveal facilitation effectiveness and leadership emergence based on behavioral patterns rather than hierarchical position.
Technical Implementation Example
The following Python implementation mirrors the logic specified in meeting-insights-analyzer/SKILL.md and demonstrates the core extraction pipeline for transcript analysis.
import pathlib
import re
import collections
from datetime import datetime
def discover_transcripts(folder: pathlib.Path):
"""Locate supported transcript formats in the target directory."""
return list(folder.rglob("*.[txtmdvttsrtdocx]"))
def parse_txt(file_path):
"""Extract speaker labels, timestamps, and text content."""
pattern = re.compile(r"\[(?P<time>\d{2}:\d{2}:\d{2})\]\s*(?P<speaker>[^:]+):\s*(?P<text>.+)")
entries = []
with open(file_path, encoding="utf8") as f:
for line in f:
m = pattern.search(line)
if m:
entries.append({
"time": datetime.strptime(m["time"], "%H:%M:%S"),
"speaker": m["speaker"].strip(),
"text": m["text"].strip()
})
return entries
FILLERS = {"um", "uh", "like", "you know", "actually", "basically"}
def count_fillers(entries, target_speaker):
"""Quantify filler word usage per speaker."""
filler_counts = collections.Counter()
for e in entries:
if e["speaker"] == target_speaker:
tokens = re.findall(r"\w+", e["text"].lower())
filler_counts.update([t for t in tokens if t in FILLERS])
return filler_counts
def speaking_stats(entries, target_speaker):
"""Calculate speaking ratio and interruption frequency."""
total_seconds = (entries[-1]["time"] - entries[0]["time"]).total_seconds()
speaker_seconds = 0
interruptions = 0
last_speaker = None
for idx, e in enumerate(entries):
if e["speaker"] == target_speaker:
if idx + 1 < len(entries):
speaker_seconds += (entries[idx + 1]["time"] - e["time"]).total_seconds()
if last_speaker and e["speaker"] != last_speaker:
interruptions += 1
last_speaker = e["speaker"]
ratio = speaker_seconds / total_seconds if total_seconds else 0
return {"ratio": ratio, "interruptions": interruptions}
Structured Output Generation
After processing, the analyzer assembles results into a structured markdown report containing timestamped examples of each behavior, quantitative summaries with statistical aggregates, and concrete actionable recommendations for improving communication effectiveness. This output format enables immediate review of specific behavioral instances alongside trend analysis.
Summary
- The Meeting Insights Analyzer processes transcripts through three distinct stages: Data Discovery, Goal Clarification, and Pattern Extraction.
- Five primary behavioral patterns are detected: conflict avoidance, speaking ratios, filler words, active listening cues, and leadership signals.
- Detection relies on rule-based heuristics including regex pattern matching for hedging language, timestamp analysis for speaking ratios, and lexical matching for filler words.
- The system supports multiple transcript formats (
.txt,.md,.vtt,.srt,.docx) and extracts temporal metadata to enable time-based behavioral analysis. - Output includes timestamped examples, quantitative summaries, and actionable recommendations formatted in markdown according to the
SKILL.mdspecification.
Frequently Asked Questions
What file formats does the Meeting Insights Analyzer support?
The analyzer supports plain text (.txt), markdown (.md), WebVTT (.vtt), SubRip (.srt), and Microsoft Word documents (.docx). During the Data Discovery stage, it recursively searches the specified directory for these extensions and extracts speaker labels, timestamps, and date ranges from the content to enable temporal analysis.
How does the analyzer identify conflict avoidance in conversations?
Conflict avoidance detection relies on lexical analysis for hedging language ("maybe," "kind of," "I think") and indirect phrasing. The system also flags non-committal affirmations and detects abrupt topic shifts during tense conversational moments, as specified in meeting-insights-analyzer/SKILL.md lines 98-104.
Can the analyzer calculate exact speaking times for each participant?
Yes, the analyzer computes speaking ratios by measuring the time intervals between a participant's utterances using extracted timestamps. It also counts interruptions by detecting rapid speaker switches and calculates average turn lengths to quantify conversational dominance patterns and participation equity across meeting attendees.
Where is the behavior detection logic defined in the repository?
The primary behavior detection specifications reside in meeting-insights-analyzer/SKILL.md, which defines the heuristics for conflict avoidance, filler word detection, active listening cues, and leadership signal analysis. The concrete implementation extends these specifications into executable analysis scripts that process the discovered transcript files.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →