本文へ移動
cccskills
無料GitHub で公開日本語紹介

dashboard-ops

分析ダッシュボードのメールレポートやアラートを配信するため、画像描画、定期実行、通知先、実行環境の設定や不具合を扱います。

原文原文の説明を見る

Deployment and runtime internals for dashboard email reports and analytics alert rules: server-side SVG/PNG report rendering, serverless timing budgets, cron wiring, and notification delivery env vars. Use when configuring, deploying, or debugging report/alert delivery infrastructure — not when just creating a report subscription or alert rule via the action surface.

BuilderIO/agent-nativeスター 7,526(GitHub 7,526 + cccskills 0)
連携ツールSlackNetlify

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • 定期レポートのメール配信を設定したいとき
  • 届かないレポートメールの原因を調べたいとき
  • アラートの通知経路を構成したいとき
  • cronや実行時間の設定を確認したいとき

日本語での紹介

できること

ダッシュボードの定期メールレポートと分析アラートについて、配信を支える実行環境を設定・調査します。レポートはサーバー側で描画され、チャートはSVGからPNGに変換してメールへ添付されます。チャートの文字表示に必要なフォント設定、パネル取得に失敗した場合の扱い、再試行のタイミング、サーバーレス実行時間の上限なども対象です。定期実行の設定や、メール・Slack・Webhookなどの通知経路に必要な環境変数を確認できます。

こんなときに便利

配信を本番環境に導入するとき、定期レポートが届かないとき、アラートの通知先や実行スケジュールを調べたいときに向いています。レポート購読やアラートルールを画面から作成する作業ではなく、その背後の配信基盤を扱います。

使い方の例

  • 「定期レポートのメール配信に必要な設定を確認して」
  • 「アラートのSlack通知が届かない原因を調べて」
  • 「レポート配信のcronと実行時間の設定を説明して」

注意点

メール送信には RESEND_API_KEY または SENDGRID_API_KEY と EMAIL_FROM が必要です。外部cronを使う場合は、種類に応じたcron用シークレットが必要です。Netlifyではスケジュール済みトリガーとバックグラウンド処理を使います。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(1)

  • SKILL.md6.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Dashboard Reports & Alerts Ops

Dashboard email reports (dashboard-report-subscriptions actions) and analytics alert rules (analytics-alert-rules actions) are SQL-backed action surfaces. This skill covers the deployment/runtime machinery behind them — the agent chatting with an end user does not need this; it only needs the action names and the user-facing constraints already in AGENTS.md.

Dashboard Email Report Rendering

  • Scheduled reports render entirely server-side. They do not use a headless browser, Chromium pack download, or the old reportScreenshot=1 embed-session screenshot URL; interactive dashboard screenshot capture remains separate.
  • Each panel's query runs through the same source dispatcher the UI uses (runDashboardPanelQuery), inside the subscription owner's request context, so per-source access scoping (BigQuery/Gong/HubSpot credentials, org scoping) is preserved exactly as if the owner loaded the dashboard.
  • Chart panels are drawn as SVG and rasterized to PNG with @resvg/resvg-js, then embedded in the email as cid: attachments. Fonts come from resolveOgFontFiles() — resvg has no system fonts in a Lambda runtime, so chart text silently renders blank (not an error) unless those bundled font files are passed to it. Never drop that font wiring when touching chart rendering.
  • Non-chart panels (section, metric, callout, table, heatmap) render as real email HTML, not images. extension panels cannot be rendered for email at all and instead link out to the live dashboard.
  • A panel that fails to query renders a visible error card in its place and marks the whole run degraded; a degraded report is never sent or recorded as if it were complete. If every panel fails, nothing is sent and the subscription errors out instead of emailing an empty report.
  • Subscriptions are capped at five distinct recipients (MAX_DASHBOARD_REPORT_RECIPIENTS) — recommend a mailing-list address for larger audiences.
  • The ten-minute retry delay is an eligibility floor, not a guarantee; the */15 sweep runs the retry on its first tick after that floor.
  • The serverless delivery deadline (SERVERLESS_REPORT_DELIVERY_BUDGET_MS in server/jobs/dashboard-report.ts) reserves 220 seconds of the dashboard-report-sweep-background function's 300-second netlify.toml timeout for rendering and delivery, leaving the remainder for cleanup.
  • Netlify processes one subscription per background invocation so every report gets a fresh delivery deadline and first-party queries cannot contend with another report. When due work remains, the worker queues another background invocation immediately and drains the batch sequentially. Long-lived (non-Netlify) runtimes default to a limit of 5, overridable with DASHBOARD_REPORT_SWEEP_LIMIT.

Env Vars

  • DASHBOARD_REPORT_BASE_URL — overrides the dashboard link URL in emails; if unset, falls back to getAppProductionUrl() (the APP_URL / WORKSPACE_OAUTH_ORIGIN / BETTER_AUTH_URL chain).
  • RESEND_API_KEY or SENDGRID_API_KEY plus EMAIL_FROM — required to send the report email at all.
  • DASHBOARD_REPORTS_CRON_SECRET — bearer token external cron callers must send to POST /api/dashboard-reports/run.
  • DASHBOARD_REPORT_SWEEP_LIMIT — overrides the per-tick sweep size on non-Netlify runtimes (see above).

Cron Wiring

  • Netlify builds emit a scheduled trigger plus a background worker from scripts/emit-netlify-dashboard-report-cron.ts, using a per-deploy internal token and disabling the in-process interval scheduler on Netlify to avoid duplicate sends.
  • External cron callers can sweep due reports by POSTing /api/dashboard-reports/run with Authorization: Bearer $DASHBOARD_REPORTS_CRON_SECRET.
  • The same scripts/emit-netlify-dashboard-report-cron.ts script also emits the alert-rule cron trigger plus background worker, running every five minutes on Netlify. Long-lived runtimes use the in-process scheduler unless ANALYTICS_ALERT_JOBS=0 is set.
  • External cron callers can run due alerts by POSTing /api/analytics-alerts/run with Authorization: Bearer $ANALYTICS_ALERTS_CRON_SECRET.

Alert Notification Delivery

Alert notifications use the shared notification channel registry (channels can include inbox, email, slack, webhook, or any custom registered channel):

  • Slack/webhook delivery prefers per-rule metadata.delivery.slackWebhookUrl / metadata.delivery.webhookUrl (uptime monitors store these on the monitor row), then falls back to NOTIFICATIONS_SLACK_WEBHOOK_URL / NOTIFICATIONS_WEBHOOK_URL. Optional NOTIFICATIONS_SLACK_WEBHOOK_AUTH configures Slack auth.
  • Email delivery needs RESEND_API_KEY or SENDGRID_API_KEY plus EMAIL_FROM. Per-rule emailRecipients fall back to NOTIFICATIONS_EMAIL_RECIPIENTS. Saving explicit emailRecipients also remembers them as the current user's defaults for the next alert rule created in Settings.

Users can also view and manage report subscriptions and alert rules in Settings; that UI uses the same action surface as the agent, so no separate implementation is needed there. Alert rules are the Alerts tab on Analytics › General (buildSettingsRoute("app", "alerts")), and the per-user "Email new error alerts" and "Bell sound" switches are on Analytics › Notifications (buildSettingsRoute("notifications")). The agent changes those two with update-analytics-notification-preferences.

Related Skills

  • dashboard-management — the dashboard artifact model these features attach to.
  • integration-webhooks (root) — the general queue-and-processor pattern for outbound webhook delivery.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

a2a-assets

無料概要あり

複数のアプリやMCPホストからブランド画像・動画を生成、調整、書き出し、挿入する作業を支援します。ライブラリ選択や修正依頼も扱います。

  • スライド用のブランド画像を作りたいとき
  • 既存素材をフィードバックに合わせて直したいとき
  • 動画素材を生成して書き出したいとき
BuilderIO/agent-native7,5262026年10月26日 更新

account-health

無料概要あり

特定の顧客企業について、契約と製品利用の数値を照らし合わせ、根拠や不足情報を明記した健全性レポートをまとめます。

  • 顧客の健全性を確認したいとき
  • 契約席数と実利用を比べたいとき
  • 更新前に利用状況を整理したいとき
BuilderIO/agent-native7,5262026年10月26日 更新

actions

無料概要あり

アプリの操作をエージェントと画面の両方から呼び出せるアクションとして実装し、API連携や画面のデータ取得を一貫した形で追加するスキルです。

  • 新しいアプリ操作を追加したいとき
  • 外部APIと連携したいとき
  • 画面からデータを取得したいとき
BuilderIO/agent-native7,5262026年10月26日 更新

adding-a-feature

無料概要あり

新機能をUI・エージェント用アクション・説明資料・画面状態の4領域でそろえ、利用者とエージェントのどちらからも一貫して使えるようにするチェックリストです。

  • 新機能追加の作業範囲を整理したいとき
  • UIとエージェント操作をそろえたいとき
  • 画面状態の同期漏れを防ぎたいとき
BuilderIO/agent-native7,5262026年10月26日 更新

adhoc-analysis

無料概要あり

複数のデータソースを照合して、傾向や指標、根拠をまとめた分析結果を作成します。必要に応じて、再実行できるダッシュボードとして保存できます。

  • 商談と通話記録を照合したいとき
  • 顧客の利用状況を横断して調べたいとき
  • 繰り返し更新できる分析を保存したいとき
BuilderIO/agent-native7,5262026年10月26日 更新

admin-surfaces

無料概要あり

Analyticsの管理画面で、機能フラグの状態確認と切り替え、ダッシュボード利用状況の調査、接続先アプリのデータベース管理を行います。

  • アプリごとの機能フラグを確認・変更したいとき
  • ダッシュボードの所有者や利用状況を調べたいとき
  • 接続済みアプリのテーブルを管理したいとき
BuilderIO/agent-native7,5262026年10月26日 更新

BuilderIO のスキルをすべて見る

このスキルの問題を報告する