Pack Availability Guard
Before telling the user to run a skill from another project-local pack, check .agents/project.json.enabled_packs. If the target pack is not enabled, recommend $pack install <pack> instead of the target skill. Global skills are always valid. Skills from this same pack are valid because the current skill is already running from that pack.
Journey Map — Lifecycle Overview
Invoke as $journey-map.
Create or update the canonical lifecycle overview. This is the top-level map for user task journeys and the customer relationship lifecycle; deeper stage docs belong in $onboarding-map, $conversion-map, $transaction-map, $retention-map, $expansion-map, and $lifecycle-metrics.
Prerequisites
research/icp.md (or research/{app}/icp.md in monorepo mode) must exist — run $icp first.
- Specs, competitive analysis, enterprise ICP, customer feedback, and codebase evidence are supporting context when present.
Workflow
- App scope resolution: If
$ARGUMENTS names a subdirectory of research/, use research/{app}/ and specs/{app}/. If research/ has multiple app subdirectories and no app is specified, ask the user to choose. If one app subdirectory exists, use it automatically. Otherwise use flat research/ and specs/.
- Load context: Read ICP, competitive analysis, enterprise ICP, customer feedback, existing lifecycle docs, specs, README/AGENTS/CLAUDE, and relevant source files when they clarify real product surfaces.
- Map user journeys: For each key persona, identify 3-5 core use cases, entry points, task steps, decision points, happy path, failure modes, outputs, and delta from current state.
- Map customer lifecycle: Cover trigger, discovery, evaluation, onboarding, aha moment, conversion, transaction, retention, expansion, advocacy, churn, and recovery.
- Identify critical moments: Name the 3-5 moments where the product wins or loses the user/customer, with evidence and success criteria.
- Present before writing: Summarize the lifecycle, evidence, open assumptions, and stage docs that should be split out. Ask what needs correction or product-specific context. Continue until validated.
- Write only after validation, archiving existing canonical files first when replacing them.
Deliverables
research/journey-map.md (or research/{app}/journey-map.md) — canonical lifecycle overview with links or references to deeper stage docs when they exist.
research/journey-map-interview.md (or research/{app}/journey-map-interview.md) — raw interview log and decisions.
The output file must end with ## Next Steps using "Pick one:" framing. Follow the Next-Step Routing contract below to decide the recommendation.
Next-Step Routing
Priority-ordered decision tree — recommend the first match:
- Positioning missing (
research/positioning.md does not exist) → recommend $positioning (business-discovery pack). Positioning needs ICP, competitive analysis, and journey evidence, so it is the natural next step.
- Positioning done, UX variations missing → recommend
$ux-variations (product-design pack).
- Specific stage risk — the overview exposed a lifecycle-stage risk that must be resolved before positioning or UX work can proceed → recommend the relevant lifecycle map (
$onboarding-map, $conversion-map, $transaction-map, $retention-map, $expansion-map, or $lifecycle-metrics). Cite the risk and explain why it blocks the next AFPS step.
- Never recommend
$spec-interview from this skill — it is many steps downstream in the AFPS chain.
Cross-pack notes: $positioning lives in the business-discovery pack; $ux-variations lives in the product-design pack. Check .agents/project.json enabled_packs and recommend $pack install <pack> when the target pack is not enabled.
Output Shape
# Journey Map
> Based on: research/icp.md[, other evidence]
> Date: YYYY-MM-DD
## Summary
## User Journeys
## Customer Lifecycle
## Critical Moments
## Stage Detail Index
## Journey Gaps
## Next Steps
Alignment Page
Follow the shared Alignment Page convention in CLAUDE.md. Output: alignment/journey-map-{topic}.html.
Constraints
- Keep this file as the overview; put step-level stage detail in the focused lifecycle skills.
- Ground every important step in ICP, research, specs, feedback, or codebase evidence.
- Do not prescribe UI or architecture.
- Present findings before writing.
- Follow the archive-first replacement policy for canonical research/spec documents.
1---2name: journey-map-43description: Map the full user and customer lifecycle from trigger and discovery through onboarding, aha, conversion, retention, expansion, and advocacy4---5
6## Pack Availability Guard
7
8Before telling the user to run a skill from another project-local pack, check `.agents/project.json.enabled_packs`. If the target pack is not enabled, recommend `$pack install <pack>` instead of the target skill. Global skills are always valid. Skills from this same pack are valid because the current skill is already running from that pack.
9
10# Journey Map — Lifecycle Overview
11
12Invoke as `$journey-map`.
13
14Create or update the canonical lifecycle overview. This is the top-level map for user task journeys and the customer relationship lifecycle; deeper stage docs belong in `$onboarding-map`, `$conversion-map`, `$transaction-map`, `$retention-map`, `$expansion-map`, and `$lifecycle-metrics`.
15
16## Prerequisites
17
18- `research/icp.md` (or `research/{app}/icp.md` in monorepo mode) must exist — run `$icp` first.
19- Specs, competitive analysis, enterprise ICP, customer feedback, and codebase evidence are supporting context when present.
20
21## Workflow
22
230. **App scope resolution**: If `$ARGUMENTS` names a subdirectory of `research/`, use `research/{app}/` and `specs/{app}/`. If `research/` has multiple app subdirectories and no app is specified, ask the user to choose. If one app subdirectory exists, use it automatically. Otherwise use flat `research/` and `specs/`.
241. **Load context**: Read ICP, competitive analysis, enterprise ICP, customer feedback, existing lifecycle docs, specs, README/AGENTS/CLAUDE, and relevant source files when they clarify real product surfaces.
252. **Map user journeys**: For each key persona, identify 3-5 core use cases, entry points, task steps, decision points, happy path, failure modes, outputs, and delta from current state.
263. **Map customer lifecycle**: Cover trigger, discovery, evaluation, onboarding, aha moment, conversion, transaction, retention, expansion, advocacy, churn, and recovery.
274. **Identify critical moments**: Name the 3-5 moments where the product wins or loses the user/customer, with evidence and success criteria.
285. **Present before writing**: Summarize the lifecycle, evidence, open assumptions, and stage docs that should be split out. Ask what needs correction or product-specific context. Continue until validated.
296. **Write only after validation**, archiving existing canonical files first when replacing them.
30
31## Deliverables
32
33- `research/journey-map.md` (or `research/{app}/journey-map.md`) — canonical lifecycle overview with links or references to deeper stage docs when they exist.
34- `research/journey-map-interview.md` (or `research/{app}/journey-map-interview.md`) — raw interview log and decisions.
35
36The output file must end with `## Next Steps` using "Pick one:" framing. Follow the Next-Step Routing contract below to decide the recommendation.
37
38## Next-Step Routing
39
40Priority-ordered decision tree — recommend the **first** match:
41
421. **Positioning missing** (`research/positioning.md` does not exist) → recommend `$positioning` (business-discovery pack). Positioning needs ICP, competitive analysis, and journey evidence, so it is the natural next step.
432. **Positioning done, UX variations missing** → recommend `$ux-variations` (product-design pack).
443. **Specific stage risk** — the overview exposed a lifecycle-stage risk that must be resolved before positioning or UX work can proceed → recommend the relevant lifecycle map (`$onboarding-map`, `$conversion-map`, `$transaction-map`, `$retention-map`, `$expansion-map`, or `$lifecycle-metrics`). Cite the risk and explain why it blocks the next AFPS step.
454. **Never** recommend `$spec-interview` from this skill — it is many steps downstream in the AFPS chain.
46
47Cross-pack notes: `$positioning` lives in the `business-discovery` pack; `$ux-variations` lives in the `product-design` pack. Check `.agents/project.json` `enabled_packs` and recommend `$pack install <pack>` when the target pack is not enabled.
48
49## Output Shape
50
51```markdown
52# Journey Map
53
54> Based on: research/icp.md[, other evidence]
55> Date: YYYY-MM-DD
56
57## Summary
58## User Journeys
59## Customer Lifecycle
60## Critical Moments
61## Stage Detail Index
62## Journey Gaps
63## Next Steps
64```
65
66## Alignment Page
67
68Follow the shared Alignment Page convention in CLAUDE.md. Output: `alignment/journey-map-{topic}.html`.
69
70## Constraints
71
72- Keep this file as the overview; put step-level stage detail in the focused lifecycle skills.
73- Ground every important step in ICP, research, specs, feedback, or codebase evidence.
74- Do not prescribe UI or architecture.
75- Present findings before writing.
76- Follow the archive-first replacement policy for canonical research/spec documents.