Skills for Real Engineers. Straight from my .agents directory.
Speaker Clustering Methods
Agent skill frombenchflow-ai/skillsbench
Choose and implement clustering algorithms for grouping speaker embeddings after VAD and embedding extraction. Compare Hierarchical clustering (auto-tunes speaker count), KMeans (fast, requires known count), and Agglomerative clustering (fixed clusters). Use Hierarchical clustering when speaker count is unknown, KMeans when count is known, and always normalize embeddings before clustering.
How to install Speaker Clustering Methods
npx skills add benchflow-ai/skillsbench# or add only this skill to Claude Code: copy the folder
tasks-extra/speaker-diarization-subtitles/environment/skills/speaker-clustering/
# into
~/.claude/skills/speaker-clustering/ (all projects)
.claude/skills/speaker-clustering/ (one project)
tasks-extra/speaker-diarization-subtitles/environment/skills/speaker-clustering/SKILL.md
Apache-2.0Full file1# Speaker Clustering Methods23## Overview45After extracting speaker embeddings from audio segments, you need to cluster them to identify unique speakers. Different clustering methods have different strengths.67## When to Use89- After extracting speaker embeddings from VAD segments10- Need to group similar speakers together11- Determining number of speakers automatically or manually1213## Available Clustering Methods1415### 1. Hierarchical Clustering (Recommended for Auto-tuning)1617**Best for:** Automatically determining number of speakers, flexible threshold tuning1819```python20from scipy.cluster.hierarchy import linkage, fcluster21from scipy.spatial.distance import pdist22import numpy as np2324# Prepare embeddings25embeddings_array = np.array(embeddings_list)26n_segments = len(embeddings_array)2728# Compute distance matrix29distances = pdist(embeddings_array, metric='cosine')3031# Create linkage matrix32linkage_matrix = linkage(distances, method='average')3334# Auto-tune threshold to get reasonable speaker count35min_speakers = 236max_speakers = max(2, min(10, n_segments // 2))3738threshold = 0.739labels = fcluster(linkage_matrix, t=threshold, criterion='distance')40n_speakers = len(set(labels))4142# Adjust threshold if needed43if n_speakers > max_speakers:44 for t in [0.8, 0.9, 1.0, 1.1, 1.2]:45 labels = fcluster(linkage_matrix, t=t, criterion='distance')46 n_speakers = len(set(labels))47 if n_speakers <= max_speakers:48 threshold = t49 break50…
Excerpt shown under the repository's Apache-2.0 license.
More skills in skillsbench
Similar skill repositories
An agentic skills framework & software development methodology that works.
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
Public repository for Agent Skills
Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Production-grade engineering skills for AI coding agents.
