journey-map · git:20260802.1479e32 · 2026-08-02 · sha256 820be601e22bc944
journey-map git:20260802.1479e32A
Immutable. This exact content is served forever at /api/v1/blob/820be601e22bc944.
--- name: journey-map description: > Loads full context for a React Flow (@xyflow/react) user journey mapping project. Use when working on, extending, debugging, or building features for the journey map tool. Triggers on: "journey map project", "open journey map", "work on journey map", "build user journey", "react flow journey project", "journey-map app", or any request to add features like swimlanes, emotion curves, persona nodes, touchpoints, or pain point markers. domain: design --- # Journey Map Project ## Project - **Locating it:** this skill does not assume a fixed install path. See "Locating the Project" below before running any commands. - **Stack:** React 19 + Vite + TypeScript + `@xyflow/react` (React Flow v12) - **Purpose:** Rich user journey map tool for PMs and UX researchers ## Locating the Project Before making changes, find the project root: 1. If the user gives a path, use it. 2. Otherwise search common locations, e.g.: ```bash find "$HOME" -maxdepth 5 -iname "journey-map" -type d 2>/dev/null ``` 3. If nothing is found, ask the user where the project lives. ## Dev Commands Run from the project root located above: ```bash npm run dev # start dev server (Vite) npm run build # production build npm run preview # preview build ``` ## Stack Single package: `@xyflow/react` (React Flow v12). There is no AntV X6 dependency — the project fully migrated off X6, and no `--legacy-peer-deps` flag is needed on React 19. See `references/packages.md` for imports, node pattern, layout constants, file structure. ## Implemented Features | Feature | Mechanism | |---|---| | Swimlanes (persona rows) | `swimlaneBg` node type — wide colored band, zIndex=0 | | Stage headers + narratives | `stageHeader` / `stageNarr` node types | | Touchpoint cards | `touchpoint` node — seq badge, timing chip, emoji, title, badges | | Emotion curve | `EmotionCurve.tsx` SVG component below canvas | | Ad-hoc cross-flow | `AdHocFlow.tsx` component below canvas | | Pan + zoom | React Flow built-in | | Minimap | React Flow `<MiniMap>` | | Controls | React Flow `<Controls>` | | Persona focus/dim | `focusPersona` state → opacity on non-focused touchpoints | | Detail panel | Click touchpoint → slide-in right panel | ## References - Full package list + versions + plugin roles: `references/packages.md` - React Flow (MIT licensed, https://github.com/xyflow/xyflow) is the only graph engine this project uses.