affinity-diagram
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`.
Overview
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.
Files 1 file
Install it by hand
Deska runs this for you, for every agent you pick. To run it yourself in a terminal:
npx skills add owl-listener/designer-skills --skill affinity-diagramMore from owl-listener
- presentation-deckowl-listenerStructure a design presentation for a specific audience and decision. Use when presenting internally. For a portfolio narrative use `case-study`; for the written argument use `design-rationale`.2,800 installs on skills.sh0
- typography-scaleowl-listenerCreate a modular type scale with size, weight, and line-height relationships. Use when establishing typographic structure. For line length only use `readable-measure`; for judging type on an existing screen use `critique-typography` (visual-critique).2,300 installs on skills.sh0
- visual-hierarchyowl-listenerEstablish hierarchy through size, weight, colour, spacing, and position so the eye lands in the intended order. Use when composing new work. For judging an existing screen, use `critique-visual-hierarchy` (visual-critique).2,300 installs on skills.sh0
- color-systemowl-listenerBuild a product colour system — tonal scales, semantic roles, and contrast compliance. Use when defining or rebuilding colour from scratch. For dark-mode adaptation use `dark-mode-design`; for chart palettes use `data-visualization`; for multi-brand token architecture use `theming-system` (design-systems).2,200 installs on skills.sh0
- dark-mode-designowl-listenerAdapt an existing palette to dark mode — surface elevation, contrast rebalancing, and desaturation rules. Use when you already have a light palette to translate. For building the base palette first, use `color-system`.2,200 installs on skills.sh0