indie-user-research/SKILL.md
User research and customer discovery framework for indie iOS/macOS developers. Use when the user wants to understand their customers, conduct interviews, apply Jobs to be Done (JTBD) methodology, validate product ideas, or gather customer insights.
npx skillsauth add abanoub-ashraf/manus-skills-import indie-user-researchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
User research and customer discovery framework for indie iOS/macOS developers. Use this skill when the user wants to understand their customers, conduct interviews, apply Jobs to be Done (JTBD) methodology, validate product ideas, or gather customer insights.
Trigger on phrases like "user research", "customer interview", "jobs to be done", "JTBD", "understand my users", "customer discovery", "validate idea", "user feedback", "why users churn", "what users want", or any questions about understanding customer needs and motivations.
Users don't buy products—they "hire" them to make progress toward a goal. The key insight is that competition isn't just similar products; it's anything that helps the user accomplish the same job.
Example: A user doesn't buy a meal-planning app to "have a meal-planning app." They hire it to reduce the mental load of deciding what to eat, save time grocery shopping, or feel confident they're feeding their family well.
Understanding why users switch from one solution to another:
Push Forces (Away from current solution):
Pull Forces (Toward new solution):
Resistance Forces (Against switching):
Inertia Forces (Staying put):
For a user to switch, Pull + Push must be greater than Resistance + Inertia.
Structure your findings into actionable statements:
When I'm [situation/context],
I want to [motivation/job],
so I can [desired outcome/benefit].
Example: "When I'm recruiting participants for UX research, I want to automate screening so I can quickly move participants through without manual time-suck."
Jobs have multiple dimensions:
Functional: The practical task to accomplish
Emotional: How the user wants to feel
Social: How the user wants to be perceived
Understanding all three dimensions creates products that resonate deeply.
Recent Adopters: People who recently started using your app or a competitor
Recent Churners: People who recently stopped using your app
Non-Users: People trying to accomplish the same job without your app
Good Screening Questions:
Sample Size:
Duration: 60-90 minutes for JTBD depth
Recording: Always with consent. Take notes on body language and emotional cues that won't be captured in transcripts.
Interview Flow:
Warm-up (5 min): Build rapport, explain purpose
Timeline (30-40 min): Map the customer journey
Deep Dive (20-30 min): Explore specific moments
Current Usage (10-15 min): Understand ongoing relationship
Ask About Past Behavior, Not Hypotheticals:
Stay Objective:
Dig for Specifics:
Find the "First Thought":
Understanding the Struggle:
Understanding the Switch:
Understanding Success Criteria:
JTBD research is qualitative—look for patterns across interviews, not just numbers.
What to Extract:
Job maps show what the customer accomplishes, not how they accomplish it.
Characteristics of Good Job Maps:
Example Structure:
For Product Development:
For Marketing:
App Store Reviews:
Support Tickets:
Social Media:
VoC research wins conversion lifts repeatedly because it "speaks the unspoken words" of customers.
How to Apply:
What Not to Do:
Lyssna: Recruit, schedule, manage participants, transcribe interviews
User Interviews: 4M+ vetted participants, customizable filters, scheduling
Maze: Survey templates including JTBD-focused questions
Dovetail: Qualitative research repository, tagging, insights
Notion: Flexible database for organizing interview notes
Miro/FigJam: Collaborative mapping and synthesis
Books:
Week 1: Preparation
Week 2: Interviews 4. Conduct 5-10 interviews (30-60 minutes each) 5. Take notes immediately after each interview 6. Look for early patterns
Week 3: Synthesis 7. Extract common themes and patterns 8. Write JTBD statements for key segments 9. Identify 2-3 actionable insights 10. Prioritize changes based on findings
Mistake: Asking leading questions Fix: Stay neutral, ask about behavior not preferences
Mistake: Talking more than listening Fix: Aim for 20% talking, 80% listening
Mistake: Taking feature requests at face value Fix: Always dig for the underlying job
Mistake: Only talking to happy customers Fix: Churned users often have most valuable insights
Mistake: Not recording or taking notes Fix: Memory is unreliable; document everything
development
Design principles for building polished, native-feeling SwiftUI apps and widgets. Use this skill when creating or modifying SwiftUI views, iOS widgets (WidgetKit), or any native Apple UI. Ensures proper spacing, typography, colors, and widget implementations that look and feel like quality apps rather than AI-generated slop.
data-ai
Design and implement SwiftUI views, components, and app architecture. Use when creating new SwiftUI views, implementing MVVM/TCA patterns, managing state with @Observable, @State, @Binding, or @Environment, designing navigation flows, or structuring iOS app architecture. Triggers on SwiftUI, view model, state management, navigation, coordinator pattern.
development
Implement, review, or improve SwiftUI animations and transitions. Use when adding implicit or explicit animations with withAnimation, configuring spring animations (.smooth, .snappy, .bouncy), building phase or keyframe animations with PhaseAnimator/KeyframeAnimator, creating hero transitions with matchedGeometryEffect or matchedTransitionSource, adding SF Symbol effects (bounce, pulse, variableColor, breathe, rotate, wiggle), implementing custom Transition or CustomAnimation types, or ensuring animations respect accessibilityReduceMotion.
testing
Audit SwiftUI views for accessibility (iOS + macOS) with patch-ready fixes