User-centered problem framing that captures who is blocked, what they're trying to do, why it matters, and how it feels.
Works with
Structures problems around five dimensions: persona, desired outcomes, barriers, root causes, and emotional impact—ensuring you solve problems worth solving, not feature requests
Includes a fill-in template, quality checks, and anti-patterns to avoid solution smuggling, generic personas, and symptom-level diagnosis
Designed for discovery alignment, stakeholder buy-
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionproblem-statementExecute the skills CLI command in your project's root directory to begin installation:
Fetches problem-statement from deanpeters/product-manager-skills and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate problem-statement. Access via /problem-statement in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
0
total installs
0
this week
3.1K
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
3.1K
stars
Articulate a problem from the user's perspective using an empathy-driven framework that captures who they are, what they're trying to do, what's blocking them, why, and how it makes them feel. Use this to align stakeholders on the problem before jumping to solutions, and to frame product work around user outcomes rather than feature requests.
This is not a requirements doc—it's a human-centered problem narrative that ensures you're solving a problem worth solving.
Based on Jobs-to-be-Done and empathy mapping, the framework structures problems as:
Problem Framing Narrative:
Context & Constraints:
Final Problem Statement:
Use template.md for the full fill-in structure.
Before drafting, ensure you have:
skills/jobs-to-be-done/SKILL.md)skills/proto-persona/SKILL.md)If missing context: Run discovery interviews, contextual inquiries, or user shadowing. Don't fabricate problems.
Fill in the template from the persona's point of view:
## Problem Framing Narrative
**I am:** [Describe the key persona, highlighting 3-4 key characteristics]
- [Key pain point or characteristic 1]
- [Key pain point or characteristic 2]
- [Key pain point or characteristic 3]
**Trying to:**
- [Single sentence listing the desired outcomes the persona cares most about]
**But:**
- [Describe the barriers preventing the persona from achieving outcomes]
- [Job-to-be-done or outcome obstruction 1]
- [Job-to-be-done or outcome obstruction 2]
- [Job-to-be-done or outcome obstruction 3]
**Because:**
- [Describe the root cause empathetically]
**Which makes me feel:**
- [Describe the emotions from the persona's perspective]
Quality checks:
## Context & Constraints
- [Enumerate geographic, technological, time-based, or demographic factors]
- [e.g., "Must work offline in rural areas with limited connectivity"]
- [e.g., "Used by non-technical users unfamiliar with complex software"]
- [e.g., "Time-sensitive: decisions must be made within 24 hours"]
Quality checks:
Synthesize the narrative into one powerful sentence:
## Final Problem Statement
[Single, concise statement that provides a powerful and empathetic summary]
Formula: [Persona] needs a way to [desired outcome] because [root cause], which currently [emotional/practical impact].
Example: "Enterprise IT admins need a way to provision user accounts in under 5 minutes because current processes take 2+ hours with manual approvals, which causes project delays and frustrated end-users."
Quality checks:
See examples/sample.md for full examples (good and bad problem statements).
Mini example excerpt:
**I am:** A software developer on a distributed team
**Trying to:** Communicate in real-time with my team without losing context
**But:** Email is too slow and IM is ephemeral
**Because:** No tool combines real-time chat with searchable history
**Which makes me feel:** Frustrated and disconnected
Symptom: "The problem is we don't have [specific feature]"
Consequence: You've predetermined the solution without validating the problem.
Fix: Reframe around the user's desired outcome, not the feature. Ask "What are they trying to achieve?"
Symptom: "Users want to increase our revenue" or "The problem is our churn rate"
Consequence: These are company problems, not user problems. Users don't care about your metrics.
Fix: Dig into why users churn or what would make them spend more. Frame it from their perspective.
Symptom: "I am a busy professional trying to be more productive"
Consequence: Too broad to be actionable. Every product claims to help "busy professionals."
Fix: Get specific. "I am a sales rep managing 50+ leads manually in spreadsheets, trying to prioritize follow-ups without missing high-value opportunities."
Symptom: "Because the UI is confusing"
Consequence: You're describing a symptom, not the underlying issue.
Fix: Ask "Why is the UI confusing?" Keep asking "why" until you hit the root cause (e.g., "Because users have no mental model for how the system works").
Symptom: "Which makes me feel empowered and delighted"
Consequence: These sound like marketing copy, not real user emotions.
Fix: Use actual quotes from user interviews. Real emotions: "frustrated," "overwhelmed," "anxious," "stuck."
skills/jobs-to-be-done/SKILL.md — Informs the "Trying to" and "But" sectionsskills/proto-persona/SKILL.md — Defines the "I am" personaskills/positioning-statement/SKILL.md — Problem statement informs positioningskills/user-story/SKILL.md — Problem statement guides story prioritizationprompts/framing-the-problem-statement.md in the https://github.com/deanpeters/product-manager-prompts repo.Skill type: Component
Suggested filename: problem-statement.md
Suggested placement: /skills/components/
Dependencies: References skills/jobs-to-be-done/SKILL.md, skills/proto-persona/SKILL.md
Make data-driven prioritization decisions faster
Draft PRDs, status updates, and stakeholder presentations
Example
Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement
Save 3-5 hours/week on communication overhead
Prerequisites
Time Estimate
30-60 minutes to see productivity improvements
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.
✗ Avoid when
Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.
mattpocock/skills
parcadei/continuous-claude-v3
cursor/plugins
ailabs-393/ai-labs-claude-skills
pproenca/dot-skills
mattpocock/skills
We added problem-statement from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
problem-statement reduced setup friction for our internal harness; good balance of opinion and flexibility.
problem-statement fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
Solid pick for teams standardizing on skills: problem-statement is focused, and the summary matches what you get after install.
I recommend problem-statement for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
Solid pick for teams standardizing on skills: problem-statement is focused, and the summary matches what you get after install.
We added problem-statement from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
Solid pick for teams standardizing on skills: problem-statement is focused, and the summary matches what you get after install.
problem-statement has been reliable in day-to-day use. Documentation quality is above average for community skills.
We added problem-statement from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
showing 1-10 of 70