About affinity-diagram
A UX research skill that turns qualitative observations into affinity clusters, themes, and prioritized insights. It emphasizes balanced sampling across interview participants and retains supporting evidence.
Key features
- 01Extract observations, quotes, and notes
- 02Build bottom-up clusters
- 03Organize clusters into themes
- 04Write insights with supporting evidence
- 05Check participant coverage and rank impact
Use cases
- 01Synthesizing interview transcripts
- 02Finding recurring patterns in research data
- 03Prioritizing research insights for design decisions
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ infrasity-labs/ dev-gtm-claude-skills --skill affinity-diagramAfter installing, type/affinity-diagramin Claude Code to confirm it loaded.
Details
From the project READMEAffinity 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.