.claude/skills/prd-v04-user-journey-mapping/SKILL.md
Map user missions from trigger to value moment, organizing features into coherent paths during PRD v0.4 User Journeys. Triggers on requests to map user journeys, define user flows, describe how users accomplish goals, or when user asks "map user journeys", "define user flows", "user missions", "how do users accomplish X?", "journey mapping", "what steps do users take?", "pain to value flow". Consumes PER- (Persona Definition), FEA- (Feature Value Planning), KPI- (Outcome Definition). Outputs UJ- entries with step flows, pain points, and value moments. Feeds v0.4 Screen Flow Definition.
npx skillsauth add mattgierhart/PRD-driven-context-engineering prd-v04-user-journey-mappingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Position in workflow: v0.4 Persona Definition → v0.4 User Journey Mapping → v0.4 Screen Flow Definition
User journeys transform features into paths. A journey answers: "How does [persona] go from [trigger] to [value moment] using [features]?"
This skill requires prior work from v0.3-v0.4:
This skill assumes v0.4 Persona Definition is complete.
This skill creates/updates:
All UJ- entries should include:
confidence: 2-3/5 (based on design validation and feature implementation certainty)Example UJ- entry with confidence:
UJ-001: First Report Generation
Persona: PER-001 (Overwhelmed Ops Manager)
Type: Core
Trigger: User completes onboarding and sees empty dashboard
Goal: Generate first automated report to see time-saving value
Confidence: 2/5 (source: design-validation + feature-status-in-development; KPI-002 links to conversion)
Steps:
1. Click "Create Report" → FEA-003 (one-click reports) [In MVP-SCOPE]
2. Select data source → FEA-001 (auto-sync) [In MVP-SCOPE]
3. Choose report template → FEA-008 (templates) [In MVP-SCOPE]
4. Preview report → FEA-003 [In MVP-SCOPE]
5. Export/share report → FEA-009 (export) [In MVP-SCOPE]
Pain Points:
- Step 2: User may not have connected data source yet (dependency on UJ-002)
- Step 3: Template overload if too many choices (design concern; recommend 3-5 templates max)
Moment of Value: Seeing the completed report with their actual data
KPI Link: KPI-002 (activation rate — user completes first valuable action)
Success Metric: Time from "Create Report" click to export ≤ 5 minutes
Dependencies: BR-015 (data format rules), UJ-002 (data source connection must precede)
Next Target: "Would move to 4/5 if 5+ beta users complete this journey in ≤5 minutes and report value"
| Type | Purpose | Priority Signal | Example | |------|---------|-----------------|---------| | Core | Primary value delivery | Must complete for activation | First report generated | | Onboarding | First-time user setup | Blocks all other journeys | Account creation → first action | | Recovery | Error handling, support | Retention protection | Password reset, billing issue | | Power User | Advanced workflows | Expansion/upsell | Bulk operations, integrations |
Rule: Define Onboarding first (it gates everything), then Core journeys (they deliver KPI-), then others.
Every journey has:
Pull PER- (personas) from Persona Definition
Pull FEA- (features) and KPI- (outcomes) from v0.3
Define trigger events
Map step flow using features
Identify pain points
Mark "moments of value"
Create UJ- entries with full traceability
UJ-XXX: [Journey Title]
Persona: [PER-XXX]
Type: [Core | Onboarding | Recovery | Power User]
Trigger: [Event that initiates journey]
Goal: [What user wants to accomplish]
Steps:
1. [Action] → FEA-XXX
2. [Action] → FEA-XXX
3. [Action] → FEA-XXX
...
Pain Points:
- [Step X]: [Potential friction — e.g., "requires context switch"]
- [Step Y]: [Potential friction]
Moment of Value: [When user achieves goal — be specific]
KPI Link: [KPI-XXX this journey drives]
Success Metric: [How we measure journey completion]
Dependencies: [BR-XXX constraints, API-XXX if known]
Example UJ- entry:
UJ-001: First Report Generation
Persona: PER-001 (Overwhelmed Ops Manager)
Type: Core
Trigger: User completes onboarding and sees empty dashboard
Goal: Generate first automated report to see time-saving value
Steps:
1. Click "Create Report" → FEA-003 (one-click reports)
2. Select data source → FEA-001 (auto-sync)
3. Choose report template → FEA-008 (templates)
4. Preview report → FEA-003
5. Export/share report → FEA-009 (export)
Pain Points:
- Step 2: User may not have connected data source yet (dependency on UJ-002)
- Step 3: Template overload if too many choices
Moment of Value: Seeing the completed report with their actual data
KPI Link: KPI-002 (activation rate)
Success Metric: Time from "Create Report" click to export ≤ 5 minutes
Dependencies: BR-015 (data format rules), UJ-002 (data source connection)
After mapping journeys, validate:
If a FEA- isn't in any journey, either:
Map dependencies between journeys:
UJ-000: Onboarding (gates all)
↓
UJ-001: First Report (Core) ← KPI-002 (activation)
↓
UJ-002: Data Source Connection (Core) ← KPI-003 (depth)
↓
UJ-003: Team Invite (Power User) ← KPI-004 (expansion)
| Anti-Pattern | Signal | Fix | |--------------|--------|-----| | Feature-first journeys | Steps = feature list dumped in order | Start with user goal, then map features to it | | No trigger | "User opens app" | Define specific event: "receives notification" | | No value moment | Journey ends without payoff | Each journey needs clear outcome | | Orphaned features | FEA- not in any journey | Add to journey or cut from scope | | Generic personas | "User does X" | Specify PER-: "PER-001 does X" | | Happy path only | No pain points identified | Anticipate where users struggle | | Mega-journeys | 15+ steps | Split into sub-journeys |
Before proceeding to Screen Flow Definition:
UJ- entries feed into:
| Consumer | What It Uses | Example | |----------|--------------|---------| | v0.4 Screen Flow Definition | Steps become screens | UJ-001 Step 3 → SCR-005 | | v0.6 Technical Specification | Journeys inform API sequences | UJ-001 → API-001, API-002 flow | | v0.7 Test Planning | Journeys become E2E tests | TEST-020 validates UJ-001 | | v0.9 GTM | Journey-based onboarding messaging | "Complete [UJ-001] in 5 minutes" |
references/examples.mdassets/uj.mdreferences/sequencing.mdtools
Make technology decisions for every product capability by discovering existing assets, evaluating vendor-aligned options, and categorizing as Reuse/Extend/Build/Buy/Integrate/Research during PRD v0.5 Red Team Review. Handles both greenfield and brownfield contexts. Triggers on "tech stack", "build or buy?", "what technologies?", "technical decisions", "what do we reuse?", "existing stack", "vendor constraint", "IBM-first", "what tools do we need?", "evaluate solutions", "select tech stack". Consumes FEA- (features), SCR- (screens), RISK- (constraints). Outputs TECH- entries with decisions, rationale, and cross-references. Feeds v0.6 Architecture Design.
development
Define success criteria and tracking setup for launch during PRD v0.9 Go-to-Market. Triggers on requests to define launch metrics, set up tracking, or when user asks "how do we measure launch success?", "launch KPIs", "tracking setup", "success criteria", "analytics", "launch goals". Outputs KPI- entries specialized for launch measurement.
development
Define go-to-market strategy including launch plan, messaging, channels, and timing during PRD v0.9 Go-to-Market. Triggers on requests to plan launch, define GTM strategy, or when user asks "how do we launch?", "go-to-market", "launch plan", "marketing strategy", "messaging", "launch channels", "GTM". Outputs GTM- entries with launch plan components.
development
Establish channels and processes for capturing and processing post-launch feedback during PRD v0.9 Go-to-Market. Triggers on requests to set up feedback systems, capture user input, or when user asks "how do we collect feedback?", "feedback loop", "user research", "post-launch feedback", "customer feedback", "NPS", "voice of customer". Outputs CFD- entries specialized for post-launch feedback capture.