skills/ux-research/SKILL.md
Researches design patterns and best practices from category leaders for a specific product type. Analyzes competitor homepages, landing pages, or app screens to identify industry conventions and opportunities for differentiation. Use when redesigning and the user says "research competitors", "what do others do", "best practices for this type of page", or during a redesign task where category context would improve decisions.
npx skillsauth add xoai/sage ux-researchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Benchmark the current design against category leaders. Not to copy — to understand what conventions users already expect, and where intentional deviation creates differentiation.
Core Principle: Users don't experience your product in isolation. They bring expectations from every other product in your category. An edtech homepage that ignores conventions from Duolingo, Coursera, and Khan Academy isn't being original — it's being confusing. Research identifies what's convention (match it) vs. what's commodity (differentiate from it).
Do NOT use for:
From the current design system and project context, determine:
## Category Definition
Product type: [edtech / SaaS / e-commerce / marketplace / fintech / ...]
Page type: [homepage / landing page / dashboard / product page / ...]
Target audience: [students / professionals / developers / consumers / ...]
Market: [geography, language — affects design conventions]
If unclear, ask the user: "Is this primarily a [A] or [B]? This determines which competitors I research."
Select reference products based on:
## Reference Products
1. [Product] — [why selected: direct competitor / category leader / aspirational]
2. [Product] — [why]
3. [Product] — [why]
For the Prep homepage example:
For each reference product, capture (via web search and page analysis):
### [Product Name]
**Hero pattern:**
[What's in the hero? Headline copy approach? CTA text? Visual treatment?
Single CTA or multiple? Video? Animation? Social proof in hero?]
**Value proposition:**
[How do they explain what they do? How many words? What framework —
problem → solution → benefit? Feature list? Outcome-focused?]
**Social proof approach:**
[Testimonials? Logos? Numbers? Scores? User photos? Video testimonials?
Placement — above fold or below? How prominent?]
**CTA strategy:**
[Primary CTA text and placement. How many CTAs on page?
Free trial? Demo? Sign up? Pricing? What's the conversion path?]
**Visual style:**
[Color approach? Illustration vs. photography? Light vs. dark?
Playful vs. professional? Information density?]
**Mobile approach:**
[What changes on mobile? What's hidden? What's prioritized?
Sticky nav? Sticky CTA?]
From the analysis, extract patterns that appear in 3+ reference products:
## Category Conventions (appearing in most leaders)
1. [Convention]: [what it is, who does it]
Example: "Hero with single clear CTA — Duolingo, Coursera, Khan Academy
all use one primary CTA above the fold"
2. [Convention]: [what it is]
Example: "Social proof near hero — score numbers, student count, or
testimonials within first viewport"
3. ...
Patterns where reference products are similar to each other but different from the audited product — or where the category has a gap:
## Differentiation Opportunities
1. [Opportunity]: Most competitors [do X]. Current product [does Y differently].
Assess: is Y intentionally different (brand identity) or accidentally missing?
2. [Opportunity]: No competitor [does Z]. Could this be a meaningful differentiator?
3. [Opportunity]: Competitors [do X poorly]. An excellent version of X would stand out.
Save to .sage/work/<feature>/category-benchmarks.md:
# Category Benchmarks: [product] — [page type]
**Category:** [edtech / SaaS / ...]
**References analyzed:** [count]
**Date:** [timestamp]
## Reference Products
[from Step 2]
## Category Conventions
[from Step 4 — what most leaders do]
## Differentiation Opportunities
[from Step 5 — where to stand out]
## Detailed Analysis
[from Step 3 — per-product breakdowns]
Show to user: "Here's what category leaders do. This feeds into the design evaluation — we'll compare your current design against these patterns."
MUST (violation = uninformed redesign):
SHOULD (violation = shallow research):
MAY (context-dependent):
development
Branch-per-initiative git discipline for all delivery workflows. Defines branch naming by workflow, the propose-confirm creation protocol, dirty-tree and detached-HEAD handling, the always user-gated merge protocol, worktree support for parallel sessions, and abandonment cleanup. Activates only in git repositories — silently inactive everywhere else. Use when starting /build, /fix, /architect, or /build-x at Standard+ scope, when resuming an initiative, when offering a merge at a completion checkpoint, or when the user wants a second concurrent initiative.
development
Drives task-by-task execution from an approved plan with quality gates between each task. Reads the plan, finds the next incomplete task, dispatches implementation, validates, updates progress, and continues. Use after a plan is approved and the user says "go", "start building", "execute the plan", or "implement the feature".
testing
Preserves and restores context across agent sessions using plan file checkboxes as source of truth. Use when starting a new session, resuming previous work, ending a session, or when the user says "continue from last time", "what was I doing", or "save progress".
tools
Captures agent mistakes, corrections, and discovered gotchas so they are not repeated. Use when: (1) a command or operation fails unexpectedly, (2) the user corrects the agent, (3) the agent discovers non-obvious behavior through debugging, (4) an API or tool behaves differently than expected, (5) a better approach is found for a recurring task. Also searches past learnings before starting tasks to avoid known pitfalls. Activate alongside the sage-memory skill — they share the same MCP backend but serve different purposes (sage-memory = codebase knowledge, sage-self-learning = agent mistakes and gotchas).