aa-conversion-funnel-a…
Analyzes a multi-step conversion funnel to find where visitors drop off and which steps have…
Identifies which items (pages, campaigns, products, channels, regions) had the biggest increases or decreases for a key metric between two time periods. Use this skill when someone asks "what's up and what's down," "which campaigns moved the most," "top gainers and losers,"
$ npx -y skills add adobe/skills --skill aa-top-movers-watchlist --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/aa-top-movers-watchlistContext preview
The summary Claude sees to decide when to auto-load this skill.
Identifies which items (pages, campaigns, products, channels, regions) had the biggest increases or decreases for a key metric between two time periods. Use this skill when someone asks "what's up and what's down," "which campaigns moved the most," "top gainers and losers,"
name: aa-top-movers-watchlist description: > Identifies which items (pages, campaigns, products, channels, regions) had the biggest increases or decreases for a key metric between two time periods. Use this skill when someone asks "what's up and what's down," "which campaigns moved the most," "top gainers and losers," "what pages are trending," "show me what changed by channel," or any variation of identifying the biggest movers and decliners for a metric. license: Apache-2.0 metadata: author: Adobe version: "1.0"
Identify which dimension items had the biggest increases and decreases for a key metric between two time periods. Surface the top gainers and losers across pages, channels, campaigns, products, or any other breakout dimension.
---
---
1. Confirm report suite with `findReportSuites` / `setSessionDefaults`. 2. Call `describeAa(REPORT_SUITE_CONTEXT_GUIDE)` to load report suite context. Record:
context guide returns no value, use **Monday** (ISO 8601) as the explicit deterministic default. This is not a fallback that drifts between runs: every run on the same report suite resolves to the same `WEEK_START_DOW`, either from the context guide or from the fixed Monday default.
`describeAa`, `"default"` if the context guide was silent and Monday was used. Surface this in the artifact footer so the source is auditable.
You will use these values in Phase 1 when defining Period A and Period B.
findReportSuites(globalCompanyId: "<gcid>") setSessionDefaults(globalCompanyId: "<gcid>", reportSuiteId: "<rsid>") describeAa(guideType: "REPORT_SUITE_CONTEXT_GUIDE")
---
Ask the user:
1. **Metric** — "Which metric should I rank movers by? (visits, revenue, conversions, page views, etc.)" If not specified, default to `metrics/visits`.
2. **Dimension** — "Which dimension should I break down?
If not specified, offer the above list.
3. **Time periods** — "What two periods should I compare?" Common defaults:
**Calendar rule (mandatory):** Period A and Period B MUST use the same `WEEK_START_DOW` from Phase 0 — both periods' `startDate` fall on the same day-of-week, both are exactly equal length, and Period B ends immediately before Period A starts. Never mix conventions (e.g., a Mon–Sun Period A with a Sun–Sat Period B) within the same run. For custom date ranges, compute Period B as the equal-length window ending immediately before Period A starts.
**Sanity check before calling `runReport`:** confirm `periodA.startDate` and `periodB.startDate` are the same day-of-week and that `periodA.startDate - periodB.endDate == 1 day`. If not, recompute.
4. **Item limit** — how many top gainers and losers to show (default: 10 each).
5. **Materiality threshold** — minimum absolute value in Period A or B to be included (filters out noise from low-volume items). Default: exclude items with fewer than 100 visits (or equivalent) in both periods.
Confirm: "I'll show the top 10 gainers and losers for [metric] broken down by [dimension], comparing [Period A] vs [Period B]."
---
findMetrics(expansions: "componentType") findDimensions(page: 1, limit: 100)
> **Note:** `findMetrics` requires the `expansions` parameter (use `"componentType"` > or `"categories"`). `findDimensions` requires `page` and `limit`.
Record `id` for the metric and dimension.
---
Run the metric for the selected dimension in both periods:
runReport( metricIds: "<metricId>", dimensionId: "<dimensionId>", startDate: "<period A start>T00:00", endDate: "<period A end>T23:59", limit: 200 ) runReport( metricIds: "<metricId>", dimensionId: "<dimensionId>", startDate: "<period B start>T00:00", endDate: "<period B end>T23:59", limit: 200 )
> **Note:** `runReport` uses `metricIds` (not `metricId`) and `startDate`/`endDate` > in ISO 8601 format (`YYYY-MM-DDTHH:mm`), not a `dateRange` parameter.
Use `limit: 200` to capture enough items for a meaningful mover analysis.
---
For each dimension item present in either period:
1. Period A value (or 0 if not in results) 2. Period B value (or 0 if not in results) 3. Absolute delta: Period A - Period B 4. Percent change: delta / Period B × 100 (or "+100% new" if Period B = 0) 5. Apply materiality filter: exclude items where max(Period A, Period B) < materiality threshold
Sort by absolute delta descending for gainers (positive delta). Sort by absolute delta ascending for losers (negative delta).
Take top N from each list.
data." Include if materiality threshold met.
"Dropped — no current period data."
excluding from the watchlis
Repo: adobe/skills
Analyzes a multi-step conversion funnel to find where visitors drop off and which steps have…
Generates a concise, executive-ready performance summary covering key metrics, trends, and…
Produces a compact KPI digest showing how key metrics changed over a period and what's…
Compares the performance of two or more audience segments across key metrics side by side.…
Comprehensive dimension analysis and reporting for CJA. Use this skill whenever the user…
Generates a polished, leadership-ready performance briefing with KPI tiles, executive…