compare-user-journeys
Compares how two user groups behave differently by analyzing Amplitude Session Replays and metrics side by side. Produces a behavioral diff showing what one group does that the other doesn't. Use when a PM or growth lead asks "what do converters do differently", "how do power users behave", "why do churned users leave", "compare these cohorts", "what separates segment A from B", or wants to understand the qualitative behavioral gap between two user populations.
What this skill does
# Compare User Journeys Investigate what distinguishes two user groups by pulling session replays and metrics for each, then producing a behavioral diff. This skill answers "what do winners do differently?" with concrete evidence from real sessions. --- ## CRITICAL: Tool Reference **Primary tools:** - **`Amplitude:get_session_replays`** — Find sessions for each user group using event count filters and user property filters. Run this twice — once per group. - **`Amplitude:get_session_replay_events`** — Decode replays into interaction timelines. Run this for sessions from both groups. **Supporting tools:** - **`Amplitude:search`** — Search for existing charts, funnels, dashboards, events, and cohorts relevant to the comparison. Always check for existing analysis before building from scratch. - **`Amplitude:get_cohorts`** — Discover existing cohorts that define the groups (e.g., "power users", "churned", "converted"). - **`Amplitude:get_events`** — Discover valid event names. Never guess event names. - **`Amplitude:get_event_properties`** — Discover properties available for segmentation. - **`Amplitude:query_chart`** / **`Amplitude:query_charts`** — Pull quantitative metrics segmented by the two groups for statistical grounding. - **`Amplitude:get_feedback_insights`** / **`Amplitude:get_feedback_mentions`** — Check if feedback themes differ between groups. --- ## Instructions ### Step 1: Define the Two Groups Parse the user's request to identify Group A and Group B. Common comparison patterns: | Comparison | Group A | Group B | |---|---|---| | Conversion | Users who completed the goal | Users who didn't | | Engagement | Power users / high-frequency | Casual / low-frequency | | Retention | Retained users | Churned users | | Plan tier | Enterprise / paid | Free / trial | | Outcome | Successful (e.g., activated) | Failed (e.g., dropped off) | | A/B test | Variant A | Variant B | For each group, determine: - **Defining criteria**: What makes a user belong to this group? (cohort, event, property) - **Labels**: Clear names for the report (e.g., "Converters" vs. "Drop-offs", not "Group A" vs "Group B") If the user's request is ambiguous (e.g., "compare power users"), ask: "What defines a power user for your product — is there an existing cohort, or should I use a frequency/engagement threshold?" ### Step 2: Get Context and Discover Segments 1. Call `Amplitude:get_context`. If multiple projects, ask which to compare within. 2. Call `Amplitude:get_cohorts` to check if existing cohorts match the requested groups. Existing cohorts encode institutional knowledge — prefer them over ad-hoc definitions. 3. Call `Amplitude:get_events` to discover events relevant to the comparison (the goal event for conversion comparisons, engagement events for activity comparisons, etc.). 4. Call `Amplitude:get_event_properties` for the key events to discover available segmentation properties. ### Step 3: Quantitative Comparison (Metrics) Before watching replays, establish the statistical picture. Budget: 3-4 chart queries. **First, search for existing analysis.** Call `Amplitude:search` with keywords related to the comparison (e.g., "onboarding funnel", "agent creation", "checkout conversion"). Existing charts and funnels encode institutional knowledge and save query budget. If you find a relevant funnel or segmented chart, use `Amplitude:query_chart` on it instead of building from scratch. Use `Amplitude:query_chart` or `Amplitude:query_charts` to compare the two groups on: 1. **Volume & composition**: How many users are in each group? What's the ratio? 2. **Key metrics segmented by group**: Conversion rates, session frequency, feature adoption, retention — whatever metrics are most relevant to the comparison. 3. **Feature usage differences**: Which events does Group A fire significantly more than Group B? Use event totals or unique user counts segmented by group. **What to look for:** - Large percentage differences in specific event frequencies - Features used exclusively or predominantly by one group - Timing differences (Group A does X on day 1, Group B waits until day 7) - Volume differences (Group A does X 5 times per session, Group B does it once) Record the top 3-5 quantitative differences — these become hypotheses to validate or enrich with replays. ### Step 4: Find Sessions for Both Groups Run `Amplitude:get_session_replays` **twice** — once for each group. Request `limit: 8` for each. **Exclude internal users by default.** Unless you're specifically studying internal behavior, add a user property filter to exclude your company's email domain (e.g., `gp:email does not contain "amplitude.com"`). This prevents internal test sessions from polluting the comparison. **Building group filters:** If groups are defined by a **cohort**, filter on the cohort's defining user property or event. If groups are defined by an **event outcome** (e.g., completed checkout vs. didn't): - **Group A (converters)**: Filter for sessions containing the conversion event (use `eventCountFilters` with `operator: "greater or equal"`, `count: "1"`). - **Group B (drop-offs)**: Filter for sessions containing the entry event but NOT the conversion event. Since `get_session_replays` doesn't support "did not do" filters directly, filter for the entry event only, then when watching replays in Step 5, check the interaction timeline for absence of the conversion event. Discard sessions where the user actually converted and replace with additional sessions until you have 4-6 confirmed drop-offs. If groups are defined by a **user property** (plan, segment): - Use user property filters with `event_type: "_all"`. ### Step 5: Watch Sessions — Extract Interaction Timelines For each group, call `Amplitude:get_session_replay_events` for 4-6 sessions. Use `event_limit: 300`. **Budget: 8-12 total sessions (4-6 per group).** **Rate limiting and large responses:** - Call `get_session_replay_events` in batches of 3-4 at a time, not all at once. The Session Replay API enforces concurrency limits and will return 429 errors if overwhelmed. If you hit a 429, wait briefly and retry. - Some sessions have extremely high interaction counts (100K+ raw events). If a response is too large and gets saved to a file, read the key portions from the saved file path. For sessions with very high `total_raw_events`, consider using a lower `event_limit` (e.g., 150) to stay within response size limits. **While analyzing, track these behavioral dimensions for each session:** | Dimension | What to capture | |---|---| | **Navigation path** | Sequence of pages visited. Note the order and any pages unique to this session. | | **Feature engagement** | Which features/areas the user interacted with. Note depth (quick glance vs. extended use). | | **Pace & hesitation** | Fast and confident vs. slow with pauses. Note long gaps between actions. | | **Exploration vs. focus** | Did the user go straight to their goal or browse around? | | **Friction encountered** | Errors, rage clicks, back-navigation, abandoned inputs. | | **Session outcome** | Did they accomplish something? What was the last action before leaving? | For each session, write a 2-3 sentence behavioral summary capturing the overall pattern. ### Step 6: Synthesize the Behavioral Diff This is the core analytical step. Compare the two groups across the dimensions above. 1. **Tabulate patterns.** For each behavioral dimension, summarize what Group A typically does vs. Group B. 2. **Identify differentiating actions.** Find behaviors that are: - **Present in Group A, absent in Group B** — These are the strongest signals. "Converters explore the template gallery before creating their first project. Drop-offs skip it entirely." - **Present in both but with different frequency or depth** — "Both groups use search, but power users average 4 searches per session vs. 1 for casual users." - **Present in Group B, absent in Group A** — Negative signals. "Chur
Related in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".