Skip to content
Development
Skill

/problem-statement

Write a user-centered problem statement with who is blocked, what they are trying to do, why it matters, and how it feels. Use when framing discovery, prioritization, or a PRD.

From plugin
crew44
35862 skills4 agents

Claude Code

$ npx -y skills add getcrew44/crew44 --skill problem-statement --agent claude-code

SKILL.md

problem-statement.SKILL.md
name: problem-statement
description: Write a user-centered problem statement with who is blocked, what they are trying to do, why it matters, and how it feels. Use when framing discovery, prioritization, or a PRD.
intent: >-
  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.
type: component

Purpose

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.

Key Concepts

The Problem Framing Framework

Based on Jobs-to-be-Done and empathy mapping, the framework structures problems as:

**Problem Framing Narrative:**

  • **I am:** [Describe the persona experiencing the problem]
  • **Trying to:** [Desired outcomes the persona cares about]
  • **But:** [Barriers preventing the outcomes]
  • **Because:** [Root cause of the problem]
  • **Which makes me feel:** [Emotional impact]

**Context & Constraints:**

  • [Geographic, technological, time-based, demographic factors]

**Final Problem Statement:**

  • [Single, concise, empathetic summary]

Why This Structure Works

  • **Persona-centric:** Forces you to see the problem through the user's eyes
  • **Outcome-focused:** "Trying to" emphasizes desired results, not tasks
  • **Root cause analysis:** "Because" pushes past symptoms to underlying issues
  • **Emotional validation:** "Makes me feel" humanizes the problem and builds empathy
  • **Contextual:** Constraints acknowledge real-world limitations

Anti-Patterns (What This Is NOT)

  • **Not a solution in disguise:** "The problem is we lack AI-powered analytics" = sneaking in a solution
  • **Not a business problem:** "Our revenue is down" isn't a user problem (it's a symptom)
  • **Not a feature request:** "Users need a dashboard" isn't a problem (what are they trying to do?)
  • **Not generic:** "Users want better UX" is too vague to be actionable

When to Use This

  • Kicking off discovery or problem validation work
  • Aligning stakeholders before solutioning
  • Socializing a problem with engineering, design, or exec teams
  • When you have feature requests but unclear underlying problems
  • Pitching why a problem is worth solving

When NOT to Use This

  • When you haven't done any user research yet (don't guess—interview first)
  • For internal operational problems (this is for user-facing problems)
  • As a substitute for a PRD (this frames the problem; PRD defines the solution)

---

Application

Use `template.md` for the full fill-in structure.

Step 1: Gather User Context

Before drafting, ensure you have:

  • **User interviews or research:** Direct quotes, observed behaviors, pain points
  • **Jobs-to-be-Done insights:** What users are "hiring" your product to do (reference `skills/jobs-to-be-done/SKILL.md`)
  • **Persona clarity:** Who specifically experiences this problem (reference `skills/proto-persona/SKILL.md`)
  • **Constraints data:** Geographic, tech, time, demographic limitations

**If missing context:** Run discovery interviews, contextual inquiries, or user shadowing. Don't fabricate problems.

---

Step 2: Draft the Problem Framing Narrative

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:**

  • **"I am" specificity:** Can you picture this person? Or is it generic ("busy professionals")?
  • **"Trying to" clarity:** Is this an outcome (measurable) or a task (activity)?
  • **"But" depth:** Are these real barriers or just inconveniences?
  • **"Because" honesty:** Is this the root cause or just a symptom?
  • **"Makes me feel" authenticity:** Do these emotions come from research or assumptions?

---

Step 3: Document Context & Constraints

## 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:**

  • **Relevance:** Do these constraints directly impact the problem?
  • **Specificity:** Are they concrete enough to inform design decisions?

---

Step 4: Craft the Final Problem Statement

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:*

Read more
@getcrew44
Ships withcrew44

Orchestrate a crew of specialist AI agents in one local-first workspace. Each role on its best model, with memory and skills that compound. Free, MIT.

35862 skills4 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
358
Star history of getcrew44/crew44 on GitHub, a chart by star-history.com

Other skills on crew44.

brainstorming

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.…

@getcrew44@getcrew44Install Skill
executing-plans

executing-plans

Use when you have a written implementation plan to execute in a separate session with review checkpoints

@getcrew44@getcrew44Install Skill
receiving-code-review

receiving-code-review

Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically…

@getcrew44@getcrew44Install Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about problem-statement.

Which coding agents can use problem-statement?
problem-statement installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.