plugins/discovery/skills/journey-map/SKILL.md
Create user journey maps and customer journey maps (dual mode)
npx skillsauth add coalesce-labs/catalyst journey-mapInstall 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.
Map user experiences and customer lifecycles. Use two modes: User-focused (touchpoints, emotions, pain points) and Business-focused (full lifecycle, revenue metrics, cross-functional).
User Journey Mapping:
Customer Journey Mapping:
Focus: How users interact with your product Scope: Single feature or product experience Audience: Product, design, engineering teams Duration: Covers minutes to weeks
Focus: How customers move through business relationship Scope: Full lifecycle from awareness to advocacy Audience: GTM teams (marketing, sales, CS) + product Duration: Covers months to years
Ask the PM:
Which type of journey map do you need?
1. **User Journey Map**
- Maps: Product experience (onboarding, key workflow, feature usage)
- Focus: Touchpoints, emotions, pain points, opportunities
- Example: "User onboarding journey" or "Checkout flow journey"
2. **Customer Journey Map**
- Maps: Full business relationship (awareness → expansion)
- Focus: Lifecycle stages, revenue metrics, cross-functional handoffs
- Example: "Enterprise customer journey" or "Self-serve PLG journey"
Your choice: [1 or 2]
Journey Name: [e.g., "New user onboarding"]
User Persona: [Who is this journey for?]
- [Persona name/type]
- [Key characteristics]
- [Goals/motivations]
Journey Goal: [What is the user trying to accomplish?]
- [Primary goal]
Time Span: [How long does this journey take?]
- [Minutes/Hours/Days/Weeks]
Entry Point: [Where does journey start?]
- [Starting point]
Exit Point: [Where does journey end?]
- [Ending point - success state]
Break journey into 3-7 phases:
## Journey Phases
1. **[Phase 1 Name]** (e.g., "Awareness")
- Duration: [Time in this phase]
- User goal: [What they're trying to do]
2. **[Phase 2 Name]** (e.g., "Signup")
- Duration: [Time in this phase]
- User goal: [What they're trying to do]
3. **[Phase 3 Name]** (e.g., "First Use")
- Duration: [Time in this phase]
- User goal: [What they're trying to do]
[Continue for all phases...]
For each phase, document:
### Phase: [Phase Name]
#### Touchpoints
[Every interaction user has with product]
- [Touchpoint 1: e.g., "Landing page"]
- [Touchpoint 2: e.g., "Signup form"]
- [Touchpoint 3: e.g., "Email confirmation"]
#### User Actions
[What user does]
- [Action 1: e.g., "Clicks 'Sign Up'"]
- [Action 2: e.g., "Enters email and password"]
- [Action 3: e.g., "Checks email for confirmation"]
#### User Thoughts
[What they're thinking]
- "[Thought 1: e.g., 'Is this worth my time?']"
- "[Thought 2: e.g., 'Will this be complicated?']"
#### Emotions
[How they feel - use emoji + description]
- 😐 Neutral: [Description]
- 😟 Frustrated: [Description]
- 😊 Satisfied: [Description]
#### Pain Points
🔴 [Critical pain]: [Description]
🟡 [Moderate pain]: [Description]
🟢 [Minor annoyance]: [Description]
#### Opportunities
💡 [Improvement 1]: [What we could do better]
💡 [Improvement 2]: [What we could do better]
#### Metrics
- [Metric 1: e.g., "Conversion rate: 45%"]
- [Metric 2: e.g., "Time to complete: 3.2 minutes"]
# User Journey Map: [Journey Name]
**Persona:** [User type]
**Goal:** [What they want to accomplish]
**Duration:** [Time span]
---
## Journey Overview
[Entry Point] → [Phase 1] → [Phase 2] → [Phase 3] → ... → [Success State]
---
## Phase 1: [Phase Name]
**Duration:** [Time] | **Goal:** [User objective]
| Element | Details |
| ----------------- | ---------------------------------------- |
| **Touchpoints** | [List touchpoints] |
| **Actions** | [User actions] |
| **Thoughts** | [What they think] |
| **Emotions** | 😐 Neutral → 😟 Frustrated |
| **Pains** | 🔴 [Critical pain]<br>🟡 [Moderate pain] |
| **Opportunities** | 💡 [Improvement 1]<br>💡 [Improvement 2] |
| **Metrics** | [Key metrics for this phase] |
---
[Repeat for each phase]
---
## Summary
### Biggest Pain Points
1. 🔴 [Critical pain 1] - In [Phase X]
2. 🔴 [Critical pain 2] - In [Phase Y]
3. 🟡 [Moderate pain 3] - In [Phase Z]
### Top Opportunities
1. 💡 [Opportunity 1] - Would improve [metric/experience]
2. 💡 [Opportunity 2] - Would improve [metric/experience]
3. 💡 [Opportunity 3] - Would improve [metric/experience]
### Emotional Journey
😊 Excited → 😐 Neutral → 😟 Frustrated → 🤔 Confused → 😊 Satisfied [Phase 1] [Phase 2] [Phase 3] [Phase 4] [Phase 5]
### Next Steps
- [ ] [Action 1: e.g., "Simplify signup form"]
- [ ] [Action 2: e.g., "Add progress indicator to onboarding"]
- [ ] [Action 3: e.g., "Reduce time to first value"]
Customer Type: [e.g., "Enterprise B2B customer"]
- [Segment details]
- [Typical company size/industry]
Journey Scope: [Full lifecycle or specific segment?]
- [E.g., "Awareness through first renewal"]
Business Model: [How do customers buy/use product?]
- [Sales-led / Product-led / Hybrid]
- [Contract length: Monthly/Annual/Multi-year]
Revenue Model: [How do we make money?]
- [Subscription / Usage-based / Hybrid]
Typical B2B SaaS stages:
## Lifecycle Stages
1. **Awareness** (Pre-customer)
- How they discover us
2. **Consideration** (Pre-customer)
- Evaluating alternatives
3. **Purchase** (Conversion)
- Becoming a customer
4. **Onboarding** (Early customer)
- Getting set up
5. **Adoption** (Active customer)
- Using product regularly
6. **Expansion** (Growth)
- Upgrading, adding seats/features
7. **Renewal** (Retention)
- Staying vs churning
8. **Advocacy** (Champion)
- Referring others, case studies
For each stage, document:
### Stage: [Stage Name]
#### Timeframe
[How long customers typically spend in this stage]
- Average: [X days/weeks/months]
#### Customer Goals
[What customer wants to achieve]
- [Goal 1]
- [Goal 2]
#### Company Goals
[What we want to achieve]
- [Goal 1: e.g., "Convert 30% to paid"]
- [Goal 2: e.g., "Time to value < 7 days"]
#### Key Touchpoints
[Every interaction customer has with company]
- [Touchpoint 1: e.g., "Website visit"]
- [Touchpoint 2: e.g., "Sales demo"]
- [Touchpoint 3: e.g., "Email nurture sequence"]
#### Responsible Teams
[Who owns this stage]
- Primary: [Team name]
- Supporting: [Other teams]
#### Key Activities
[What happens in this stage]
- [Activity 1]
- [Activity 2]
- [Activity 3]
#### Pain Points
🔴 [Critical friction]: [Description]
🟡 [Moderate friction]: [Description]
#### Success Metrics
- [Metric 1: e.g., "Trial-to-paid conversion: 25%"]
- [Metric 2: e.g., "Time to first value: 5 days"]
#### Revenue Impact
- MRR/ARR contribution: [$ or %]
- Conversion rate: [%]
- Churn risk: [High/Med/Low]
Identify where responsibility transfers:
## Key Handoffs
**Marketing → Sales**
- Trigger: [When leads are qualified]
- Handoff process: [How it happens]
- Common issues: [What breaks]
**Sales → Customer Success**
- Trigger: [When deal closes]
- Handoff process: [How it happens]
- Common issues: [What breaks]
**Customer Success → Product**
- Trigger: [When customer is self-sufficient]
- Handoff process: [How it happens]
- Common issues: [What breaks]
# Customer Journey Map: [Customer Type]
**Segment:** [Customer segment]
**Business Model:** [Sales-led/Product-led/Hybrid]
**Journey Duration:** [Typical customer lifecycle length]
---
## Lifecycle Overview
Awareness → Consideration → Purchase → Onboarding → Adoption → Expansion → Renewal → Advocacy [Marketing] [Marketing] [Sales] [CS] [CS/Product] [Sales/CS] [CS] [Marketing]
---
## Stage 1: [Stage Name]
**Timeframe:** [Duration] | **Owner:** [Primary team]
| Element | Details |
|---------|---------|
| **Customer Goals** | [What customer wants] |
| **Company Goals** | [What we want] |
| **Touchpoints** | [List all interactions] |
| **Key Activities** | [What happens] |
| **Pain Points** | 🔴 [Critical]<br>🟡 [Moderate] |
| **Metrics** | [Success metrics] |
| **Revenue Impact** | [MRR/ARR contribution] |
**Handoff to next stage:** [How/when transition happens]
---
[Repeat for each stage]
---
## Summary
### Conversion Funnel
| Stage | Volume | Conversion | Time | | ------------- | ------ | ---------- | ---------- | | Awareness | 10,000 | - | - | | Consideration | 1,000 | 10% | 2 weeks | | Purchase | 200 | 20% | 1 week | | Onboarding | 200 | 100% | 2 weeks | | Adoption | 150 | 75% | 1 month | | Expansion | 60 | 40% | 6 months | | Renewal | 180 | 90% | 12 months | | Advocacy | 30 | 17% | 18+ months |
### Critical Pain Points by Stage
1. **[Stage]:** 🔴 [Pain] - Causes [X% drop-off]
2. **[Stage]:** 🔴 [Pain] - Adds [X days to cycle]
3. **[Stage]:** 🟡 [Pain] - Reduces [satisfaction score]
### Revenue Optimization Opportunities
1. **[Opportunity 1]** - Could improve [metric] by [X%]
- Stage impacted: [Stage]
- Investment: [Low/Med/High]
- Expected impact: [Revenue/retention gain]
2. **[Opportunity 2]** - Could improve [metric] by [X%]
- Stage impacted: [Stage]
- Investment: [Low/Med/High]
- Expected impact: [Revenue/retention gain]
### Cross-Functional Issues
- **[Handoff 1]:** [Problem and impact]
- **[Handoff 2]:** [Problem and impact]
### Next Steps
- [ ] [Action 1: Owned by [Team]]
- [ ] [Action 2: Owned by [Team]]
- [ ] [Action 3: Owned by [Team]]
Journey maps are often visual. If creating slides/diagrams:
User Journey Map Visual:
Phase 1 Phase 2 Phase 3 Phase 4
────────────────────────────────────────────────
Actions: [Icons/steps in each phase]
Emotions: 😊 → 😐 → 😟 → 😊 (line graph)
Touchpoints: [Product screens, emails, etc.]
Pains: 🔴🟡 markers at friction points
Ideas: 💡 markers for opportunities
Customer Journey Map Visual:
Timeline: [Months 1-12+]
Stages: Awareness → Consideration → Purchase → ...
Teams: Marketing → Sales → CS → Product
Metrics: [Conversion rates between stages]
Revenue: [MRR/ARR progression over time]
❌ Too many phases (10+ is overwhelming) ✅ 3-7 phases that map to real stages
❌ Company perspective only (what we want) ✅ Customer perspective first (what they experience)
❌ Happy path only (ignoring failures) ✅ Include drop-offs, errors, frustrations
❌ No metrics (purely qualitative) ✅ Quantify: conversion rates, time, sentiment scores
❌ One-time exercise (never referenced again) ✅ Living document, updated quarterly
Feeds into:
/prd-draft - Inform feature specs with journey insights/write-prod-strategy - User/customer understanding in strategy/activation-analysis - Setup → Aha → Habit maps to journey phases/retention-analysis - Journey reveals retention driversRequires:
Remember: Journey maps are tools for empathy and alignment. A good journey map makes the team feel what the customer feels - and act on it.
When the PM uses /journey-map, I automatically:
Source: thoughts/shared/pm/research/, user research MCPs (research repository, UserTesting)
Source: PostHog, PostHog, Posthog (if connected), thoughts/shared/pm/metrics/
Source: thoughts/shared/pm/frameworks/, PRDs
Source: Sales/CS data, past customer journey maps in thoughts/shared/pm/
Source: thoughts/shared/pm/context/stakeholder-template.md
Routing logic:
/prd-draft and design decisions/write-prod-strategy/activation-analysis framework/retention-analysis cohortsBefore presenting output to the PM, verify:
thoughts/shared/pm/journey-maps/[journey-name]-[date].mdthoughts/shared/pm/research/ for user research, interview transcripts, and persona data before building the mapthoughts/shared/pm/research/ are embedded in relevant journey stages (not fabricated quotes)testing
Phase-agent that fixes a failing verify verdict so the pipeline self-heals instead of stalling to needs-human (CTL-653). Reads `${ORCH_DIR}/workers/<ticket>/verify.json`, fixes the `findings[]` (every severity:"high" plus the regression_risk drivers) directly via Edit/Write, commits the remediation, and emits `phase.remediate.complete.<ticket>`. The scheduler's router then re-dispatches `verify` to re-check (the verify⇄remediate cycle, cap 3). Dispatched as a `claude --bg` job by `phase-agent-dispatch`, which invokes it via slash command — hence `user-invocable: true`.
tools
--- name: phase-triage description: Phase agent that triages a Linear ticket — expands acronyms, classifies (feature/bug/docs/refactor/chore), identifies genuine blockers (a semantic second-pass over the backlog — NOT a prose scrape; CTL-838), estimates scope, writes triage.json, and posts a triage analysis comment to Linear. Triage completion is signaled by that comment plus the local triage.json — there is no `triaged` label. Emits phase.triage.complete.<TICKET> on success and phase.triage.fai
tools
Phase agent for the research step of the 9-phase orchestrator pipeline (CTL-450). Wraps /catalyst-dev:research-codebase and produces thoughts/shared/research/<date>-<ticket>.md, then emits phase.research.complete.<ticket>. Reads triage.json from the worker dir as its prior-phase artifact. Spawned via plugins/dev/scripts/phase-agent-dispatch, which invokes it via slash command — hence `user-invocable: true`.
development
Phase-agent wrapper that opens the pull request after implementation completes (CTL-449 Initiative 1 Phase 3). Delegates to `/catalyst-dev:create-pr` (which already auto-runs `describe-pr` and transitions Linear to `inReview`), then writes the PR number + URL into the phase signal file so the downstream `phase-monitor-merge` agent can read it without re-querying GitHub. Dispatched as a `claude --bg` job by `phase-agent-dispatch`, which invokes it via slash command — hence `user-invocable: true`.