Skip to content
alyn
product-on-purpose

Define Problem Statement skill

Creates a clear problem framing document with user impact, business context, and success criteria. Use when starting a new initiative, realigning a drifted project, or communicating up to leadership.

$npx skills add product-on-purpose/pm-skills --skill define-problem-statement
View this skill on GitHubproduct-on-purpose/pm-skills/skills/define-problem-statement/SKILL.md
Pack stars
796
Pack installs
51k
Alyn Score
61/99
Updated
23 h ago
License
Apache-2.0
– views – installs via Alyn

product-on-purpose

Define Problem Statement

Install Define Problem Statement

Pick your agent. Every command is ready to paste.

$npx skills add product-on-purpose/pm-skills --skill define-problem-statement

The open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.

01

Install it

Run the command above, or upload the folder in Claude.

02

Ask naturally

Describe the task. Your agent loads define-problem-statement when the request matches its description.

03

Name it if needed

If it does not trigger, say “use the define-problem-statement skill”. In Codex, type $define-problem-statement.

The skill itself

SKILL.md

FolderGitHub

Problem Statement

A problem statement is a concise document that frames the problem you're solving, articulates the impact on users and the business, and defines clear success criteria. It serves as the foundation for all subsequent product work by ensuring alignment on what problem to solve before jumping to how to solve it.

When to Use

  • Starting a new initiative or project to establish shared understanding
  • Realigning a drifted project back to its original intent
  • Communicating up to leadership or stakeholders about priorities
  • Evaluating whether a proposed solution actually addresses the core problem
  • Onboarding new team members to provide context

When NOT to Use

  • The problem is already agreed and engineering needs the spec -> use deliver-prd
  • You want to propose and compare solution approaches -> use develop-solution-brief
  • You are capturing customer motivation rather than a business problem -> use define-jtbd-canvas
  • The "problem" is really an unvalidated assumption -> frame it with define-hypothesis and test it before committing a team to it

Instructions

When asked to create a problem statement, follow these steps:

  1. Identify the User Segment Ask who is experiencing this problem. Get specific about the user persona, role, or segment. Avoid vague descriptions like "users" - instead target "mobile shoppers completing checkout" or "enterprise admins managing 50+ users."

  2. Understand the Pain Points Explore what friction, frustration, or unmet need the user experiences. Ask probing questions to understand the severity and frequency of the problem. Look for evidence from user research, support tickets, or behavioral data.

  3. Establish Business Context Connect the user problem to business impact. How does this problem affect revenue, retention, growth, or strategic goals? Why should the organization invest in solving this now versus later?

  4. Define Success Metrics Identify how you will measure success. What metrics will move if this problem is solved? Establish current baselines and target improvements. Be specific and time-bound.

  5. Surface Constraints and Considerations Note any technical limitations, resource constraints, regulatory requirements, or dependencies that will shape the solution space.

  6. Capture Open Questions Document what you don't know yet. What assumptions need validation? What additional research is needed?

Output Format

Use the template in references/TEMPLATE.md to structure the output. A complete problem statement fills every template section: Problem Summary; User Impact; Business Context; Success Criteria; Constraints & Considerations; and Open Questions.

Quality Checklist

Before finalizing, verify:

  • Problem is specific to a defined user segment (not "all users")
  • Impact is quantified with data or reasonable estimates
  • Success metrics have baselines and targets
  • Problem describes the "what" without prescribing the "how"
  • Business context explains why this matters now
  • Open questions are captured for follow-up

Examples

See references/EXAMPLE.md for a completed example.

Tips for Define Problem Statement

  • • Start a fresh session after installing so your agent picks up the new skill.
  • • It bundles reference files. The agent reads them only when needed, so they cost no context until then.
  • • It is part of a pack with 30 skills. Install only the ones you need with --skill to keep triggers precise.
  • • If two skills overlap, mention the one you want by name.

Questions about Define Problem Statement

What does the Define Problem Statement skill do?

Creates a clear problem framing document with user impact, business context, and success criteria. Use when starting a new initiative, realigning a drifted project, or communicating up to leadership.

How do I install Define Problem Statement?

Run "npx skills add product-on-purpose/pm-skills --skill define-problem-statement" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.

Does Define Problem Statement work in Cursor and Codex?

Yes. Define Problem Statement uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.

Is Define Problem Statement free?

Define Problem Statement is open source on GitHub under the Apache-2.0 license. It is free to install; check the license before commercial use.

Who made Define Problem Statement?

Define Problem Statement is published by product-on-purpose in the product-on-purpose/pm-skills repository, together with 29 other skills.

Similar skills. From other creators.