aa-executive-briefing

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Executive Briefing (Adobe Analytics)

高管简报(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
    )

生成一份简洁、适合高管阅读的绩效总结,包含叙事背景、指标亮点及关键驱动因素。专为领导层受众设计——不提供原始数据,仅呈现清晰的信号及业务影响。
实施过程中验证的关键参数要点:
  • runReport
    → 使用
    metricIds
    (复数形式),而非
    metricId
    ;日期格式为
    YYYY-MM-DDTHH:mm:ss
  • findMetrics
    expansions
    为必填参数(使用
    "componentType"
  • describeAa
    → 参数为
    guideType
    ,而非
    guide
    ;部分报表套件调用
    REPORT_SUITE_CONTEXT_GUIDE
    可能返回空值——需平稳跳过并继续执行
  • metrics/uniquevisitors
    通常无访问权限——请改用
    metrics/visits
  • 正确的工具名称为
    setSessionDefaults
    (而非
    setDefaultReportSuite

AA MCP Tools Used

使用的AA MCP工具

  • 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

  • findReportSuites
    — 选择报表套件
  • setSessionDefaults
    — 设置会话上下文(reportSuiteId + globalCompanyId)
  • describeAa(guideType: "REPORT_SUITE_CONTEXT_GUIDE")
    — 加载组织上下文;注意:部分报表套件可能无输出——无需此内容继续执行
  • findMetrics(expansions: "componentType")
    — 解析指标ID(expansions为必填参数)
  • listComponentUsage(componentType: "metric")
    — 若用户未指定指标,识别使用频率最高的指标
  • runReport
    — 一次性批量调用获取当前周期及对比周期的所有指标(
    metricIds
    接受逗号分隔的ID);针对变动较大的指标进行维度细分
  • searchDimensionItems
    — 验证驱动因素标注的维度值

Phase 0 — Setup

阶段0 — 准备工作

  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

  1. 确认报表套件。
  2. 加载组织上下文:
findReportSuites()
setSessionDefaults(reportSuiteId: "<rsid>", globalCompanyId: "<companyId>")
describeAa(guideType: "REPORT_SUITE_CONTEXT_GUIDE")   # 可能返回空值——若为空则继续执行
利用上下文指南了解:
  • 组织名称及所属行业
  • 使用频率最高的指标(核心KPI)
  • 日历规则及时区。记录这些值——它们是阶段1中所有日期计算的输入项:
    • WEEK_START_DOW
      — 每周起始日。默认值:周一(ISO 8601标准)。
    • FISCAL_YEAR_START_MONTH
      — 财年起始月份。默认值:1月(自然年)。
    • TIMEZONE
      — 例如:
      America/Los_Angeles
    • CALENDAR_SOURCE
      — 可选值为
      "context guide"
      "default fallback"
      "user override"
  • 任何激活的报表套件细分

Phase 1 — Clarify the Briefing

阶段1 — 明确简报需求

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
询问用户:
  1. 周期 — “此简报涵盖哪个时间段?”
    • 上周
    • 上月
    • 本月至今(MTD)
    • 本季度 / 本季度至今(QTD)
    • 上季度
    • 自定义日期范围

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.
针对同一报表套件、周期类型及提示词,两次运行此技能必须生成完全相同的
current
comparison
日期范围。确定性源于(a)从阶段0读取日历规则而非自行推断,(b)严格应用周期类型的对齐规则,不做主观调整。

Period type → alignment rule

周期类型 → 对齐规则

Pick exactly one period type from the user's request:
User request
PERIOD_TYPE
Current periodComparison 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 → today1st of prior month → same day-of-month as today
"last month"
monthly
Prior full calendar monthThe 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 quarterThe fiscal quarter before that
Custom date range
custom
Use as specifiedEqual-length window ending the day before
current.startDate
从用户请求中准确选择一种周期类型:
用户请求
PERIOD_TYPE
当前周期对比周期
“上周”
weekly
截至今日之前的最近完整一周,对齐
WEEK_START_DOW
(恰好7天)
紧邻当前周期的上一周,对齐规则相同
“本月” / “本月至今”
month-to-date
当月1日 → 今日上月1日 → 与今日相同的日期
“上月”
monthly
上一个完整自然月上上月
“本季度” / “本季度至今”
quarter-to-date
当前财季起始日 → 今日;财季根据
FISCAL_YEAR_START_MONTH
推导
上一财季对应天数范围
“上季度” / “第[N]季度”
quarterly
上一个完整财季上上个财季
自定义日期范围
custom
使用指定的日期范围与当前周期时长相同,结束于当前周期起始日前一天

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.
调用
runReport
前,验证以下所有条件:
  1. current.startDate < current.endDate
  2. comparison.startDate < comparison.endDate
  3. comparison.endDate < current.startDate
    (无重叠)
  4. comparison.endDate
    次日等于
    current.startDate
    (连续)
  5. current
    comparison
    的天数完全相同
  6. 满足
    PERIOD_TYPE
    的对齐规则:
    • weekly
      :两个
      startDate
      均为
      WEEK_START_DOW
    • monthly
      :两个
      startDate
      均为当月1日
    • month-to-date
      :两个
      startDate
      均为当月1日;两个
      endDate
      的日期相同
    • quarterly
      :两个
      startDate
      均为财季首日
    • quarter-to-date
      :两个
      startDate
      均为财季起始日;两个
      endDate
      为财季内相同天数
    • custom
      :时长匹配;连续无重叠
若任何约束不满足,重新计算日期。绝不通过编辑页脚掩盖不匹配问题。

Worked examples — today is Tuesday, May 26, 2026

实操示例 — 今日为2026年5月26日(周二)

Assumes
WEEK_START_DOW = Sunday
and
FISCAL_YEAR_START_MONTH = January
. Numbers change for other calendars — that's the point.
User request
PERIOD_TYPE
CurrentComparison
"last week"
weekly
May 17 (Sun) – May 23 (Sat)May 10 (Sun) – May 16 (Sat)
"this month" / "MTD"
month-to-date
May 1 – May 26Apr 1 – Apr 26
"last month"
monthly
Apr 1 – Apr 30Mar 1 – Mar 31
"this quarter" / "QTD"
quarter-to-date
Apr 1 – May 26Jan 1 – Feb 24
"last quarter"
quarterly
Jan 1 – Mar 31Oct 1 – Dec 31 (2025)
Custom: "May 15–22"
custom
May 15 – May 22 (8 days)May 7 – May 14 (8 days)
If
WEEK_START_DOW = Monday
instead, the weekly row becomes
May 18 (Mon) – May 24 (Sun)
vs
May 11 (Mon) – May 17 (Sun)
. The other rows are unchanged.
假设
WEEK_START_DOW = Sunday
FISCAL_YEAR_START_MONTH = January
。若使用其他日历规则,数值会相应变化——这正是此规则的意义所在。
用户请求
PERIOD_TYPE
当前周期对比周期
“上周”
weekly
5月17日(周日)– 5月23日(周六)5月10日(周日)– 5月16日(周六)
“本月” / “本月至今”
month-to-date
5月1日 – 5月26日4月1日 – 4月26日
“上月”
monthly
4月1日 – 4月30日3月1日 – 3月31日
“本季度” / “本季度至今”
quarter-to-date
4月1日 – 5月26日1月1日 – 2月24日
“上季度”
quarterly
1月1日 – 3月31日2025年10月1日 – 12月31日
自定义:“5月15日–22日”
custom
5月15日 – 5月22日(8天)5月7日 – 5月14日(8天)
WEEK_START_DOW = Monday
,则每周行变为
5月18日(周一)– 5月24日(周日)
对比
5月11日(周一)– 5月17日(周日)
。其他行保持不变。

A common AI failure mode

AI常见错误模式

The AI may "know" from training data that weeks are Mon–Sun (ISO 8601) or that quarters are Q1=Jan–Mar (calendar). Silently overriding the context guide with those defaults is exactly the determinism bug this section exists to prevent. The footer's methodology line MUST accurately describe the dates you computed — if footer says "weeks start Sunday" but
current.startDate
is a Monday, that's a bug to fix in the dates, not in the footer.
  1. Audience — "Who is this briefing for?"
    • C-suite / board (highest level, fewest metrics, most context)
    • VP/Director level (more detail, some dimension context)
    • Marketing leadership (channel and campaign focus) Default: C-suite tone (concise, business-focused).
  2. North-star metric — "What is the single most important metric for this briefing?" (e.g., revenue, conversions, retention rate) If not specified, use the most-used metric from
    listComponentUsage
    .
  3. Supporting metrics — "What other metrics should be included? (up to 5)"
  4. Specific topic focus — "Is there anything you want to highlight or investigate? (e.g., mobile performance, campaign results)"

AI可能从训练数据中“得知”周为周一至周日(ISO 8601)或季度为Q1=1月–3月(自然季度)。但用这些默认值覆盖上下文指南正是此部分要避免的确定性漏洞。页脚的方法说明必须准确描述你计算的日期——如果页脚显示“周起始日为周日”但
current.startDate
为周一,需修正日期而非页脚。
  1. 受众 — “此简报面向谁?”
    • 高管层 / 董事会(最高级别,指标最少,业务背景最多)
    • VP/总监级别(更多细节,部分维度背景)
    • 营销领导层(聚焦渠道及活动) 默认:高管层语气(简洁、聚焦业务)。
  2. 核心指标 — “此简报最重要的单一指标是什么?”(例如:收入、转化数、留存率) 若未指定,使用
    listComponentUsage
    返回的使用频率最高的指标。
  3. 辅助指标 — “还需包含哪些其他指标?(最多5个)”
  4. 特定主题重点 — “是否有需要突出或调查的内容?(例如:移动端表现、活动结果)”

Phase 2 — Resolve Metrics

阶段2 — 确定指标

findMetrics(expansions: "componentType")  # expansions required
listComponentUsage(componentType: "metric")  # if metrics not specified
Important:
findMetrics
requires the
expansions
parameter (use
"componentType"
as a safe default). Without it the call will fail.
Avoid
metrics/uniquevisitors
— this metric is frequently restricted and returns an "unauthorized_metric" error. Prefer
metrics/visits
for audience size.
Reliable standard metrics for AA briefings:
metrics/pageviews
,
metrics/visits
,
metrics/orders
,
metrics/revenue
,
metrics/bouncerate
,
metrics/occurrences
findMetrics(expansions: "componentType")  # expansions为必填参数
listComponentUsage(componentType: "metric")  # 若用户未指定指标
重要提示:
findMetrics
需要
expansions
参数(默认使用
"componentType"
即可)。若无此参数,调用将失败。
避免使用
metrics/uniquevisitors
— 此指标通常受权限限制,会返回“unauthorized_metric”错误。统计受众规模时优先使用
metrics/visits
AA简报可靠标准指标:
metrics/pageviews
,
metrics/visits
,
metrics/orders
,
metrics/revenue
,
metrics/bouncerate
,
metrics/occurrences

Deterministic selection — do not improvise

确定性选择 — 不得自行调整

The KPI set MUST be reproducible across runs. Two runs of this skill on the same report suite + period must produce the same metric values, which requires selecting the same metric IDs every time. Follow this algorithm exactly:
  1. If the user named metrics explicitly, resolve each to ONE specific metric ID via
    findMetrics
    . On ambiguity, pick the metric with the highest
    usageCount
    from
    listComponentUsage
    and document the choice.
  2. Otherwise, take
    listComponentUsage(componentType: "metric")
    results, sort by
    usageCount
    descending with metric ID alphabetical as the tiebreak (stable secondary sort), and take the top 6 metric IDs.
  3. Use
    describeMetric
    to resolve to display names.
  4. Do NOT cherry-pick by metric "type" (volume vs conversion vs revenue) and do NOT swap in an alternative metric because its name reads better in the narrative. Different runs picking
    metrics/orders
    vs a calculated metric also called "Orders" produce wildly different numbers and break trust.
KPI集合必须可重复生成。针对同一报表套件+周期,两次运行此技能必须生成相同的指标值,这要求每次都选择相同的指标ID。严格遵循以下算法:
  1. 若用户明确指定指标,通过
    findMetrics
    将每个指标解析为一个特定的指标ID。若存在歧义,选择
    listComponentUsage
    usageCount
    最高的指标并记录选择依据。
  2. 若用户未指定指标,获取
    listComponentUsage(componentType: "metric")
    结果,按
    usageCount
    降序排序,指标ID字母序作为次要排序规则(稳定排序),选取前6个指标ID
  3. 使用
    describeMetric
    解析为显示名称。
  4. 不得按指标“类型”(数量类 vs 转化类 vs 收入类)挑选,也不得因指标名称在说明中更易读而替换为其他指标。不同运行中选择
    metrics/orders
    与另一个名为“Orders”的计算指标会产生截然不同的数值,破坏可信度。

Always disclose the metric IDs used

必须披露使用的指标ID

Include a "Metrics included" line in the briefing artifact's footer listing the resolved metric IDs. This makes the report auditable and lets the user confirm a re-run is using the same metrics.
Record metric IDs and display names. Limit to 6 metrics total.

在简报文档的页脚中添加“包含的指标”行,列出解析后的指标ID。这使报告可审计,用户可确认重新运行时使用的是相同指标。
记录指标ID及显示名称。最多包含6个指标。

Phase 3 — Fetch Performance Data

阶段3 — 获取绩效数据

Batch all metrics into a single
runReport
call per period:
runReport(
  dimensionId: "variables/daterangeday",
  metricIds: "<metricId1>,<metricId2>,<metricId3>,...",
  startDate: "<YYYY-MM-DDTHH:mm:ss>",
  endDate:   "<YYYY-MM-DDTHH:mm:ss>"
)
Critical: The
runReport
parameter is
metricIds
(plural), not
metricId
. It accepts comma-separated IDs — pass all metrics in one call. Dates must be ISO 8601 with time component:
2026-03-31T00:00:00
/
2026-04-06T23:59:59
. Use
variables/daterangeday
as
dimensionId
to get a day-by-day breakdown; totals for each metric are in
summaryData.totals[0]
,
totals[1]
, etc. in order. If a metric is unauthorized, it surfaces in
columnErrors
— the overall call still succeeds.
For 6 metrics: 2 calls total (current period + comparison period).
From each pair compute:
  • Current total
  • Prior total
  • Absolute and percent delta
  • Trend direction (up/flat/down)

将所有指标批量纳入每个周期的单次
runReport
调用:
runReport(
  dimensionId: "variables/daterangeday",
  metricIds: "<metricId1>,<metricId2>,<metricId3>,...",
  startDate: "<YYYY-MM-DDTHH:mm:ss>",
  endDate:   "<YYYY-MM-DDTHH:mm:ss>"
)
关键提示:
runReport
的参数是
metricIds
(复数),而非
metricId
。它接受逗号分隔的ID——一次调用传入所有指标。 日期必须为带时间组件的ISO 8601格式:
2026-03-31T00:00:00
/
2026-04-06T23:59:59
。 使用
variables/daterangeday
作为
dimensionId
获取每日细分数据;每个指标的总计值按顺序位于
summaryData.totals[0]
totals[1]
等位置。 若某个指标无权限,会在
columnErrors
中显示——整体调用仍会成功。
对于6个指标:共需2次调用(当前周期 + 对比周期)。
从每对数据计算:
  • 当前周期总计
  • 上一周期总计
  • 绝对差值及百分比差值
  • 趋势方向(上升/持平/下降)

Phase 4 — Driver Context

阶段4 — 驱动因素分析

For the north-star metric and any metric with a change > ±10%, run a marketing channel breakdown to find what drove the movement:
runReport(
  metricIds: "<northStarMetricId>",
  dimensionId: "variables/marketingchannel",
  startDate: "<current period start>T00:00:00",
  endDate: "<current period end>T23:59:59",
  limit: 8
)
Run the same for the comparison period if needed to identify share shift.
Also check device type if the user mentioned mobile:
runReport(
  metricIds: "<northStarMetricId>",
  dimensionId: "variables/mobiledevicetype",
  startDate: "<current period start>T00:00:00",
  endDate: "<current period end>T23:59:59",
  limit: 5
)

针对核心指标及变动幅度>±10%的任何指标,进行营销渠道细分以找出变动原因:
runReport(
  metricIds: "<northStarMetricId>",
  dimensionId: "variables/marketingchannel",
  startDate: "<current period start>T00:00:00",
  endDate: "<current period end>T23:59:59",
  limit: 8
)
若需识别份额变动,针对对比周期运行相同调用。
若用户提及移动端,还需检查设备类型:
runReport(
  metricIds: "<northStarMetricId>",
  dimensionId: "variables/mobiledevicetype",
  startDate: "<current period start>T00:00:00",
  endDate: "<current period end>T23:59:59",
  limit: 5
)

Phase 5 — Write the Narrative

阶段5 — 撰写说明内容

Compose the executive briefing as a structured narrative, not a data table. Tone: confident, clear, forward-looking. Avoid jargon. Use business language.
将高管简报撰写为结构化说明,而非数据表。语气:自信、清晰、面向未来。避免行话,使用业务语言。

Narrative structure

说明结构

  1. Opening headline — 1 sentence capturing the period's overall result. "Q2 performance was strong, with revenue growing 14% and conversion rates reaching a 12-month high."
  2. North-star metric — 2–3 sentences on the most important KPI: value, change, context, what drove it.
  3. Supporting highlights — 1 sentence per additional metric (positive first, then concerns).
  4. Key driver — 2 sentences identifying what primarily caused movement. "Paid Search drove 60% of revenue growth, up from 48% in the prior period. Email performance also improved materially with a 22% lift in conversions."
  5. Risk or watch item — 1–2 sentences on anything concerning: "Bounce rate on mobile increased 4pp, suggesting friction in the mobile experience worth investigating."
  6. Forward look / ask — optional: what does this imply for next period?

  1. 开篇标题 — 1句话概括周期整体结果。 “Q2表现强劲,收入增长14%,转化率创12个月新高。”
  2. 核心指标 — 2-3句话介绍最重要的KPI:数值、变化、背景及驱动因素。
  3. 辅助亮点 — 每个额外指标用1句话说明(先讲积极面,再讲关注点)。
  4. 关键驱动因素 — 2句话指出变动的主要原因。 “付费搜索贡献了60%的收入增长,较上一周期的48%有所提升。邮件营销表现也显著改善,转化率提升22%。”
  5. 风险或关注项 — 1-2句话说明需关注的问题: “移动端跳出率上升4个百分点,表明移动端体验存在值得调查的摩擦点。”
  6. 展望 / 请求 — 可选:此结果对下一周期有何启示?

Phase 6 — Generate HTML Briefing Document

阶段6 — 生成HTML简报文档

Build the executive briefing HTML and write to
/tmp/aa_executive_briefing_<YYYY-MM-DD_HHMMSS>.html
.
构建高管简报HTML并写入
/tmp/aa_executive_briefing_<YYYY-MM-DD_HHMMSS>.html

Rendering rules — apply consistently across runs

渲染规则 — 所有运行保持一致

Two runs of this skill on the same report suite + period must render identically (modulo the generation timestamp). The rules below pin the formatting choices that the AI would otherwise drift on.
针对同一报表套件+周期,两次运行此技能的渲染结果必须完全相同(生成时间戳除外)。以下规则固定AI可能自行调整的格式选择。

Number formatting

数字格式

  • KPI values (the big number in each tile) — use full digits with thousands separators (
    8,160
    ,
    77,584
    ,
    1,250,000
    ). Do NOT use SI suffixes like
    K
    or
    M
    , even for large values. Executives want exact numbers, not abbreviations.
  • Percent change (in pills and narrative bullets) — always one decimal place, rounded half-away-from-zero. For example,
    −23.55%
    displays as
    −23.6%
    , never
    −23.5%
    . Compute on full-precision values; round only at display time.
  • Percentage-point change (for already-percentage metrics like Conversion Rate or Bounce Rate) — same rounding, suffix
    pp
    . Example:
    +0.40 pp
    .
  • Currency
    $
    prefix with thousands separators and no decimals for values ≥ $100 (
    $1,240,000
    ); cents only when value < $100 (
    $45.20
    ).
  • KPI数值(每个卡片中的大数字)——使用完整数字及千位分隔符(
    8,160
    ,
    77,584
    ,
    1,250,000
    )。不得使用
    K
    M
    等SI后缀,即使数值很大。高管需要精确数字,而非缩写。
  • 百分比变化(标签及说明项目符号中)——始终保留1位小数,采用“四舍五入到最近整数”规则。例如:
    −23.55%
    显示为
    −23.6%
    ,而非
    −23.5%
    。基于全精度数值计算;仅在显示时进行四舍五入。
  • 百分点变化(针对本身为百分比的指标,如转化率或跳出率)——四舍五入规则相同,后缀为
    pp
    。示例:
    +0.40 pp
  • 货币 — 前缀为
    $
    ,带千位分隔符;数值≥$100时不保留小数(
    $1,240,000
    );数值<$100时保留分(
    $45.20
    )。

Null / missing data handling

空值/缺失数据处理

A KPI tile must reflect what the report suite actually returned. The AI must not silently substitute a different metric or hide a tile to make the briefing look cleaner.
  • Both periods return 0 or NULL for a metric in the resolved set: render the tile with
    kpi-value
    =
    Data unavailable
    , pill class
    flat
    , pill text
    ⚠ N/A
    , and
    prior
    text =
    Both periods returned no data — validate instrumentation
    . The tile stays in the grid; do not omit it.
  • One period returns valid data, the other 0 / NULL: render the tile with the valid value as
    kpi-value
    , pill class
    flat
    , pill text
    ⚠ N/A
    , and
    prior
    text =
    Prior {period_noun}: no data
    .
  • Never substitute a derived metric (e.g., adding "Conversion Rate" because Revenue came back $0). The visible KPI set MUST match the resolved metric IDs disclosed in the footer.
  • If a Revenue / monetary metric is unavailable, surface a
    .callout.note
    above the KPI grid explaining the gap. Do not invent a value.
KPI卡片必须准确反映报表套件返回的结果。AI不得自行替换其他指标或隐藏卡片以使简报看起来更整洁。
  • 解析后的指标集合中,某指标在两个周期均返回0或NULL:渲染卡片时
    kpi-value
    显示为
    数据不可用
    ,标签类为
    flat
    ,标签文本为
    ⚠ N/A
    prior
    文本为
    两个周期均无数据 — 请验证埋点
    。卡片保留在网格中;不得省略。
  • 某指标仅一个周期返回有效数据,另一个周期返回0/NULL:渲染卡片时
    kpi-value
    显示有效数值,标签类为
    flat
    ,标签文本为
    ⚠ N/A
    prior
    文本为
    上一{周期名词}:无数据
  • 绝不替换为衍生指标(例如:因收入返回$0而添加“转化率”)。可见的KPI集合必须与页脚披露的解析指标ID一致。
  • 若收入/货币指标不可用,在KPI网格上方添加
    .callout.note
    说明缺口。不得编造数值。

HTML template

HTML模板

Template variables

模板变量

Populate every
{PLACEHOLDER}
in the HTML template below using these rules. The briefing belongs to the customer — never substitute Adobe, AA, or any vendor language into customer-visible fields.
  • {ORG_NAME}
    — The customer's business or brand name, derived from the report suite context loaded in Phase 0. Strip technical/environment suffixes like
     — Prod
    ,
     - Demo
    ,
     Stage
    ,
     Test
    ,
     MCP
    . If the report suite name has no clean brand label, fall back to the report suite display name with suffixes removed. Do not invent a name and do not substitute a vendor name.
  • {PERIOD_TYPE}
    — One of
    Weekly
    ,
    Monthly
    ,
    Quarterly
    , or
    Performance
    (default), chosen from the period inferred in Phase 1.
  • {LEDE_SENTENCE}
    — Use exactly this pattern, with no vendor names:
    Leadership readout for the {period type lowercase} of {PERIOD_LABEL} compared to {COMPARISON_LABEL}.
  • {REPORT_SUITE}
    — Report suite display name. Suffixes are acceptable here — this row is the technical identifier line, not the title.
  • {PERIOD_LABEL}
    /
    {COMPARISON_LABEL}
    — Human-readable date ranges, e.g.,
    May 12–18, 2026
    .
  • {GENERATED_DATE}
    — Today's date in the same human format.
  • {METRIC_LABEL}
    /
    {FORMATTED_VALUE}
    /
    {PCT_CHANGE}
    /
    {PRIOR_VALUE}
    — Per-KPI values from Phase 3. Use the metric's customer-facing display name, not its internal ID.
使用以下规则填充HTML模板中的所有
{PLACEHOLDER}
。简报属于客户——不得在客户可见字段中替换Adobe、AA或任何供应商名称。
  • {ORG_NAME}
    — 客户的企业或品牌名称,从阶段0加载的报表套件上下文推导。去除技术/环境后缀,如
     — Prod
     - Demo
     Stage
     Test
     MCP
    。若报表套件名称无清晰品牌标识,使用去除后缀的报表套件显示名称。不得编造名称,也不得替换为供应商名称。
  • {PERIOD_TYPE}
    — 可选值为
    Weekly
    Monthly
    Quarterly
    Performance
    (默认),从阶段1推断的周期类型中选择。
  • {LEDE_SENTENCE}
    — 严格使用此格式,不得包含供应商名称:
    领导层汇报:{小写周期类型} {PERIOD_LABEL} 对比 {COMPARISON_LABEL}。
  • {REPORT_SUITE}
    — 报表套件显示名称。此处可保留后缀——此行是技术标识行,而非标题。
  • {PERIOD_LABEL}
    /
    {COMPARISON_LABEL}
    — 易读的日期范围,例如:
    2026年5月12日–18日
  • {GENERATED_DATE}
    — 今日日期,格式与上述一致。
  • {METRIC_LABEL}
    /
    {FORMATTED_VALUE}
    /
    {PCT_CHANGE}
    /
    {PRIOR_VALUE}
    — 阶段3中的各KPI数值。使用指标的客户可见显示名称,而非内部ID。

HTML Template

HTML模板

Read
template.html
and use it verbatim. Do not improvise the HTML structure or CSS — only fill in the
{PLACEHOLDER}
tokens documented in Template variables above. Preserve the
.up | .down | .flat
and
.green | .red | .yellow | .grey
modifier classes per the trend rules in Phase 3.
Section titles — no phase prefix: Section headings in the HTML report must not include the phase number. Use the plain section name only (e.g., "KPI Scorecards" not "Phase 2 — KPI Scorecards", "Narrative" not "Phase 3 — Narrative", "Watch Items" not "Phase 5 — Watch Items").
Write to
/tmp/aa_executive_briefing_<YYYY-MM-DD_HHMMSS>.html
and open:
bash
open /tmp/aa_executive_briefing_<YYYY-MM-DD_HHMMSS>.html

读取
template.html
并直接使用。不得自行调整HTML结构或CSS——仅填充上述模板变量中记录的
{PLACEHOLDER}
标记。根据阶段3的趋势规则保留
.up | .down | .flat
.green | .red | .yellow | .grey
修饰类。
章节标题 — 无阶段前缀:HTML报告中的章节标题不得包含阶段编号。仅使用纯章节名称(例如:“KPI计分卡”而非“阶段2 — KPI计分卡”,“说明内容”而非“阶段3 — 说明内容”,“关注项”而非“阶段5 — 关注项”)。
写入
/tmp/aa_executive_briefing_<YYYY-MM-DD_HHMMSS>.html
并打开:
bash
open /tmp/aa_executive_briefing_<YYYY-MM-DD_HHMMSS>.html

Tone and Style Guidelines

语气与风格指南

AudienceToneMetricsLength
C-suiteHigh-level, business outcomes, 1-2 sentences per metric3–5 max1 page
VP/DirectorOperational detail, channel context, trend narrative5–71.5 pages
Marketing leadershipCampaign and channel depth, attribution, segment5–82 pages
Always:
  • Lead with the positive, then address concerns.
  • Express deltas as business impact, not just percentages ("revenue grew $42K, up 14%" not just "+14%").
  • For metrics that went down, include a possible explanation or next step.

受众语气指标数量长度
高管层高度概括,聚焦业务成果,每个指标1-2句话最多3–5个1页
VP/总监运营细节,渠道背景,趋势说明5–7个1.5页
营销领导层活动及渠道深度,归因,细分5–8个2页
始终遵循:
  • 先讲积极面,再讲关注点。
  • 将差值表述为业务影响,而非仅百分比(“收入增长$4.2万,涨幅14%”而非仅“+14%”)。
  • 对于下降的指标,包含可能的解释或下一步行动。

Guardrails

注意事项

  • Do not present raw API output — always narrate the numbers.
  • If a metric change is within ±3%, describe as "roughly flat" not a directional story.
  • Always identify the comparison period explicitly in the briefing header.
  • If context from
    REPORT_SUITE_CONTEXT_GUIDE
    identifies the company name or industry, use it in the narrative for a more personalized output.

  • 不得呈现原始API输出——始终对数值进行说明。
  • 若指标变动在±3%以内,描述为“基本持平”而非方向性结论。
  • 始终在简报标题中明确说明对比周期。
  • REPORT_SUITE_CONTEXT_GUIDE
    的上下文包含公司名称或行业,在说明内容中使用以生成更个性化的输出。

Example Interaction

示例交互

"Write an exec summary of last week's performance for our leadership team."
  1. Confirm report suite; load context guide.
  2. Identify period: last 7 days vs. prior 7 days. Audience: VP level.
  3. Confirm metrics: revenue, visits, orders, conversion rate, bounce rate.
  4. Run 2 reports (all 5 metrics batched in one call per period).
  5. Run channel breakdown for revenue.
  6. Compose narrative: "Revenue grew 9% WoW to $186K, led by Paid Search which contributed 58% of revenue. Visits grew 18%, but mobile bounce rate increased 4pp, signaling a checkout experience issue worth investigating."
  7. Generate HTML briefing and open.
  8. Deliver the narrative as inline text for immediate use.
“为领导团队撰写上周绩效的高管总结。”
  1. 确认报表套件;加载上下文指南。
  2. 确定周期:最近7天 vs 上一7天。受众:VP级别。
  3. 确认指标:收入、访问量、订单数、转化率、跳出率。
  4. 运行2次报告(5个指标批量纳入单次调用)。
  5. 针对收入运行渠道细分。
  6. 撰写说明内容:“收入同比增长9%至$18.6万,主要由付费搜索贡献,其占收入的58%。访问量增长18%,但移动端跳出率上升4个百分点,表明结账体验存在值得调查的问题。”
  7. 生成HTML简报并打开。
  8. 将说明内容作为即时可用的文本交付。