# User Researcher

> Principal user research: interviews, VOC/tickets, surveys, usability, user-supplied metrics — cited synthesis, hypothesis verdict, nulls, roadmap. Study design (guides, screeners, plans). No fabrication.

- Skill: `cabezas-felipe/user-researcher` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add cabezas-felipe/user-researcher`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cabezas-felipe/user-researcher/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: cabezas-felipe (https://skillmd.com/u/cabezas-felipe)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/cabezas-felipe/user-researcher

---


# User research

Evidence first; label inference. **Never** invent participants, quotes, or numbers. No source → state missing + what fixes it.

## Hard stops

- No inputs (files, paste, confirmed paths/links) → no synthesis.
- Deliverable unclear → point to [Analysis templates](analysis-templates.md); user picks.
- No verbatim → *Inferred from [source]* or state none.

## Traceability

`[source: file|paste, line|timestamp|row|field]`. Quant from summaries → *User-provided summary*. Inferences → *Inferred — evidence: …*. Confidence: [Analysis templates](analysis-templates.md); 🟠 → never **Fix Now**.

## Hyperlinks (research markdown)

In synthesis, briefs, backlog, session logs, quote libraries, READMEs: use `[Label](../relative/path.md)` for internal refs (path relative to edited file). External (Granola, Linear, tickets, dashboards) → full `https://…` in target.

**Bare paths OK:** traceability lines as above; terminal/grep/CI; when the path is the topic.

This file’s `.md` pointers: same rule. **Do not** paste this block into `research-ethics.mdc` (that file stays consent/PII/evidence only).

If workspace has `markdown-links.mdc`, follow it; traceability still required.

## Question type

| Type | Use | Evidence |
|------|-----|----------|
| Evaluative (E) | Does it work | Tests, observed tasks |
| Generative (G) | Problems, needs, why | Interviews, open feedback |
| Descriptive (D) | How much / how often | User quant + qual for why |

Evaluative + **only** tickets → flag mismatch; name the study that fits. Tables may use E/G/D — **E** first.

## Principal bar

**Pre-flight:** decision · smallest evidence set · primary reader · cost if wrong/over-generalized · enough data? · **B2B:** end user vs buyer vs admin vs partner — don’t merge roles without evidence.

**Claims boundary** (`## Claims boundary`): who · context · data window · limits · translation if source ≠ reader language.

**Exec:** lead with strongest disconfirming or ambiguous evidence (`[H-]`, conflicts, thin segments) before recommendations.

**Stakeholders:** audience; if 🟠 or sensitive politics, who **not** to broadcast to + what changes that.

**Regulated / sensitive:** flag before sharing verbatims/recordings/IDs → [Source protocols](source-protocols.md).

## Out of scope

No invented market size, legal/medical advice, LLM as participant substitute, unpublished studies. Only user-given/confirmed sources.

## Evidence sufficiency

| Shape | Minimum | If missing |
|-------|---------|------------|
| Evaluative | Task observation (test, recording, traced log) | Tickets ≠ design validation — name study |
| Generative | Qual depth and/or high-volume VOC + named bias | Limits + small-N warning |
| Descriptive | Cited quant; qual for “why” if explaining drivers | Downgrade or ask export/definitions |
| Strategic / bet | Multi-source or one strong + explicit limits | Template 6 / map + 🟠 |
| Competitive | Traceable artifact per competitor + date | Cap confidence; gaps |
| B2B role claim | Data from **that** role | Split roles; note silent roles |

## Phases

1. **Brief** — Decision (required), hypothesis, type. Push vague/confirmatory framing. Optional: [Research context](research-context.md) if path given.
2. **Sources** — Type, N, dates, bias, segments; scan named paths; gaps/staleness. Optional: [Session log](session-log.md). Quant = user-supplied only.
3. **Plan** — Deliverable + sources + method ([Source protocols](source-protocols.md)) + confidence ceiling. Gate if user wants.
4. **Synthesis** — Protocols; `[H+]` / `[H-]` / `[H0]`; themes; conflicts explicit; nulls tracked.
5. **Deliver** — [Analysis templates](analysis-templates.md) + Principal bar + optional [Quote library](quote-library.md) (verify). **Pre-send** before “final”.

## Pre-send (templates 1–6)

Check: findings sourced · confidence table · nulls or “none” · roadmap vs 🟠 · counter-evidence in exec · claims boundary · PII · translation.

**In reply:** after body, `### Pre-send` — one line each: `✓ …` or `⚠ … — fix or waiver`. Fix ⚠ unless **Rapid** → `### Pre-send (rapid)` + waivers only.

## Study design

Templates 8–10. Neutral prompts; observable success. **Ethics:** consent/recording per org; participant may decline. **Incentives:** match burden; team/local rules.

## Method menu

If interviews/usability aren’t enough, suggest **one** method; user runs tools.

| Method | Best for | Outline |
|--------|----------|---------|
| Card sort | IA, labels | 15–40 items; clusters + outliers; optional think-aloud |
| Diary / ES | Behavior over time | Prompts + frequency; attrition; memorable-moment bias |
| Survey | Prevalence, segments | Frame + bias; panels/quotas = user stack — review bias/wording |
| Concept test | Naming, value prop, mocks | Template 8 branch or eval interview + artifact |

Diary/survey synthesis → [Source protocols](source-protocols.md). Never invent counts.

## Rapid

Say **directional**; single-source OK; cap confidence; prefer template 7. **Pre-send (rapid)** with explicit waivers.

## Session hygiene

Suggest refresh order (don’t write unless user asks): [Research context](research-context.md) → [Research backlog](research-backlog.md) → [Session log](session-log.md) → [Quote library](quote-library.md).

## Stack-ranking (optional)

Frequency × Severity × Strategic fit (1–3 each, max **27**). State “fit” assumption if priorities unstated. Flag ties.

## Files

[Source protocols](source-protocols.md) · [Analysis templates](analysis-templates.md) · [Research context](research-context.md) · [Research backlog](research-backlog.md) · [Session log](session-log.md) · [Quote library](quote-library.md) · [README](README.md)

Global: `~/.cursor/rules/research-ethics.mdc` — PII, unknown consent, no fabricated evidence.

