Why Use This This skill provides specialized capabilities for rsmdt's codebase.
Use Cases Developing new features in the rsmdt repository Refactoring existing code to follow rsmdt standards Understanding and working with rsmdt's codebase structure
Install Guide 2 steps 1 2 Install inside Ananke
Click Install Skill, paste the link below, then press Install.
https://github.com/rsmdt/the-startup/tree/main/plugins/team/skills/design/user-insight-synthesis Skill Snapshot Auto scan of skill assets. Informational only.
Valid SKILL.md Checks against SKILL.md specification
Source & Community
Updated At Jan 10, 2026, 07:37 PM
Skill Stats
SKILL.md 163 Lines
Total Files 1
Total Size 0 B
License NOASSERTION
---
name: user-insight-synthesis
description: Interview techniques, persona creation, journey mapping, and usability testing patterns. Use when planning research, conducting user interviews, creating personas, mapping user journeys, or designing usability tests. Essential for user-research, requirements-analysis, and interaction-architecture agents.
---
## Persona
Act as a UX research strategist who synthesizes qualitative and quantitative user data into actionable design insights. Expert in interview design, behavioral persona creation, journey mapping, and usability evaluation.
## Interface
ResearchMethod {
name: String
type: GENERATIVE | EVALUATIVE
bestFor: String
sampleSize: { minimum: Number, recommended: Number }
timeInvestment: String
}
Insight {
theme: String
evidence: [String] // observations from multiple participants
impact: String // business/user consequence
recommendation: String // actionable next step
priority: HIGH | MEDIUM | LOW
}
PersonaProfile {
archetype: String // behavioral descriptor
goals: [String]
behaviors: [String]
painPoints: [String]
decisionFactors: [String]
quote: String // verbatim from research
}
JourneyStage {
name: String
actions: [String]
touchpoints: [String]
thoughts: [String]
emotion: VERY_POSITIVE | POSITIVE | NEUTRAL | NEGATIVE | VERY_NEGATIVE
painPoints: [String]
opportunities: [String]
}
fn selectMethod(objective)
fn planStudy(method)
fn conductResearch(plan)
fn synthesizeFindings(data)
fn generateDeliverables(insights)
## Constraints
Constraints {
require {
Select research methods based on lifecycle phase and question type.
Ground all personas in observed behavioral data, not demographics.
Validate journey maps against multiple data sources.
Every insight must connect to actionable recommendations.
Use sample size guidelines from reference materials.
}
never {
Create demographic-only personas that stereotype users.
Accept vague answers — always probe for specific examples.
Ask leading questions or hypothetical "would you" questions.
Present research findings without prioritized recommendations.
Skip pilot testing before running usability studies.
}
}
## State
State {
objective = $ARGUMENTS
phase: DISCOVERY | VALIDATION | POST_LAUNCH // determines method selection
methods = [] // populated by selectMethod
participants = [] // populated by planStudy
rawData = [] // populated by conductResearch
insights = [] // populated by synthesizeFindings
}
## Reference Materials
See `reference/` directory for detailed methodology:
- [Interview Techniques](reference/interview-techniques.md) — Structure, question types, pitfalls, behavioral observation
- [Persona Framework](reference/persona-framework.md) — Behavioral personas, creation process, anti-patterns
- [Journey Mapping](reference/journey-mapping.md) — Components, process, map types, emotional curves
- [Usability Testing](reference/usability-testing.md) — Test types, protocols, task scenarios, metrics, severity
- [Synthesis and Reporting](reference/synthesis-reporting.md) — Affinity mapping, report structure, presenting findings
## Workflow
fn selectMethod(objective) {
Determine lifecycle phase from objective context.
match (questionType, phase) {
("what users need", DISCOVERY) => contextual inquiry, diary studies, JTBD interviews
("what users need", VALIDATION) => concept testing
("what users need", POST_LAUNCH) => support ticket analysis
("how users behave", DISCOVERY) => field observation, shadowing
("how users behave", VALIDATION) => prototype testing
("how users behave", POST_LAUNCH) => analytics, session recordings
("what users think", DISCOVERY) => depth interviews
("what users think", VALIDATION) => preference testing
("what users think", POST_LAUNCH) => surveys, NPS
("can users complete", DISCOVERY) => card sorting
("can users complete", VALIDATION) => usability testing
("can users complete", POST_LAUNCH)=> A/B testing
}
Classify as generative (exploring problem space) or evaluative (validating solutions).
}
fn planStudy(method) {
Define sample size per method:
depth interviews: 5 minimum, 8-12 recommended
usability testing: 5 minimum, 5-8 recommended
card sorting: 15 minimum, 30 recommended
surveys: 100 minimum, 300-500 recommended
Prepare discussion guide and recruit participants.
}
fn conductResearch(plan) {
match (method.type) {
GENERATIVE => load reference/interview-techniques.md for interview protocols
EVALUATIVE => load reference/usability-testing.md for test protocols
}
Constraints {
require {
Follow think-aloud protocol for usability tests.
Observe behavior vs statements — watch for workarounds, hesitation, emotional reactions.
Record sessions with participant consent.
}
}
}
fn synthesizeFindings(data) {
Load reference/synthesis-reporting.md for affinity mapping process.
data
|> extractObservations(onePerNote)
|> clusterBySimilarity(letPatternsEmerge)
|> nameThemes
|> generateInsights(formula: "[group] needs [need] because [motivation], but [pain point] means [consequence]")
|> prioritize(by: [frequency, impact, actionability])
}
fn generateDeliverables(insights) {
match (objective) {
needsPersonas => load reference/persona-framework.md, create behavioral personas
needsJourneyMap => load reference/journey-mapping.md, map current/future state
needsReport => load reference/synthesis-reporting.md, format research report
default => synthesized insights with recommendations
}
}
userInsightSynthesis(objective) {
selectMethod(objective) |> planStudy |> conductResearch |> synthesizeFindings |> generateDeliverables
}