/cja-executive-briefing
Generates a polished, leadership-ready performance briefing with KPI tiles, executive narrative bullets, and a driver analysis — all as a print-ready HTML document. Always use this skill when someone asks for an executive summary, performance briefing, leadership readout,
$ npx -y skills add adobe/skills --skill cja-executive-briefing --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/cja-executive-briefing
Context preview
The summary Claude sees to decide when to auto-load this skill.
Generates a polished, leadership-ready performance briefing with KPI tiles, executive narrative bullets, and a driver analysis — all as a print-ready HTML document. Always use this skill when someone asks for an executive summary, performance briefing, leadership readout,
SKILL.md
cja-executive-briefing.SKILL.mdname: cja-executive-briefing
description: >
Generates a polished, leadership-ready performance briefing with KPI tiles,
executive narrative bullets, and a driver analysis — all as a print-ready HTML
document. Always use this skill when someone asks for an executive summary,
performance briefing, leadership readout, stakeholder update, or business review
— even if they don't say "executive" explicitly. Trigger phrases include:
"write a summary of last week's performance," "create a briefing for our
leadership team," "produce a monthly business review," "what should I tell
executives about our metrics," "generate a performance narrative," "QBR summary,"
"weekly business review," "board update," "stakeholder briefing," "how did we
do last week," or "give me a performance snapshot." When in doubt, use this skill
— it is always better to produce a polished briefing than a raw data dump.
license: Apache-2.0
metadata:
author: Adobe
version: "1.0"
Executive Briefing (Customer Journey Analytics)
Produce a polished, leadership-ready performance document. Executives do not read data tables — they read narratives that answer "are we growing?", "what changed?", and "what do we do about it?"
This skill converts CJA data into a briefing that a VP or C-suite leader can read in under 3 minutes, with supporting data available for those who want to dig deeper.
Tone: business impact, not technical metrics. Write "Revenue grew 12% driven by a strong Paid Search week" not "metrics/revenue increased by 0.12 per metrics/sessions."
---
CJA MCP Tools Used
- `describeCja(DATAVIEW_CONTEXT_GUIDE)` — understand the business context of the data view
- `listComponentUsage` — identify the north-star and supporting KPIs
- `findMetrics` — resolve user-specified or discovered metric IDs
- `findCalculatedMetrics` — include custom business KPIs
- `runReport` — pull KPI values for current and comparison period
- `searchDimensionItems` — identify top driver dimension values
---
Phase 0 — Setup
1. Call `findDataViews` to list available data views. 2. If the user hasn't specified a data view, present the list and ask which to use. 3. Call `setDefaultSessionDataViewId` with the chosen ID. 4. Confirm the reporting period (default: last 7 days) and the audience for the briefing (executive, board, team lead).
---
Phase 1 — Establish Context
1.1 Load data view context
Call `describeCja("DATAVIEW_CONTEXT_GUIDE")` to understand:
- What business the data view represents (e-commerce, media, SaaS, etc.)
- The primary conversion event and revenue metric
- **Calendar conventions and timezone.** Record these values — they are
inputs to every date computation in 1.2:
- `WEEK_START_DOW` — day of week each week starts on (Sunday, Monday, …).
Default: **Monday** (ISO 8601) if the context guide doesn't specify.
- `FISCAL_YEAR_START_MONTH` — month the fiscal year begins. Default:
**January** (calendar year) if the context guide doesn't specify.
- `TIMEZONE` — for example, `America/Los_Angeles`.
- `CALENDAR_SOURCE` — one of `"context guide"` (values came from `describeCja`),
`"default fallback"` (the context guide didn't expose them and you used the defaults above), or `"user override"` (the user explicitly specified them).
This context determines what counts as the "north-star metric" and what language to use in the narrative (e.g., "subscribers" vs "customers" vs "users").
1.2 Determine reporting period
Infer the period type from the user's request. Do not stop to ask — proceed immediately.
The principle
Two runs of this skill on the same data view, period type, and prompt MUST produce identical `current` and `comparison` date ranges. Determinism comes from (a) reading calendar conventions from 1.1 instead of improvising, and (b) applying the alignment rule for the period type without taste calls.
Period type → alignment rule
Pick exactly one period type from the user's request:
| User request | `PERIOD_TYPE` | Current period | Comparison period | |---|---|---|---| | "last week" / unspecified | `weekly` | Most recent full week ending before today, aligned to `WEEK_START_DOW` (exactly 7 days) | The week immediately before, same alignment | | "this month" / "MTD" | `month-to-date` | 1st of current month → today | 1st of prior month → same day-of-month as today | | "last month" | `monthly` | Prior full calendar month (1st → last day) | The month before that | | "this quarter" / "QTD" | `quarter-to-date` | Start of current fiscal quarter → today; fiscal quarters derived from `FISCAL_YEAR_START_MONTH` | Same days into the prior fiscal quarter | | "last quarter" / "Q[N]" | `quarterly` | Prior full fiscal quarter | The fiscal quarter before that | | Custom date range | `custom` | Use as specified | Equal-length window ending the day before `current.startDate` |
Universal invariants (must hold for every period type)
Before calling `runReport`, verify all six:
1. `current.startDate < current.endDate` 2. `comparison.startDate < comparison.endDate` 3. `comparison.endDate < current.startDate` (no overlap) 4. The day after `comparison.endDate` equals `current.startDate` (contiguous) 5. `current` and `comparison` have the **same length in days** 6. The alignment rule for `PERIOD_TYPE` is satisfied:
- `weekly`: both `startDate`s fall on `WEEK_START_DOW`
- `monthly`: both `startDate`s fall on the 1st of a month
- `month-to-date`: both `startDate`s fall on the 1st; both `endDate`s have the same day-of-month
- `quarterly`: both `startDate`s fall on the first day of a fiscal quarter
- `quarter-to-date`: both `startDate`s fall on a fiscal quarter start; both `endDate`s are the same number of days into the quarter
- `custom`: lengths match; contiguity holds
If ANY invariant fails, recompute the dates. **Never** paper over a mismatch by editing the footer.
Worked examples — today is Tuesday, May 26, 2026
These examples assume
Read more
name: cja-executive-briefing description: > Generates a polished, leadership-ready performance briefing with KPI tiles, executive narrative bullets, and a driver analysis — all as a print-ready HTML document. Always use this skill when someone asks for an executive summary, performance briefing, leadership readout, stakeholder update, or business review — even if they don't say "executive" explicitly. Trigger phrases include: "write a summary of last week's performance," "create a briefing for our leadership team," "produce a monthly business review," "what should I tell executives about our metrics," "generate a performance narrative," "QBR summary," "weekly business review," "board update," "stakeholder briefing," "how did we do last week," or "give me a performance snapshot." When in doubt, use this skill — it is always better to produce a polished briefing than a raw data dump. license: Apache-2.0 metadata: author: Adobe version: "1.0"
Executive Briefing (Customer Journey Analytics)
Produce a polished, leadership-ready performance document. Executives do not read data tables — they read narratives that answer "are we growing?", "what changed?", and "what do we do about it?"
This skill converts CJA data into a briefing that a VP or C-suite leader can read in under 3 minutes, with supporting data available for those who want to dig deeper.
Tone: business impact, not technical metrics. Write "Revenue grew 12% driven by a strong Paid Search week" not "metrics/revenue increased by 0.12 per metrics/sessions."
---
CJA MCP Tools Used
- `describeCja(DATAVIEW_CONTEXT_GUIDE)` — understand the business context of the data view
- `listComponentUsage` — identify the north-star and supporting KPIs
- `findMetrics` — resolve user-specified or discovered metric IDs
- `findCalculatedMetrics` — include custom business KPIs
- `runReport` — pull KPI values for current and comparison period
- `searchDimensionItems` — identify top driver dimension values
---
Phase 0 — Setup
1. Call `findDataViews` to list available data views. 2. If the user hasn't specified a data view, present the list and ask which to use. 3. Call `setDefaultSessionDataViewId` with the chosen ID. 4. Confirm the reporting period (default: last 7 days) and the audience for the briefing (executive, board, team lead).
---
Phase 1 — Establish Context
1.1 Load data view context
Call `describeCja("DATAVIEW_CONTEXT_GUIDE")` to understand:
- What business the data view represents (e-commerce, media, SaaS, etc.)
- The primary conversion event and revenue metric
- **Calendar conventions and timezone.** Record these values — they are
inputs to every date computation in 1.2:
- `WEEK_START_DOW` — day of week each week starts on (Sunday, Monday, …).
Default: **Monday** (ISO 8601) if the context guide doesn't specify.
- `FISCAL_YEAR_START_MONTH` — month the fiscal year begins. Default:
**January** (calendar year) if the context guide doesn't specify.
- `TIMEZONE` — for example, `America/Los_Angeles`.
- `CALENDAR_SOURCE` — one of `"context guide"` (values came from `describeCja`),
`"default fallback"` (the context guide didn't expose them and you used the defaults above), or `"user override"` (the user explicitly specified them).
This context determines what counts as the "north-star metric" and what language to use in the narrative (e.g., "subscribers" vs "customers" vs "users").
1.2 Determine reporting period
Infer the period type from the user's request. Do not stop to ask — proceed immediately.
The principle
Two runs of this skill on the same data view, period type, and prompt MUST produce identical `current` and `comparison` date ranges. Determinism comes from (a) reading calendar conventions from 1.1 instead of improvising, and (b) applying the alignment rule for the period type without taste calls.
Period type → alignment rule
Pick exactly one period type from the user's request:
| User request | `PERIOD_TYPE` | Current period | Comparison period | |---|---|---|---| | "last week" / unspecified | `weekly` | Most recent full week ending before today, aligned to `WEEK_START_DOW` (exactly 7 days) | The week immediately before, same alignment | | "this month" / "MTD" | `month-to-date` | 1st of current month → today | 1st of prior month → same day-of-month as today | | "last month" | `monthly` | Prior full calendar month (1st → last day) | The month before that | | "this quarter" / "QTD" | `quarter-to-date` | Start of current fiscal quarter → today; fiscal quarters derived from `FISCAL_YEAR_START_MONTH` | Same days into the prior fiscal quarter | | "last quarter" / "Q[N]" | `quarterly` | Prior full fiscal quarter | The fiscal quarter before that | | Custom date range | `custom` | Use as specified | Equal-length window ending the day before `current.startDate` |
Universal invariants (must hold for every period type)
Before calling `runReport`, verify all six:
1. `current.startDate < current.endDate` 2. `comparison.startDate < comparison.endDate` 3. `comparison.endDate < current.startDate` (no overlap) 4. The day after `comparison.endDate` equals `current.startDate` (contiguous) 5. `current` and `comparison` have the **same length in days** 6. The alignment rule for `PERIOD_TYPE` is satisfied:
- `weekly`: both `startDate`s fall on `WEEK_START_DOW`
- `monthly`: both `startDate`s fall on the 1st of a month
- `month-to-date`: both `startDate`s fall on the 1st; both `endDate`s have the same day-of-month
- `quarterly`: both `startDate`s fall on the first day of a fiscal quarter
- `quarter-to-date`: both `startDate`s fall on a fiscal quarter start; both `endDate`s are the same number of days into the quarter
- `custom`: lengths match; contiguity holds
If ANY invariant fails, recompute the dates. **Never** paper over a mismatch by editing the footer.
Worked examples — today is Tuesday, May 26, 2026
These examples assume
Repo: adobe/skills
Other skills on adobe-skills.
- /aa-conversion-funnel-analysis
Analyzes a multi-step conversion funnel to find where visitors drop off and which steps have the worst leakage. Use this skill when someone describes a journey and asks about conversion rates, drop-off, fallout, or step completion. Trigger for "analyze our checkout funnel,"
Open skill - /aa-executive-briefing
Generates a concise, executive-ready performance summary covering key metrics, trends, and what's driving movement. Use this skill when someone needs to produce a briefing, executive summary, performance narrative, or stakeholder readout — for example, "write an exec summary of
Open skill - /aa-kpi-pulse
Produces a compact KPI digest showing how key metrics changed over a period and what's driving the movement. Use this skill when someone asks for a performance summary, a weekly recap, a morning briefing, a KPI update, or any variation of "how did we do this week/month." Also
Open skill - /aa-segment-performance-comparator
Compares the performance of two or more audience segments across key metrics side by side. Use this skill when someone wants to compare audiences or visitor groups — for example, "how do mobile visitors compare to desktop on conversion," "compare new vs. returning visitors,"
Open skill - /aa-top-movers-watchlist
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,"
Open skill - /cja-dimension-analysis
Comprehensive dimension analysis and reporting for CJA. Use this skill whenever the user wants to analyze one or more dimensions — including cardinality, distribution/skew, trends, anomalies, data quality errors, comparisons, and forecasting. Also trigger when someone asks "what
Open skill

