problem-framing-canvas by deanpeters/product-manager-skills
npx skills add https://github.com/deanpeters/product-manager-skills --skill problem-framing-canvas通过提出涵盖三个阶段的结构化问题,引导产品经理完成 MITRE 问题界定画布流程:向内审视(检视自身假设和偏见)、向外审视(理解谁遇到了问题以及谁没有遇到问题)以及重新界定(将洞察综合成可执行的问题陈述和“我们如何能够”问题)。使用此方法确保在着手解决方案之前解决的是正确的问题——避免确认偏误、忽视利益相关者以及解决方案优先的思维。
这不是一个解决方案头脑风暴——它是一个问题界定工具,旨在拓宽视角、挑战假设并产生清晰、注重公平的问题陈述。
问题界定画布(MITRE 创新工具包,v3)是一个结构化框架,帮助团队在提出解决方案之前全面探索问题空间。它分为三个区域:
┌─────────────────────────────────────────────────────────────────┐
│ 向内审视 │
│ - 问题是什么?(症状) │
│ - 为什么我们还没解决它?(新问题、困难、优先级低等) │
│ - 我们如何成为问题的一部分?(假设、偏见) │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ 向外审视 │
│ - 谁遇到了这个问题?何时/何地/后果如何? │
│ - 还有谁有这个问题?谁没有? │
│ - 谁被遗漏了? │
│ - 当问题存在/不存在时,谁受益? │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ 重新界定 │
│ - 换种方式表述,问题是:[重新表述] │
│ - 我们如何能够[行动]以实现[目标]? │
└─────────────────────────────────────────────────────────────────┘
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
使用 workshop-facilitation 作为此技能的默认交互协议。
它定义了:
其他(请说明))此文件定义了特定领域的评估内容。如果存在冲突,请遵循此文件的领域逻辑。
使用 template.md 获取完整的填写结构。
此交互式技能遵循三阶段流程,在每个阶段提出自适应问题。
代理建议:
在我们界定你的问题之前,让我们先收集一些上下文:
问题上下文:
利益相关者上下文:
你可以直接粘贴此内容,或简要描述问题。
目标: 检视自身的假设、偏见以及你如何可能成为问题的一部分。
代理提问: “根据你目前的理解,问题是什么?描述一下症状。”
提供 4 个编号选项:
或者描述你的问题/症状。
用户响应: [选择或自定义]
代理提取:
代理提问: “为什么这个问题至今尚未解决?”
提供 6 个编号选项(可多选):
或者描述你自己的原因。
用户响应: [选择或自定义]
代理记录:
代理提问: “你(或你的团队)如何可能成为问题的一部分?你带来了哪些假设或偏见?”
提供 4 个编号选项:
或者描述你特定的假设/偏见。
用户响应: [选择或自定义]
代理记录:
目标: 理解谁遇到了问题,谁从中受益,以及谁被遗漏了。
代理提问: “谁遇到了这个问题?他们何时、何地遇到它?他们面临什么后果?”
代理提示用户描述:
适应: 使用上下文中的用户画像(原型画像、JTBD、客户研究)
用户响应: [详细描述]
代理记录:
代理提问: “还有谁有这个问题?(同事、竞争对手、其他领域?)谁没有这个问题?”
代理提示:
用户响应: [详细描述]
代理记录:
代理提问: “谁在之前的讨论中被遗漏了?当这个问题存在或不存在时,谁受益?”
代理提示:
示例:
用户响应: [详细描述]
代理记录:
目标: 将洞察综合成清晰、可执行的问题陈述和“我们如何能够”问题。
代理说: “基于我们探讨的所有内容,让我们用一种新的方式重新表述问题。”
代理使用第 1-2 阶段的洞察生成一个精炼的问题陈述:
模板: “问题是:[谁] 难以[完成什么],因为[根本原因],这导致了[后果]。这影响了[特定细分群体],并且由于[来自第 1 阶段的偏见/假设]而被忽视了。”
示例(SaaS 入职): “问题是:非技术背景的小企业主在入职期间难以激活我们的产品,因为我们使用了术语繁多的用户界面且缺乏引导式工作流,这导致 24 小时内 60% 的放弃率。这不成比例地影响了没有技术支持的个人创业者,并且由于我们的团队为拥有 IT 部门的企业用户进行了优化而被忽视了。”
代理提问: “这个重新表述是否抓住了核心问题?我们需要调整它吗?”
用户响应: [批准或修改]
代理说: “现在让我们用一个‘我们如何能够’陈述使其变得可执行。”
模板: “我们如何能够[解决该问题的行动]以实现[目标/期望状态]?”
示例(SaaS 入职): “我们如何能够通过通俗易懂的提示引导非技术用户完成入职,以实现激活率从 40% 提升到 70% 的目标?”
代理提问: “这个 HMW 陈述是否设定了正确的解决方案空间?我们需要调整吗?”
用户响应: [批准或修改]
完成流程后,代理输出:
# 问题界定画布:[问题名称]
**日期:**[今天的日期]
---
## 阶段 1:向内审视
### 问题是什么?(症状)
[来自 Q1 的描述]
### 为什么我们还没解决它?
- [来自 Q2 的障碍 1]
- [障碍 2]
- [障碍 3]
### 我们如何成为问题的一部分?(假设与偏见)
- [来自 Q3 的假设 1]
- [假设 2]
- [假设 3]
**其中哪些可以被重新设计、重新界定或移除?**
[对需要挑战的偏见的反思]
---
## 阶段 2:向外审视
### 谁遇到了这个问题?
**谁:**[来自 Q4 的用户画像/细分]
**何时/何地:**[情境]
**后果:**[对用户的影响]
**实际体验差异:**[不同用户如何以不同方式体验它]
### 还有谁有这个问题?
**还有谁:**[来自 Q5 的示例]
**他们如何处理它:**[变通方法]
### 谁没有它?
[来自 Q5 的反例]
### 谁被遗漏了?
[来自 Q6 的边缘化声音]
### 谁受益?
**当问题存在时:**[现状的受益者]
**当问题不存在时:**[如果问题解决谁会受损]
---
## 阶段 3:重新界定
### 换种方式表述,问题是:
[来自 Q7 的精炼问题陈述]
### 我们如何能够...
**我们如何能够**[来自 Q8 的行动]**以实现**[来自 Q8 的目标]?
---
## 后续步骤
1. **与用户验证:** 使用 `skills/discovery-interview-prep/SKILL.md` 与客户测试重新界定的问题
2. **生成解决方案:** 使用 `skills/opportunity-solution-tree/SKILL.md` 探索解决方案空间
3. **创建问题陈述:** 使用 `skills/problem-statement/SKILL.md` 为 PRD/路线图正式化问题陈述
4. **识别机会:** 使用 HMW 陈述进行解决方案构思
---
**准备好探索解决方案了吗?如果您想精炼问题界定或转向解决方案生成,请告诉我。**
查看 examples/sample.md 获取完整的问题界定示例。
迷你示例摘录:
**向内审视:** 入职变更后流失率激增
**向外审视:** 新的 SMB 用户受影响最大
**重新界定:** 我们如何能够减少首次用户的入职摩擦?
症状: 团队直接跳到“向外审视”,没有检视偏见
后果: 群体思维持续存在,假设未被挑战
解决方法: 强制明确讨论假设和偏见(Q2-Q3)
症状: 完成画布时未探讨谁从问题存在中受益
后果: 错失政治动态、对变革的阻力
解决方法: 始终询问“如果这个问题解决了,谁会受损?”(Q6)
症状: 重新界定的问题很模糊(例如“改善用户体验”)
后果: HMW 陈述不可执行
解决方法: 使问题具体化(谁、什么、何时、后果、根本原因)
症状: “我们如何能够添加一个移动应用?”
后果: 将解决方案空间限制在一个想法上
解决方法: 保持 HMW 宽泛:“我们如何能够让移动优先用户在任何设备上访问核心工作流?”
症状: 产品经理独自填写画布
后果: 偏见持续存在,边缘化声音仍然被遗漏
解决方法: 与跨职能团队 + 客户意见一起引导画布研讨会
skills/problem-statement/SKILL.md — 将重新界定的问题转化为正式的问题陈述skills/opportunity-solution-tree/SKILL.md — 使用 HMW 陈述生成解决方案选项skills/discovery-interview-prep/SKILL.md — 与客户验证重新界定的问题技能类型: 交互式 建议文件名: problem-framing-canvas.md 建议放置位置: /skills/interactive/ 依赖项: 使用 skills/problem-statement/SKILL.md
每周安装次数
230
代码库
GitHub 星标数
1.5K
首次出现
2026年2月12日
安全审计
安装于
codex203
opencode201
gemini-cli197
github-copilot196
cursor194
kimi-cli193
Guide product managers through the MITRE Problem Framing Canvas process by asking structured questions across three phases: Look Inward (examine your own assumptions and biases), Look Outward (understand who experiences the problem and who doesn't), and Reframe (synthesize insights into an actionable problem statement and "How Might We" question). Use this to ensure you're solving the right problem before jumping to solutions—avoiding confirmation bias, overlooked stakeholders, and solution-first thinking.
This is not a solution brainstorm—it's a problem framing tool that broadens perspective, challenges assumptions, and produces a clear, equity-driven problem statement.
The Problem Framing Canvas (MITRE Innovation Toolkit, v3) is a structured framework that helps teams explore a problem space comprehensively before proposing solutions. It's partitioned into three areas :
┌─────────────────────────────────────────────────────────────────┐
│ LOOK INWARD │
│ - What is the problem? (symptoms) │
│ - Why haven't we solved it? (new, hard, low priority, etc.) │
│ - How are we part of the problem? (assumptions, biases) │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ LOOK OUTWARD │
│ - Who experiences the problem? When/where/consequences? │
│ - Who else has it? Who doesn't have it? │
│ - Who's been left out? │
│ - Who benefits when problem exists/doesn't exist? │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ REFRAME │
│ - Stated another way, the problem is: [restatement] │
│ - How might we [action] as we aim to [objective]? │
└─────────────────────────────────────────────────────────────────┘
Use workshop-facilitation as the default interaction protocol for this skill.
It defines:
Other (specify) when useful)This file defines the domain-specific assessment content. If there is a conflict, follow this file's domain logic.
Use template.md for the full fill-in structure.
This interactive skill follows a three-phase process , asking adaptive questions in each phase.
Agent suggests:
Before we frame your problem, let's gather context:
Problem Context:
Stakeholder Context:
You can paste this content directly, or describe the problem briefly.
Goal: Examine your own assumptions, biases, and how you might be part of the problem.
Agent asks: "What is the problem as you currently understand it? Describe the symptoms."
Offer 4 enumerated options:
Or describe your problem/symptoms.
User response: [Selection or custom]
Agent extracts:
Agent asks: "Why hasn't this problem been solved yet?"
Offer 6 enumerated options (can select multiple):
Or describe your own reason.
User response: [Selection or custom]
Agent captures:
Agent asks: "How might you (or your team) be part of the problem? What assumptions or biases are you bringing?"
Offer 4 enumerated options:
Or describe your specific assumptions/biases.
User response: [Selection or custom]
Agent captures:
Goal: Understand who experiences the problem, who benefits from it, and who's been left out.
Agent asks: "Who experiences this problem? When and where do they experience it? What consequences do they face?"
Agent prompts user to describe:
Adaptation: Use personas from context (proto-personas, JTBD, customer research)
User response: [Detailed description]
Agent captures:
Agent asks: "Who else has this problem? (Colleagues, competitors, other domains?) And who doesn't have it?"
Agent prompts:
User response: [Detailed description]
Agent captures:
Agent asks: "Who's been left out of the conversation so far? And who benefits when this problem exists or doesn't exist?"
Agent prompts:
Example:
User response: [Detailed description]
Agent captures:
Goal: Synthesize insights into a clear, actionable problem statement and "How Might We" question.
Agent says: "Based on everything we've explored, let's restate the problem in a new way."
Agent generates a refined problem statement using insights from Phases 1-2:
Template: "The problem is: [Who] struggles to [accomplish what] because [root cause], which leads to [consequence]. This affects [specific segments] and has been overlooked because [bias/assumption from Phase 1]."
Example (SaaS onboarding): "The problem is: Non-technical small business owners struggle to activate our product during onboarding because we use jargon-heavy UI and lack guided workflows, which leads to 60% abandonment within 24 hours. This disproportionately affects solopreneurs without technical support, and has been overlooked because our team optimizes for enterprise users who have IT departments."
Agent asks: "Does this restatement capture the core problem? Should we refine it?"
User response: [Approve or modify]
Agent says: "Now let's make it actionable with a 'How Might We' statement."
Template: "How might we [action that addresses the problem] as we aim to [objective/desired condition]?"
Example (SaaS onboarding): "How might we guide non-technical users through onboarding with plain-language prompts as we aim to increase activation from 40% to 70%?"
Agent asks: "Does this HMW statement set up the right solution space? Should we adjust?"
User response: [Approve or modify]
After completing the flow, the agent outputs:
# Problem Framing Canvas: [Problem Name]
**Date:** [Today's date]
---
## Phase 1: Look Inward
### What is the problem? (Symptoms)
[Description from Q1]
### Why haven't we solved it?
- [Barrier 1 from Q2]
- [Barrier 2]
- [Barrier 3]
### How are we part of the problem? (Assumptions & biases)
- [Assumption 1 from Q3]
- [Assumption 2]
- [Assumption 3]
**Which of these might be redesigned, reframed, or removed?**
[Reflection on biases to challenge]
---
## Phase 2: Look Outward
### Who experiences the problem?
**Who:** [Personas/segments from Q4]
**When/Where:** [Context]
**Consequences:** [Impact on users]
**Lived experience varies:** [How different users experience it differently]
### Who else has this problem?
**Who else:** [Examples from Q5]
**How they deal with it:** [Workarounds]
### Who doesn't have it?
[Counter-examples from Q5]
### Who's been left out?
[Marginalized voices from Q6]
### Who benefits?
**When problem exists:** [Beneficiaries of status quo]
**When problem doesn't exist:** [Who loses if solved]
---
## Phase 3: Reframe
### Stated another way, the problem is:
[Refined problem statement from Q7]
### How Might We...
**How might we** [action from Q8] **as we aim to** [objective from Q8]?
---
## Next Steps
1. **Validate with users:** Use `skills/discovery-interview-prep/SKILL.md` to test reframed problem with customers
2. **Generate solutions:** Use `skills/opportunity-solution-tree/SKILL.md` to explore solution space
3. **Create problem statement:** Use `skills/problem-statement/SKILL.md` to formalize for PRD/roadmap
4. **Identify opportunities:** Use HMW statement to brainstorm solution ideas
---
**Ready to explore solutions? Let me know if you'd like to refine the problem framing or move to solution generation.**
See examples/sample.md for full problem framing examples.
Mini example excerpt:
**Look Inward:** Churn spiked after onboarding change
**Look Outward:** New SMB users are most affected
**Reframe:** How might we reduce onboarding friction for first-time users?
Symptom: Team jumps straight to "Look Outward" without examining biases
Consequence: Groupthink persists, assumptions unchallenged
Fix: Force explicit discussion of assumptions and biases (Q2-Q3)
Symptom: Canvas completed without exploring who benefits from problem existing
Consequence: Miss political dynamics, resistance to change
Fix: Always ask "Who loses if this problem is solved?" (Q6)
Symptom: Reframed problem is vague ("Improve user experience")
Consequence: HMW statement isn't actionable
Fix: Make problem specific (who, what, when, consequence, root cause)
Symptom: "How might we add a mobile app?"
Consequence: Constrains solution space to one idea
Fix: Keep HMW broad: "How might we enable mobile-first users to access core workflows on any device?"
Symptom: PM fills out canvas alone
Consequence: Biases persist, marginalized voices still left out
Fix: Facilitate canvas workshop with cross-functional team + customer input
skills/problem-statement/SKILL.md — Converts reframed problem into formal problem statementskills/opportunity-solution-tree/SKILL.md — Uses HMW statement to generate solution optionsskills/discovery-interview-prep/SKILL.md — Validates reframed problem with customersSkill type: Interactive Suggested filename: problem-framing-canvas.md Suggested placement: /skills/interactive/ Dependencies: Uses skills/problem-statement/SKILL.md
Weekly Installs
230
Repository
GitHub Stars
1.5K
First Seen
Feb 12, 2026
Security Audits
Gen Agent Trust HubPassSocketFailSnykPass
Installed on
codex203
opencode201
gemini-cli197
github-copilot196
cursor194
kimi-cli193
飞书日程待办摘要工作流:AI自动生成每日/每周开工报告,提升个人生产力
15,600 周安装