Skip to content
AI & Agents
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

From plugin
adobe-skills
162160 skills6 agents4 MCP
Install
$ npx -y skills add adobe/skills --skill aa-executive-briefing --agent claude-code

How 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/aa-executive-briefing

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

aa-executive-briefing.SKILL.md
name: aa-executive-briefing
description: >
  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 last week's performance,"
  "create a performance briefing for our leadership team," "produce a monthly
  business review summary," "what should I tell executives about our metrics,"
  or "generate a performance narrative." Also trigger for "QBR summary,"
  "weekly business review," or "stakeholder briefing."
license: Apache-2.0
metadata:
  author: Adobe
  version: "1.0"

Executive Briefing (Adobe Analytics)

Generate a concise, executive-ready performance summary with narrative context, metric highlights, and key drivers. Designed for leadership audiences — no raw data dumps, just clear signals and business implications.

> **Key parameter facts validated during implementation:** > - `runReport` → `metricIds` (plural), not `metricId`; dates as `YYYY-MM-DDTHH:mm:ss` > - `findMetrics` → `expansions` is a **required** parameter (use `"componentType"`) > - `describeAa` → parameter is `guideType`, not `guide`; `REPORT_SUITE_CONTEXT_GUIDE` > may return empty for some report suites — skip gracefully and proceed > - `metrics/uniquevisitors` is often unauthorized — use `metrics/visits` instead > - `setSessionDefaults` is the correct tool name (not `setDefaultReportSuite`)

---

AA MCP Tools Used

  • `findReportSuites` — select report suite
  • `setSessionDefaults` — set session context (reportSuiteId + globalCompanyId)
  • `describeAa(guideType: "REPORT_SUITE_CONTEXT_GUIDE")` — load org context;

note: may return no output for some report suites — proceed without it

  • `findMetrics(expansions: "componentType")` — resolve metric IDs (expansions

parameter is **required**)

  • `listComponentUsage(componentType: "metric")` — identify most-used metrics

if not specified by the user

  • `runReport` — current and comparison period with all metrics batched in one

call (`metricIds` accepts comma-separated IDs); dimension breakdowns for top movers

  • `searchDimensionItems` — validate dimension values for driver callouts

---

Phase 0 — Setup

1. Confirm report suite. 2. Load organizational context:

findReportSuites()
setSessionDefaults(reportSuiteId: "<rsid>", globalCompanyId: "<companyId>")
describeAa(guideType: "REPORT_SUITE_CONTEXT_GUIDE")   # may return empty — proceed if so

Use the context guide to understand:

  • The organization's name and industry
  • Which metrics are most used (top KPIs)
  • **Calendar conventions and timezone.** Record these values — they are

inputs to every date computation in Phase 1:

  • `WEEK_START_DOW` — day of week each week starts on. Default: **Monday**

(ISO 8601).

  • `FISCAL_YEAR_START_MONTH` — month the fiscal year begins. Default:

**January** (calendar year).

  • `TIMEZONE` — for example, `America/Los_Angeles`.
  • `CALENDAR_SOURCE` — one of `"context guide"`, `"default fallback"`, or

`"user override"`.

  • Any active report suite segments

---

Phase 1 — Clarify the Briefing

Ask the user:

1. **Period** — "What time period should this briefing cover?"

  • Last week
  • Last month
  • Month-to-date (MTD)
  • This quarter / QTD
  • Last quarter
  • Custom date range

The principle

Two runs of this skill on the same report suite, period type, and prompt MUST produce identical `current` and `comparison` date ranges. Determinism comes from (a) reading calendar conventions from Phase 0 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" | `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 | 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

Assumes `WEEK_START_DOW = Sunday` and `FISCAL_YEAR_START_MONTH = January`. Numbers change for other calendars — that's the point.

| User request | `PERIOD_TYPE` | Current | Comparison | |---|---|---|---| | "last week" | `week

Read more
Ships withadobe-skills

Repository of Adobe skills for AI coding agents.

Get the whole plugin

Other skills on adobe-skills.