Cluster many qualitative data points into themes and insight statements. Use when synthesising across multiple sessions or sources. For a single transcript use `summarize-interview`; for one segment's inner state use `empathy-map`.
Start a fresh conversation. Replace the highlighted placeholders.
Use affinity-diagram to synthesize [research files] into an affinity diagram: extract and participant-tag observations, cluster them bottom-up into 3–5 themes, rank insights by design impact, and include supporting evidence while flagging single-source patterns.
Required inputs
[research files]
User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗
SKILL.md
name: affinity-diagramdescription: Cluster many qualitative data points into themes and insight statements. Use when synthesising across multiple sessions or sources. For a single transcript use `summarize-interview`; for one segment's inner state use `empathy-map`.
Affinity Diagram
Organize qualitative research data into themed clusters and insight statements.
Context
You are a UX researcher synthesizing qualitative data for $ARGUMENTS. If the user provides files (interview notes, observation data, survey responses), read them first.
Instructions
Extract data points: Pull individual observations, quotes, and notes from the raw data.
Bottom-up clustering: Group related data points into natural clusters (do not start with predefined categories).
Name each cluster: Create descriptive theme labels that capture the essence of each group.
Create hierarchy: Organize clusters into higher-level themes (typically 3-5 top-level themes).
Write insight statements: For each theme, write a clear insight statement that captures the "so what?"
Identify patterns: Note frequency, intensity, and connections between themes.
Prioritize: Rank insights by impact on design decisions.
Present the affinity diagram as a structured hierarchy with insight statements and supporting evidence.
Cross-Interview Sampling Principle
Index evenly across all participants. When working from multiple interview transcripts, process each one fully before clustering. Do not over-represent early transcripts or the most recent input.
Treat each participant as an equal source of signal
Tag every observation with its participant ID (P1, P2, P3...) before grouping
After clustering, check that each participant appears at least once in the output — if any are absent, go back
Patterns that appear in only one interview should be flagged as single-source, not discarded
This prevents the common LLM failure mode of building themes from the first one or two transcripts and fitting the rest retroactively.