product-research
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseproduct-research
产品研究
Product / user research as an operational discipline: choosing the right method, sizing it honestly, and synthesizing findings into governed insights. The core rule: method must match the goal, and an insight requires recurrence across independent participants — a single quote is an anecdote.
将产品/用户研究作为一项运营规范:选择合适的方法、合理确定研究规模,并将研究结果整合为可管控的洞察。核心原则:方法必须匹配目标,且洞察需要在独立参与者中重复出现——单一用户的表述只是轶事。
Purpose
用途
Product researchers, ResearchOps teams, and PMs running discovery need method rigor and an insight repository they can trust. This skill structures three decisions:
Three deterministic tools:
- — Maps (research goal × product stage) to an appropriate method and emits a method-matched plan skeleton (objective, participant criteria, guide structure, success criteria). Redirects live A/B to
study_designer.py.product-team/experiment-designer - — Method-based sample guidance with an explicit confidence label: Nielsen problem-discovery (5/segment), Guest et al. thematic saturation (~12), and evaluative coverage. Never claims a prevalence rate from a small-n usability test.
saturation_planner.py - — Clusters coded observations by tag, counts distinct participants, ranks by cross-participant recurrence, and flags any candidate below the source threshold as an ANECDOTE, never promoting it to an insight.
insight_synthesizer.py
产品研究员、ResearchOps团队以及开展探索工作的产品经理,需要严谨的研究方法和可信的洞察存储库。该技能围绕三个决策构建体系:
三个确定性工具:
- —— 将(研究目标 × 产品阶段)映射为合适的方法,并生成匹配方法的规划框架(目标、参与者标准、指南结构、成功标准)。若涉及实时A/B测试,将重定向至
study_designer.py。product-team/experiment-designer - —— 基于方法提供样本量指导,并附带明确的置信标签:Nielsen问题发现法(每个细分群体5人)、Guest等人的主题饱和法(约12人),以及评估覆盖法。绝不会从小样本可用性测试中得出普及率结论。
saturation_planner.py - —— 按标签对编码后的观察结果进行聚类,统计不同参与者的数量,按跨参与者的重复频次排序,并将低于来源阈值的候选结果标记为轶事,绝不将其提升为洞察。
insight_synthesizer.py
When to use
使用场景
Invoke this skill when:
- You are planning a study and need the method to match the goal (generative vs evaluative vs validation).
- You need a defensible sample size / saturation rationale with a stated confidence.
- You have raw coded observations and need to synthesize insights without over-claiming.
- You are setting up or auditing a research repository and need the insight-vs-observation discipline.
Do NOT use this skill to: generate personas / journey maps (use ), plan a discovery sprint or validate an opportunity (use ), design or analyze a live product A/B experiment (use ), or do market sizing / surveys (use the sibling).
product-team/ux-researcher-designerproduct-team/product-discoveryproduct-team/experiment-designermarket-research在以下场景中调用该技能:
- 你正在规划一项研究,需要让方法匹配目标(生成式vs评估式vs验证式)。
- 你需要一个具有明确置信度的、可辩护的样本量/饱和理由。
- 你拥有原始编码观察结果,需要在不过度断言的前提下整合为洞察。
- 你正在搭建或审核研究存储库,需要区分洞察与观察的规范。
请勿使用该技能生成角色画像/旅程地图(请使用)、规划发现冲刺或验证机会(请使用)、设计或分析实时产品A/B实验(请使用),或进行市场规模测算/调研(请使用姊妹技能)。
product-team/ux-researcher-designerproduct-team/product-discoveryproduct-team/experiment-designermarket-researchWorkflow
工作流程
- Frame the study — Fill (research questions, method rationale, participant criteria, analysis plan, repository tagging scheme).
assets/research_plan_template.md - Pick the method — Run . Honor the redirect if it routes to experiment-designer.
study_designer.py --goal {discovery|evaluative|validation} --stage {concept|prototype|beta|live} --profile {b2b-saas|consumer-app|enterprise|marketplace|hardware|platform} - Size it — Run . Record the confidence label and limits.
saturation_planner.py --method {usability|thematic|evaluative-coverage} --segments N - Synthesize — After fielding, code observations and run . Treat ANECDOTE-flagged clusters as signals to probe, not findings to ship.
insight_synthesizer.py --input observations.json --min-sources 3 - File in the repository — Tag insights to the atomic schema at synthesis time, with their evidence and confidence.
- 确定研究框架 —— 填写(研究问题、方法依据、参与者标准、分析计划、存储库标签方案)。
assets/research_plan_template.md - 选择方法 —— 运行。若重定向至experiment-designer,请遵循该指引。
study_designer.py --goal {discovery|evaluative|validation} --stage {concept|prototype|beta|live} --profile {b2b-saas|consumer-app|enterprise|marketplace|hardware|platform} - 确定规模 —— 运行。记录置信标签及限制条件。
saturation_planner.py --method {usability|thematic|evaluative-coverage} --segments N - 整合洞察 —— 完成实地研究后,对观察结果进行编码,运行。将标记为ANECDOTE的聚类视为需要进一步探索的信号,而非可落地的结论。
insight_synthesizer.py --input observations.json --min-sources 3 - 存入存储库 —— 在整合洞察时,按照原子模式为洞察添加标签,并附上证据和置信度。
Scripts
脚本说明
| Script | Purpose | Profiles |
|---|---|---|
| (goal × stage) → method + plan skeleton | b2b-saas, consumer-app, enterprise, marketplace, hardware, platform |
| Method-based sample guidance + confidence | n/a (method-driven) |
| Cluster observations, flag anecdotes | n/a (evidence-driven) |
All three: stdlib-only, , , .
--help--sample--output {human,json}| 脚本 | 用途 | 适用场景 |
|---|---|---|
| (目标 × 阶段)→ 方法 + 规划框架 | b2b-saas, consumer-app, enterprise, marketplace, hardware, platform |
| 基于方法的样本量指导 + 置信度 | 无(由方法驱动) |
| 聚类观察结果,标记轶事 | 无(由证据驱动) |
所有脚本:仅依赖标准库,支持、、参数。
--help--sample--output {human,json}Onboarding & customization
入门与自定义
Run the onboarding questionnaire once before you start — it captures your defaults so every tool in this skill is pre-configured. Customization is the point: the answers actually change tool behavior (e.g. the insight source-threshold).
bash
python3 scripts/onboard.py # interactive (also: --defaults, --set key=value, --reset)
python3 scripts/onboard.py --show # see the questions + current effective configAnswers are saved to (global) or () and are read automatically by . They set the default product profile, the insight source-threshold (how many independent participants make a finding an insight, not an anecdote), the default saturation method, and the high-stakes flag. CLI flags always override saved config; ignores it.
~/.config/research-ops/product-research.json./.research-ops/product-research.json--scope projectconfig_loader.pyRESEARCH_OPS_NO_CONFIG=1The four questions: product profile · insight source-threshold · saturation method · high-stakes flag.
开始使用前请先运行一次入门问卷——它会记录你的默认设置,使该技能中的所有工具都预先配置完成。自定义是核心:问卷答案会实际改变工具行为(例如洞察来源阈值)。
bash
python3 scripts/onboard.py # 交互式模式(也支持:--defaults, --set key=value, --reset)
python3 scripts/onboard.py --show # 查看问题及当前生效配置答案将保存至(全局配置)或(项目级配置),并由自动读取。这些配置会设置默认产品场景、洞察来源阈值(需要多少独立参与者的重复反馈才能将结论视为洞察而非轶事)、默认饱和方法,以及高风险标记。CLI参数始终优先于保存的配置;设置将忽略配置文件。
~/.config/research-ops/product-research.json./.research-ops/product-research.json--scope projectconfig_loader.pyRESEARCH_OPS_NO_CONFIG=1四个核心问题:产品场景 · 洞察来源阈值 · 饱和方法 · 高风险标记。
Optimize with autoresearch (opt-in)
可选:通过自动研究优化
This skill ships an isolated, opt-in bridge to . Only when you ask to "optimize the synthesis" / "run a loop" does an autoresearch experiment iteratively refine the coding/clustering of a fixed evidence set so more cross-participant patterns surface. is the ground-truth evaluator; it prints (higher is better). It optimizes the coding, never fabricates evidence.
engineering/autoresearch-agentscripts/ar_evaluator.pyvalidated_insights: <int>bash
/ar:setup --domain custom --name insight-synthesis \
--target observations.json \
--eval "python3 ar_evaluator.py --target observations.json" \
--metric validated_insights --direction higher
/ar:loop custom/insight-synthesisIsolated: no hard dependency — autoresearch runs only on demand, and the loop edits , never the evaluator.
observations.json该技能附带一个独立、可选的桥接工具,可连接至。只有当你要求“优化整合过程”/“运行循环”时,自动研究实验才会迭代优化固定证据集的编码/聚类,以挖掘更多跨参与者的模式。是真值评估工具,它会输出(数值越高越好)。它仅优化编码过程,绝不编造证据。
engineering/autoresearch-agentscripts/ar_evaluator.pyvalidated_insights: <int>bash
/ar:setup --domain custom --name insight-synthesis \
--target observations.json \
--eval "python3 ar_evaluator.py --target observations.json" \
--metric validated_insights --direction higher
/ar:loop custom/insight-synthesis独立性:无强依赖——自动研究仅按需运行,循环仅修改,绝不修改评估工具。
observations.jsonReferences
参考资料
- — Portigal Interviewing Users; Christensen/Ulwick JTBD; Rohrer's UX-research methods landscape (NN/g); Sauro & Lewis Quantifying the User Experience; Goodman/Kuniavsky.
references/research_methods_canon.md - — Nielsen "test with 5 users"; Guest, Bunce & Johnson saturation; Faulkner on more-than-5; Sauro usability sample size; Braun & Clarke thematic analysis.
references/sampling_and_saturation.md - — ResearchOps / atomic research (Tomer Sharon "Polaris"); insight-vs-observation discipline; repository governance; affinity mapping; democratization guardrails.
references/repository_and_synthesis.md
- —— Portigal《访谈用户》;Christensen/Ulwick的JTBD理论;Rohrer的UX研究方法全景图(NN/g);Sauro & Lewis《量化用户体验》;Goodman/Kuniavsky的相关研究。
references/research_methods_canon.md - —— Nielsen的“用5名用户做测试”;Guest, Bunce & Johnson的饱和理论;Faulkner关于样本量大于5的研究;Sauro的可用性测试样本量研究;Braun & Clarke的主题分析。
references/sampling_and_saturation.md - —— ResearchOps/原子研究(Tomer Sharon的“北极星”理论);洞察与观察的区分规范;存储库管控;亲和图法;民主化防护措施。
references/repository_and_synthesis.md
Assumptions
假设前提
- Method selection assumes you can name the goal honestly; if the goal is fuzzy, grill it first (the goal drives everything).
- Saturation guidance is method-based, not a power calculation — usability tests find problems, not prevalence rates.
- The synthesizer counts evidence you provide; coding quality is upstream of it. Garbage tags → garbage clusters.
- The insight threshold () defaults to 3; raise it for high-stakes or heterogeneous populations.
--min-sources
- 方法选择假设你能明确表述真实目标;若目标模糊,需先厘清(目标驱动一切)。
- 饱和度指导基于方法,而非功效计算——可用性测试用于发现问题,而非测算普及率。
- 整合工具仅统计你提供的证据;编码质量是前置条件。标签质量差→聚类结果差。
- 洞察阈值()默认值为3;针对高风险或异质性群体可提高该值。
--min-sources
Anti-patterns
反模式
- Mismatching method to goal. A usability test cannot discover unmet needs; an interview cannot measure task success.
- Reporting usability problems as percentages. Small-n tests surface problems, not population rates.
- Promoting an anecdote to an insight. One participant is a signal to probe, not a finding.
- Framing interview questions as feature reactions. Probe the job-to-be-done and recent real behavior, not hypothetical opinions.
- Synthesizing without a repository scheme. Tag at synthesis time, or insights rot unfindable.
- 方法与目标不匹配:可用性测试无法发现未被满足的需求;访谈无法衡量任务完成度。
- 将可用性问题按百分比报告:小样本测试仅用于发现问题,而非测算群体普及率。
- 将轶事提升为洞察:单一参与者的反馈是需要探索的信号,而非结论。
- 将访谈问题设计为功能反馈:应探索用户的待办任务和近期真实行为,而非假设性观点。
- 无存储库方案就进行整合:需在整合时添加标签,否则洞察会因无法检索而失效。
Distinct from
与其他技能的区别
| Neighbor | Scope | Difference |
|---|---|---|
| Personas, journey maps, usability frameworks tied to design output | That produces artifacts; this is method + repository discipline |
| Opportunity validation, discovery-sprint planning | That plans discovery sprints; this designs and synthesizes the research |
| Live product A/B hypothesis + sample size | That runs live experiments; this runs qualitative/evaluative research |
| Market sizing, surveys, segmentation | That studies the market; this studies users |
| 关联技能 | 范围 | 差异 |
|---|---|---|
| 角色画像、旅程地图、与设计输出绑定的可用性框架 | 该技能产出工件;本技能是方法+存储库规范 |
| 机会验证、发现冲刺规划 | 该技能规划发现冲刺;本技能设计并整合研究内容 |
| 实时产品A/B假设+样本量 | 该技能运行实时实验;本技能开展定性/评估式研究 |
| 市场规模测算、调研、细分 | 该技能研究市场;本技能研究用户 |
Quick examples
快速示例
bash
python3 scripts/study_designer.py --sample
python3 scripts/saturation_planner.py --method thematic --segments 3
python3 scripts/insight_synthesizer.py --sample --min-sources 3The synthesizer sample correctly promotes "import-confusion" (3 independent participants) to INSIGHT and flags "wants-slack" (1 participant) as an ANECDOTE.
bash
python3 scripts/study_designer.py --sample
python3 scripts/saturation_planner.py --method thematic --segments 3
python3 scripts/insight_synthesizer.py --sample --min-sources 3整合工具的示例会正确将“导入困惑”(来自3名独立参与者)标记为INSIGHT,将“想要Slack集成”(来自1名参与者)标记为ANECDOTE。
Forcing-question library (Matt Pocock grill discipline)
追问问题库(Matt Pocock严谨性规范)
Walked one at a time by or the orchestrator. Recommended answer + canon citation per question. Never bundled.
/cs:grill-research-ops-
"Is this study generative (discover problems) or evaluative (test a solution)?" Recommended: name it first — the method follows from the goal. Canon: Rohrer, When to Use Which User-Experience Research Methods (NN/g).
-
"What's your sample size and saturation rationale — and at what confidence?" Recommended: method-based n (5/segment usability; ~12 for thematic saturation), state the confidence. Canon: Nielsen; Guest, Bunce & Johnson (2006); Faulkner (2003).
-
"How many independent participants support each insight — or is it a single-source anecdote?" Recommended: require recurrence across ≥3 sources before calling it an insight; flag singletons. Canon: atomic research / ResearchOps; Braun & Clarke thematic analysis.
-
"Are your interview / usability tasks framed as outcomes (jobs) or as feature reactions?" Recommended: frame around the job-to-be-done and recent real behavior, not hypothetical opinion. Canon: Christensen/Ulwick Jobs-to-be-Done; Portigal Interviewing Users.
-
"Where does this land in the repository, and how is it tagged for reuse?" Recommended: tag to the atomic schema at synthesis time, not later. Canon: Tomer Sharon, Polaris / ResearchOps repository practice.
Walk depth-first. Lock 1-2 before opening 3-5. After all are answered, invoke → → (after fielding) .
study_designer.pysaturation_planner.pyinsight_synthesizer.py由或编排工具逐一提出。每个问题配有推荐答案及权威引用。请勿批量提问。
/cs:grill-research-ops-
“这项研究是生成式(发现问题)还是评估式(测试解决方案)?” 推荐:先明确类型——方法由目标决定。 引用:Rohrer,《何时使用何种用户体验研究方法》(NN/g)。
-
“你的样本量和饱和理由是什么——置信度是多少?” 推荐:基于方法确定样本量(可用性测试每个细分群体5人;主题饱和约12人),并说明置信度。 引用:Nielsen;Guest, Bunce & Johnson(2006);Faulkner(2003)。
-
“每个洞察有多少独立参与者支持——还是仅为单一来源的轶事?” 推荐:要求至少≥3个来源的重复反馈才能称为洞察;标记单一来源的内容。 引用:原子研究/ResearchOps;Braun & Clarke的主题分析。
-
“你的访谈/可用性任务是围绕结果(待办任务)还是功能反馈设计的?” 推荐:围绕用户待办任务和近期真实行为设计,而非假设性观点。 引用:Christensen/Ulwick的待办任务理论;Portigal《访谈用户》。
-
“这项研究将存入存储库的哪个位置,如何标记以便复用?” 推荐:在整合洞察时按原子模式添加标签,而非事后补充。 引用:Tomer Sharon,《北极星》/ResearchOps存储库实践。
按深度优先顺序提问。在回答1-2个问题后再开启3-5的提问。所有问题回答完毕后,依次调用 → → (完成实地研究后)。
study_designer.pysaturation_planner.pyinsight_synthesizer.py