360 Secure SkillHub
360 安全技能中心

Jackyshen Customer Jounery Map

核心功能:将客户旅程、员工体验、服务蓝图等结构化数据,转换为麦肯锡风格的专业可视化图,支持多格式导出。典型场景:电商促销、B2B销售漏斗等多阶段体验映射。输入为阶段式或触点式YAML数据,输出含SVG(权威文件)、PNG(预览图)、PDF(交付文档),布局规范清晰。

mebusw
mebusw
热度 9.42
最近更新 2026-07-10 10:26:37
分类:创作依赖:代码执行 / 读写文件 / MCP 服务应用场景:市场分析 / 报告撰写 / 品牌素材

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add jackyshen-customer-jounery-map
Metadata
name
customer-journey-map
description
Use this skill whenever you want to visualize customer journeys, employee experiences, or service blueprints with stages, touchpoints, behaviors, emotions, pain points, and opportunities. Perfect for e-commerce promotions, B2B sales funnels, or any multi-stage experience mapping. Generates clean SVG/PNG/PDF exports with stage-based rows layout, consulting-style.
compatibility
Python, Pydantic, Jinja2, Playwright

Customer Journey Map Skill

What This Skill Does

Converts structured customer journey, employee journey, experience map, service blueprint, or similar flow data into high-quality SVG visualizations with multi-format export (SVG/PNG/PDF).

The core principle: data drives rendering, not Markdown拼接 or Mermaid.


Input Format

Primary: YAML (Stage-Based)

journey_name: 电商促销活动用户旅程
stages:
  - id: awareness
    name: 触发
    touchpoints:
      - 短信
      - 邮件
      - 消息
    behaviors:
      - 打开消息
      - 删除消息
    emotions:
      - 优惠券快到期了
      - 推销短信太烦人了
    pain_points:
      - 触达渠道不对
      - 触达内容不相关
    opportunities:
      - 根据历史消费行为精准营销
      - 个人定制消息推送
  - id: explore
    name: 探索
    ...

Secondary: Touchpoint List (Score-Based Legacy)

title: 宜家客户旅程图
touchpoints:
  - name: 商场位置与外观
    score: 3
    stage: 到达
    action: 驾车前往/查找位置
    thought: 好不好找停车位?
    emotion: neutral
    opportunity: 优化交通指引和停车指引

Data Model

Stage-Based Input (Primary)

class StageInfo(BaseModel):
    id: str
    name: str
    touchpoints: list[str]
    behaviors: list[str]
    emotions: list[str]
    pain_points: list[str]
    opportunities: list[str]

class EcommerceJourneyInput(BaseModel):
    journey_name: str
    stages: list[StageInfo]
    flow: list[str]

Touchpoint-Based Input (Legacy)

class TouchPoint(BaseModel):
    name: str
    score: float = Field(ge=1.0, le=5.5)
    stage: str | None = None
    action: str | None = None
    thought: str | None = None
    emotion: str | None = None
    opportunity: str | None = None
    tags: list[str] = []

class JourneyMap(BaseModel):
    title: str
    type: str = "customer"
    touchpoints: list[TouchPoint]

Rendering Pipeline

User Input (YAML)
    ↓
Schema Parser (parser.py)
    ↓
Render Model (svg_renderer.py / Jinja2)
    ↓
SVG (authoritative format)
    ↓
Export: PNG (Playwright) / PDF (Playwright)

Rule: SVG is the single source of truth. PNG and PDF MUST be generated from SVG.


Canvas & Layout

Parameter Default
Canvas 2400 × 900 (min)
Top margin 120
Left margin 180
Right margin 80
Bottom margin 120

Row Structure (Y-Axis)

Unlike a line chart, the Y-axis represents horizontal rows for each touchpoint:

Row Content
阶段 (Stage) Stage name + stage marker
服务触点 (Touchpoint) Touchpoint name
想法和疑虑 (Thoughts) User thoughts and doubts
感受和情绪 (Emotions) Emotional response (positive/negative/neutral)

Stage Grouping

Each stage's touchpoints are grouped together with visual separators. The journey flows left-to-right across stages.

Satisfaction Bands (Optional, Legacy)

For touchpoint-based input with score field:

Score Zone
5.5 非常满意
5 满意
3 一般满意
2 不满意
1 非常不满意

Line & Node Specs

Journey line:

  • Color: #333333
  • Style: smooth (Bezier curves), or straight-line mode
  • Stroke width: 3px

Touchpoint nodes:

  • Circle, radius 8px
  • Fill: #333333
  • Stroke: #333333

Stage markers:

  • Vertical dotted lines to separate stages
  • Stage name labels at top or bottom

Typography

  • Primary font: Noto Sans CJK (Chinese/English/Japanese)
  • Fallback: system CJK → sans-serif
  • Font strategy: embed in SVG or rely on system fonts with graceful degradation

Export Specs

Use MCP provided playwright by default.

PNG (via Playwright)

SVG → HTML wrapper → Chromium → PNG

PDF (via Playwright)

SVG → HTML wrapper → Chromium → PDF

Requirements:

  • Chinese font rendering preserved
  • Background colors preserved
  • Vector quality maintained

Default Theme: Consulting

McKinsey / Bain / BCG style:

  • Clean, minimal, professional
  • Printable, no decorative elements
  • Muted color palette

Required Project Structure

journey_map_schema.py       # Pydantic models
journey_map_parser.py       # YAML + Markdown table parser
journey_map_svg_renderer.py # Jinja2 + SVG generation
journey_map_v3.svg.j2      # Template
journey_map_png_exporter.py # Playwright PNG export
journey_map_pdf_exporter.py # Playwright PDF export

Output Files

Always produce:

  1. journey_map.svg — the authoritative rendering
  2. journey_map.png — preview image
  3. journey_map.pdf — deliverable document

Layout Principles

  1. Stage-based rows — Y-axis displays: Stage name, Touchpoint name, Thoughts, Emotions (not satisfaction score)

  2. Horizontal flow — Journey flows left-to-right, grouped by stages

  3. Abstraction over hardcoding — Framework supports: Customer Journey Map, Employee Journey, Experience Map, Service Blueprint, Stakeholder Journey, Change Journey

  4. Extensibility — Future support for: PPTX, HTML, Notion embed