build-dashboard

作者: openai

建立由資料來源支援的分析儀表板,協助團隊監控績效、探索驅動因素,並針對產品或業務指標採取行動。當使用者需要…時使用。

npx skills add https://github.com/openai/role-specific-plugins --skill build-dashboard

Related Skills

Use $create-data-context only when the dashboard work explicitly asks to save data context or create, update, inspect, or repair a semantic layer.

Use $analyze-data-quality when dashboard metrics disagree or source freshness, grain, joins, or definitions could affect trust.

Dashboard Building

Use this skill when the user needs a dashboard rather than a report, notebook-only analysis, spreadsheet, or transient chat summary. A good dashboard is summary-first, chart-led, scannable, and organized around what the audience needs to monitor, understand, or act on.

Clarify with the user when a missing input would materially change the dashboard brief, analysis, or recommendation. Otherwise make a reasonable assumption, state it, and proceed.

This skill owns the dashboard brief, delivery-mode selection, metric definitions, source expectations, layout logic, dashboard QA, and handoff. Delivery-specific mechanics belong in the selected dashboard specification.

Skill Configuration

Runtime Delivery Routing

If surface = chatgpt_web and mode = work_mode are both positively identified, do not select the Data Analytics MCP artifact app and do not load its dashboard specification. If mode = work_mode is positive and surface is unknown or otherwise not positively codex_desktop, apply the same non-MCP delivery rule for safety. Use a connected BI destination when the user selected one or it clearly owns the requested dashboard; otherwise build portable HTML. Use Streamlit only when the user explicitly asks for it. MCP servers and other callable tools remain valid data sources.

Source Discovery And Verification

Use the relevant semantic layer as a starting map, not a boundary.

  1. Explore all possible sources. Search every connected or provided source that could contain task-relevant data or change the interpretation. Within each structured-data source, run fresh catalog or metadata discovery for relevant schemas, datasets, tables, views, models, and metrics. Known sources, tables, dashboards, and semantic mappings are starting points, not stopping points.
  2. Compare duplicates and conflicts. When sources overlap or disagree, compare ownership, freshness, definition, grain, coverage, and directness. Use the best authoritative source, or combine complementary sources when needed. Note material conflicts, explain why the selected source or sources control the answer, and verify selected data through live reads before concluding.

Source Access Guardrail

Before querying sources, building artifacts, or drawing conclusions, determine whether the answer requires a specific source of truth.

If a required source is unavailable, stop that path. Tell the user what source is needed, ask them to make it available or provide a reviewed fallback, and do not treat weaker substitutes as equivalent.

If the missing source is only optional enrichment, continue with the strongest available evidence and label the gap when it materially affects the answer.

Workflow

1. Define The Dashboard Brief

Understand who will use the dashboard, what they need to measure or monitor, which metrics matter, what surface it should live in, and what constraints could change the build.

Clarify only the inputs that materially affect the dashboard, such as the primary audience, measurement goal, metric scope, delivery surface, refresh expectations, required filters, access constraints, or sharing needs. Decide whether the dashboard is mainly for status monitoring, recurring operating review, or analytical exploration, because that changes the layout, filter design, and validation bar.

Use $gather-business-context when dashboard purpose, metric definitions, operating context, audience expectations, or existing dashboard conventions are not clear enough to design the dashboard well.

2. Select The Delivery Surface

Pick the first delivery surface that fits the user's need and available access. If the user specifies the destination or surface, use that instead of the default order.

For positively identified web Work Mode, or any positive Work Mode signal without a positive Codex desktop surface, use this order:

  1. Use a connected BI tool when the user selected it or it clearly owns the destination.
  2. Otherwise use HTML for the dashboard handoff.

Do not choose the MCP artifact app in Work Mode without a positive Codex desktop surface, even if its tools are visible. For all other environments, use the default order below:

  1. Use a connected BI tool by default. Use the BI surface identified from the current request, current-run context, or explicit user preference; if none is specified, look for an available connected BI solution before choosing another surface.
  2. Use the MCP artifact app when a connected BI build is unavailable, too heavy for the request, or the user needs a compact in-Codex analytical dashboard.
  3. Use HTML when BI and MCP are not suitable and the user needs a portable static dashboard.

Use Streamlit only when the user explicitly asks for it or an existing Streamlit app must be changed.

Read the matching specification before building:

  • ../../src/analytics-app-core.md for shared MCP artifact mechanics, source safety, runtime behavior, and validation helpers.
  • specifications/bi-platform-dashboard.md for BI platform dashboards.
  • specifications/mcp-artifact-dashboard.md for dashboards rendered by the MCP artifact app.
  • specifications/html-dashboard.md for portable static HTML dashboards.
  • specifications/streamlit-dashboard.md for Streamlit dashboards.

3. Gather And Validate The Data

Do the data work in this order:

  • Find the source path before rendering. Source discovery is part of dashboard building, not optional enrichment. Identify the source path for the core dashboard metrics. Use ~~structured_data when the dashboard needs data from a warehouse or another structured data source. Use context lanes such as ~~company_docs, ~~team_communication, or ~~dashboards_or_bi when the dashboard needs business meaning, source-of-truth guidance, metric definitions, or requirements that are not captured in structured data alone.
  • Use durable dashboard data. Validate the data before wiring it into the dashboard. Keep final extracts compact and aggregated unless a bounded detail table is part of the dashboard's purpose. Avoid final dashboards that depend on scratch or temporary tables.
  • Validate trust. For straightforward dashboards, confirm the source, grain, freshness, and basic reconciliation needed to trust the displayed metrics. Use $analyze-data-quality when data trust is a material risk, such as a new source, recent backfill, complex join, or surprising result.
  • Resolve time and context anchors. Before selecting metrics, establish any date anchor, comparison window, latest complete data date, source coverage, or authoritative artifact needed to shape the dashboard, such as a launch date, incident window, or campaign period. Use $gather-business-context when the prompt does not provide it. If still unclear, ask only when it would materially change the dashboard; otherwise state the assumption and shape queries around it.
  • Stop if source-backed data is unavailable. Do not render dashboards from fallback, sample, scratch, or partially blocked data unless the user explicitly asked for a mockup. If the core dashboard data is not available, stop the build path and tell the user what source or access is needed. Do not claim a dashboard was created from real data when the source path is missing.

4. Define The Metric Model

Select the metrics.

When selecting dashboard metrics, classify the measurement object and choose a balanced metric model for that object. Do not use a fixed checklist. Identify which metric families are decision-relevant and which are intentionally out of scope.

Consider these metric families as prompts, not required sections:

  • Reach: who or what is using the thing, eligible population, penetration, activation, adoption, coverage.
  • Volume: events, usage, transactions, sessions, requests, units, throughput, frequency.
  • Value: revenue, cost, margin, savings, conversion, retention value, productivity, business outcome.
  • Quality: success, failure, reliability, latency, satisfaction, correctness, safety, support burden.
  • Depth: repeat usage, intensity, feature mix, workflow completion, productionization, maturity, lifecycle stage.
  • Mix: segment, customer type, geography, channel, model/product/version, plan, use case, cohort.
  • Movement: trend, growth, seasonality, pre/post change, benchmark, target, forecast, leading indicators.
  • Risk and constraints: data coverage, source freshness, known blind spots, capacity, compliance, operational limits.

Build breadth without flattening the dashboard.

Build enough metric breadth to cover every family that is relevant to the dashboard's measurement object and decision. Keep the default view hierarchical rather than exhaustive: lead with the primary outcome and the highest-signal drivers, then use sections, tabs, filters, detail tables, or supporting views for additional relevant metrics. A selected family can be represented by one or many KPIs, drivers, guardrails, or breakdowns, depending on what the user needs to monitor or diagnose.

Map the selected families into dashboard roles before building: hero metrics for the default view, diagnostic metrics for movement and breakdowns, guardrails for interpretation, and detail metrics for lookup or follow-up.

Let the decision determine the number of hero metric cards. Do not pad or truncate the set to four—or any preferred count. Give each card one distinct, decision-relevant headline metric. Use chips only for short comparison context tied directly to that headline, such as its prior-period value, target, or delta; move independent secondary measures into their own cards, charts, tables, narrative, or detail views. Keep coherent cards in the same strip; odd counts are valid because the artifact renderer balances rows responsively.

Escalate when metric design is the hard part.

Invoke $design-kpis when this baseline metric-family pass is not enough, such as when the dashboard needs a deeper metric framework, target-setting, formal KPI tradeoff analysis, or clearer definitions than this workflow can safely infer. Pass the dashboard brief, business context, source context, existing metric definitions, and constraints so the recommended metrics fit the audience and use case.

Keep the data model consistent.

Build from a reusable compact data model where possible instead of many slightly different tile queries. Keep date logic, filters, dimensions, and metric definitions consistent across cards, charts, and tables so numbers reconcile. Reuse shared metric definitions from the selected tool or semantic layer when available.

5. Design The Dashboard Layout

Make the default view useful before the viewer interacts. Arrange the dashboard from summary to detail: lead with the key status or primary KPI context, follow with movement over time, then show the breakdowns that explain the pattern, and put detail tables lower on the page when lookup or operational follow-up is needed.

Use global filters only when they materially update the dashboard-wide view. Prefer a few high-signal controls over a dense filter panel. Keep dashboards visual-heavy and neutral: short labels, direct metric names, sparse annotations, and minimal explanatory text on the main canvas. Use human-readable short date form in visible labels and freshness text; keep ISO timestamps for machine-readable source metadata.

Prefer human-readable short date forms in visible labels and tooltips unless the dashboard needs timestamps for operational precision.

6. Choose The Right Charts

Use $visualize-data when the dashboard needs chart selection, visual encoding, or chart polish. This skill should define what each chart needs to communicate; $visualize-data handles the detailed visual design.

Choose the simplest visual that answers the viewer's question. Use a chart when it makes the pattern easier to understand than text or a table.

Put metrics in the same chart only when comparing them directly makes sense. Otherwise, split them into separate charts, KPI cards, or tables.

Use the selected dashboard specification for exact schema, renderer, and interaction requirements.

7. Build And Validate In The Selected Surface

Build in the selected surface using its native patterns. Before handoff, check that the dashboard opens cleanly, filters work, charts render, numbers reconcile, access is handled clearly, and performance is acceptable.

Record the source or query path when it would be hard to rediscover later.

8. Hand Off The Dashboard

Include the dashboard link or local artifact path, source or access caveats, and any remaining sharing or operational steps. Keep routine check details in support artifacts. Do not list internal checks in the user-facing handoff unless a check failed, was unavailable, or produced a user-relevant caveat. For MCP artifact dashboards, follow the validation and render handoff rules in specifications/mcp-artifact-dashboard.md.

Dashboard Quality Bar

Before handoff, make sure the dashboard is usable as a measurement surface:

  • The default view answers the primary audience question before the viewer interacts.
  • Filters are few, meaningful, and work across the surfaces they claim to control.
  • Cards, charts, and tables reconcile unless differences are clearly labeled.
  • Charts answer clear questions with compatible metrics.
  • Tables support lookup, comparison, or operational follow-up after the chart-led summary.
  • The metric set is broad enough for the measurement object: it covers the relevant families with primary outcomes, important drivers, guardrails, and supporting breakdowns while keeping the default view usable.
  • KPI cards are precisely defined: business-defined metrics include enough visible or nearby context for a reader to understand what is counted, over what window, and under what denominator or eligibility rule.
  • Source freshness, access limits, and caveats are visible where they matter.
  • The layout, labels, and performance work for the selected delivery mode.
  • The selected dashboard specification's validation and render rules were followed.

來自 openai 的更多技能

user-context
openai
載入或管理資料分析插件的持久性來源路由偏好設定、入門邏輯、設定進度以及語義層註冊表。
official
notion-research-documentation
openai
研究Notion內容,並將其整合為結構化的簡報、報告或附有引用的比較分析。透過精準查詢搜尋並擷取Notion頁面,然後按主題組織發現,並附上內文來源引用及參考文獻章節。根據範圍與使用者目標,從四種輸出格式(快速簡報、研究摘要、比較分析、綜合報告)中選擇。使用內建範本建立與更新Notion頁面;直接連結來源,並在新資訊到來時追蹤變更。
official
rcsb-pdb-skill
openai
提交精簡的RCSB PDB請求以獲取核心元數據、Search API查詢及FASTA下載。當用戶需要簡潔的RCSB摘要時使用;保存原始JSON或…
official
pdf
openai
PDF 讀取、建立與驗證,支援視覺化渲染與程式化生成。使用 Poppler(pdftoppm)將 PDF 頁面渲染為 PNG,以便在交付前檢查版面、間距與排版。透過 reportlab 程式化生成 PDF,確保格式可靠;使用 pdfplumber 或 pypdf 提取文字與元資料。執行品質標準:無文字裁切、元素重疊、表格破損或渲染瑕疵;僅使用 ASCII 連字號,引用格式需具可讀性。使用...
official
test-coverage-improver
openai
Improve test coverage in the OpenAI Agents JS monorepo: run `pnpm test:coverage`, inspect coverage artifacts, identify low-coverage files and branches, propose…
official
playwright
openai
終端驅動的瀏覽器自動化,具備元素快照與互動式UI工作流程。透過playwright-cli包裝腳本運作(需npx),支援無頭模式與有頭模式以進行視覺化除錯。核心流程:開啟頁面、擷取快照以取得穩定元素參照、使用參照進行互動、在導航或DOM變更後重新擷取快照。包含表單填寫、點擊、輸入、多分頁管理、螢幕截圖/PDF擷取,以及流程除錯的軌跡記錄。元素參照(例如e3、e15)...
official
ukb-topmed-phewas-skill
openai
接受rsID、GRCh37或GRCh38輸入,解析為所需的GRCh38查詢,以獲取單一變異的簡潔UKB-TOPMed PheWAS摘要。當需要…時使用。
official
code-review-context
openai
模型可見上下文
official