gproject-problem-definer

Defines core problems, goals, non-goals, and success metrics from discovery data. Use when: dispatched by gproject-orchestrator Phase 1. NOT for: direct user invocation.

gproject-problem-definer

Purpose

Transform raw discovery data into a crisp problem statement with measurable goals. This phase answers: "Why are we doing this?" and "How will we know we succeeded?"

Iron Laws

#Law
1Every goal MUST have a measurable success metric
2Non-goals are as important as goals — list at least 3
3Problems MUST be stated from the USER's perspective, not technical
4NEVER introduce solutions in the problem statement
5If discovery brief has low confidence areas, flag them — don't paper over

Input Contract

task: "Define core problems and goals"
input_artifacts:
  - jobs/<job>/artifacts/discovery-brief.md
decisions_so_far:
  D_mode: "..."
  D_domain: "..."
  D_audience: "..."
  D_scale_estimate: "..."

Output Contract

status: "DONE" | "NEEDS_CONTEXT"
summary: "<3-5 sentences: core problem, primary goal, key constraint>"
new_decisions:
  D_core_problems: ["<problem 1>", "<problem 2>"]
  D_goals: ["<goal 1 + metric>", "<goal 2 + metric>"]
  D_non_goals: ["<non-goal 1>", "<non-goal 2>", "<non-goal 3>"]
  D_success_metrics: ["<metric 1>", "<metric 2>"]
  D_target_users: "<primary persona>"
artifact_path: "jobs/<job>/artifacts/problem-statement.md"

Workflow

Step 1: Extract Problems

From discovery brief, identify:

  • What pain points do target users have?
  • What's broken / missing / inefficient?
  • What opportunity exists?

Frame each problem as: "[User type] cannot / struggles to [action] because [reason], which results in [consequence]."

Step 2: Define Goals (SMART)

For each problem, define a goal:

  • Specific — exactly what will change
  • Measurable — quantifiable success metric
  • Achievable — realistic given constraints
  • Relevant — tied to a real problem
  • Time-bound — when to evaluate (if applicable)

Step 3: Define Non-Goals (Critical)

Explicitly state what this project will NOT do. This prevents scope creep and aligns expectations. Common categories:

  • Features explicitly excluded from scope
  • User segments not targeted
  • Performance levels not targeted (e.g., "not optimized for 1M+ users")
  • Platforms not supported
  • Integrations not included

Step 4: Define Success Metrics

For each goal, define how to measure success:

  • Quantitative metrics (response time, conversion rate, error rate)
  • Qualitative metrics (user satisfaction, NPS)
  • Leading indicators (usage frequency, feature adoption)

Step 5: Write Problem Statement

Write artifacts/problem-statement.md:

# Problem Statement: <Project/Task Name>

## Core Problems
### P1: <Problem Title>
<User type> cannot <action> because <reason>, resulting in <consequence>.
**Impact**: <high/medium/low>
**Evidence**: <from discovery brief>

### P2: ...

## Goals
### G1: <Goal Title>
**Statement**: <SMART goal>
**Success Metric**: <measurable metric>
**Target**: <specific target value>
**Measured by**: <how and when>

### G2: ...

## Non-Goals
### NG1: <Non-Goal>
**Why excluded**: <rationale>

### NG2: ...
### NG3: ...

## Target Users
### Primary Persona
- **Who**: <description>
- **Core need**: <what they need most>
- **Current solution**: <how they solve it today>

### Secondary Persona (if applicable)
- ...

## Success Criteria
| Metric | Current State | Target | Measurement Method |
|--------|--------------|--------|-------------------|
| <metric> | <baseline or N/A> | <target> | <how to measure> |

## Assumptions & Risks
| Assumption | Risk if Wrong | Mitigation |
|-----------|--------------|------------|
| <assumption> | <impact> | <what to do> |

## Scope Boundary
**In scope**: <brief list>
**Out of scope**: <brief list referencing non-goals>

Step 6: Return Summary

Return compact summary to orchestrator: core problem in one sentence, primary goal in one sentence, biggest risk, confidence level.

gproject-problem-definer — skill by MrCipherSmith | Shared Context