build-report
Report Building
Use this skill when the user needs a durable analytical report rather than a dashboard, notebook-only dump, or transient chat summary. The report owns the reader-facing narrative, audience shape, evidence placement, visual/table placement, caveats, source metadata, and handoff. The underlying analysis should still come from the appropriate analysis, notebook, data quality, diagnostics, KPI, or product-analysis workflow.
If this skill is selected directly or included by a report-mode workflow, the run is incomplete until the selected report surface exists or a concrete blocker is recorded. Do not finalize with chat-only prose, an inline widget, a local URL, or an ad hoc artifact that skips the report shape. Treat inline summaries and notebook outputs as progress evidence, not as substitutes for the report. Once this skill is selected, reserve charts, tables, and previews for the selected report surface. The absence of the word "report" is not a waiver when an upstream workflow has already classified the task as report mode or when the requested deliverable is a durable analytical answer.
Skill Configuration
User Context
Mandatory pre-answer gate: Invoke data-analytics:user-context in preflight mode by loading data-analytics:user-context and running its preflight script before answering, searching connectors, retrieving evidence, creating artifacts, or drafting output. Do not look for a callable MCP tool named data-analytics:user-context. Use the returned data_analytics_preflight envelope as the source of truth for saved context, source-category mapping, semantic-layer registry, onboarding/final-response obligations, and conditional guidance; use saved context and semantic layers as source-selection inputs, not as substitutes for workflow-time reads from connected or provided sources. Do not read or reinterpret raw plugin state files unless preflight fails, declares required content omitted, local shell access is unavailable, or the user explicitly asks for raw state inspection.
Choose exactly one report delivery mode for each run:
mcp-app: a Data Analytics MCP artifact app report. This is the default for safe, bounded in-Codex reports.html: a portable static HTML report. Use this when the user asks for HTML, file/blob sharing, Docs/Slides conversion, offline portability, no MCP app/widget rendering, or when the MCP artifact renderer is unavailable, unsafe, or over bounds.
Select exactly one delivery mode per run. Do not build an MCP app report and a static report.html as parallel outputs unless the user explicitly asks for a second delivery mode as a separate follow-up. For HTML reports, charts must be static PNG images generated from the Seaborn template workflow and embedded in the HTML. Do not replace those charts with interactive, app-specific, inline SVG, or hand-authored HTML/CSS chart primitives.