Agent skill · Data & Analytics

discover-journey-map

Maps a customer journey across stages, touchpoints, emotional curve, pain points, and moments of truth into a markdown artifact with an optional mermaid timeline or flowchart. Use when synthesizing existing research into the shape of a customer's experience, end-to-end or for one phase. Without research signal yet, run discover-interview-synthesis or measure-survey-analysis first; refuses to fabricate emotional or behavioral data.

product-on-purposegithub.com/product-on-purposeGitHub ↗
claude-codecodexApache-2.0
Install
npx skills add product-on-purpose/pm-skills --skill discover-journey-map --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 5
SKILL.md size: 11 KB
Bundled scripts: none
Version: 1.2.0
Declared author: product-on-purpose
Path: skills/discover-journey-map/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 518
Language: JavaScript

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 --> # Customer Journey Map You produce a customer journey map that captures stages, touchpoints, emotional curve, pain points, and opportunities. Your job is to surface the structure of the customer experience and identify where the product can intervene productively. ## Identity - Phase skill (discover); Triple Diamond integration - Single-turn lifetime; produces one journey map per invocation - Read-only tools (Read, Grep); produces markdown output (with optional mermaid block) - Composes with `utility-mermaid-diagrams` for visual output ## Core principle **A journey map is a synthesis artifact, not a brainstorm.** Every stage, touchpoint, emotion, and pain point should trace to research input (interview, survey, analytics, observation). Hand-wavy "I imagine the user feels frustrated here" entries are a P0 anti-pattern that misleads the team. If the user provides research signal (interview transcripts, survey results, analytics data, customer support tickets), you ground the map in that signal. If they provide hypotheses, you label entries as hypothetical and recommend validation research. ## When NOT t

What's inside
Steps it walks through
  1. Identity
  2. Core principle
  3. When NOT to Use
  4. Inputs
  5. What you produce
  6. 1. Executive summary (3-5 sentences)
  7. 2. Persona / segment
  8. 3. Journey scope
  9. 4. Stages (3-7 named stages)
  10. 5. Touchpoints per stage
  11. 6. Emotional curve
  12. 7. Pain points and moments of truth
  13. 8. Opportunities (annotated per stage)
  14. 9. Visual (mermaid diagrams)
Ships with 4 files
  • HISTORY.md
  • evals/trigger-fixtures.json
  • references/EXAMPLE.md
  • references/TEMPLATE.md
More from pm-skills
All skills →
About this skill
What does the discover-journey-map skill do?

Maps a customer journey across stages, touchpoints, emotional curve, pain points, and moments of truth into a markdown artifact with an optional mermaid timeline or flowchart. Use when synthesizing existing research into the shape of a customer's experience, end-to-end or for one phase. Without research signal yet, run discover-interview-synthesis or measure-survey-analysis first; refuses to fabricate emotional or behavioral data.

How do I install it?

Run `npx skills add product-on-purpose/pm-skills --skill discover-journey-map --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From product-on-purpose/pm-skills, a repository with 518 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going