複数のアプリやMCPホストからブランド画像・動画を生成、調整、書き出し、挿入する作業を支援します。ライブラリ選択や修正依頼も扱います。
- スライド用のブランド画像を作りたいとき
- 既存素材をフィードバックに合わせて直したいとき
- 動画素材を生成して書き出したいとき
複数のデータソースを安全に照合し、重複を除いて、出典や照合の確かさが分かる分析結果にまとめます。
Use when a question spans multiple sources (warehouse + CRM + support + first-party): stitch identities, remove duplicates, give one answer with per-source provenance.
実行スコア 未検証
インストール方法を見るデータウェアハウス、CRM、サポート履歴、製品分析など、複数の情報源にまたがる質問を整理して分析します。質問に必要な事実ごとに参照元を決め、同じ事実を複数の場所から重ねて取得しないようにします。顧客やアカウントを照合するときは、安定したIDと正規化したメールアドレスの一致を確認し、片方しか使えない場合は確度の低い照合として示します。複数の記録に現れる同一人物やアカウントの重複、結合による件数の水増しにも対処します。大量データは段階的に集計し、最終結果には各数値の出典、対象期間、照合状況、取得できなかった情報を添えます。
顧客の利用状況とサポート履歴をあわせて確認したいときや、複数のシステムに分散した数字を一つの回答にまとめたいときに向いています。多くのアカウントや商談を扱う場合も、分割して調べた結果を統合できます。
分析対象のデータソースが未設定、またはエラーの場合は、その不足を明示します。共有キーがない照合は確定扱いにできません。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Most non-trivial analytics questions touch more than one source: signups in the
warehouse, deals in HubSpot, tickets in a support tool, pageviews in first-party
analytics_events. The failure modes are joining on the wrong key, double
counting the same entity, and presenting a blended number with no traceability.
This skill is the recipe for doing it safely.
For any question about a specific customer account, follow this source order:
Not every source is needed for every question — start with the primary source
and add secondary sources only when the question requires them. But do not
stop at one source for a "deep dive" — at minimum pull CRM + Gong + product
usage for any account health question. Read account-health for the identity
lock and contract-metric rules before querying the warehouse.
Orient before fanning out:
<resource scope="analytics-catalog"> references (else
one find-data) and check data-source status to see
which sources are configured and what each one actually holds.If the metric, time range, or grain is ambiguous and the choice would change the
numbers, use the ask-question clarifying tool once before querying. Skip it
when the dictionary or the user already answered.
Query each source independently with its own provider action/skill. Convert the requested local date range to UTC consistently across every source so the windows line up.
For any provider-api-request call that may return more than a few hundred rows (e.g. Stripe charges, PostHog events, HubSpot contacts), always use staging instead of reading the raw body into the context window:
provider-api-request(
provider: "stripe",
path: "/charges",
query: { limit: 100, created: { gte: 1704067200 } },
stageAs: "stripe_charges",
pagination: { cursorParam: "starting_after", nextCursorPath: "data.-1.id", maxPages: 20 }
)
This writes rows into a scratch dataset and returns only { rowCount, columns, sampleRows } — keeping large payloads out of the context window and avoiding
the 50K-char truncation that silently biases aggregates.
Once staged, run aggregations with query-staged-dataset:
query-staged-dataset(
datasetId: "<id from stageAs result>",
groupBy: ["currency"],
aggregate: [{ column: "amount", op: "sum", as: "total_amount" }, { column: "id", op: "count", as: "n" }]
)
For cross-source joins, stage each source first, then aggregate each independently, and join the resulting summary objects in the final answer rather than trying to join raw rows in the context.
Never invent rows to fill a gap. If a source is unconfigured or errors, record that as a gap and continue with what you have.
When joining records that represent the same person or account across sources, match on BOTH a stable id AND email, not on either alone:
user_id handed to a
new signup; a CRM contact id reused after a merge). Matching on id alone
silently attributes one entity's data to another.Record match quality per join: exact (id + email agree), partial (one key, flagged), or unmatched (kept separate, counted as a gap).
After stitching, collapse duplicates before aggregating:
For analyses spanning 30+ accounts, deals, or calls, do NOT try to hold everything in one pass:
save-analysis or as
agent scratch.This mirrors the memo pattern: fetch → write per-item → synthesize. Use the
files-as-database / save-analysis handoff so each iteration is independent
and the context stays manageable.
Produce a single answer, but make every number traceable:
Example provenance footer:
## Methodology
- Identities: HubSpot contacts (joined to BigQuery on contact_id + lowercased email)
- Usage: BigQuery `analytics.events`, 2026-04-01 .. 2026-05-01 UTC
- Support: Pylon tickets, same window
- Matches: 482 exact (id+email), 31 partial (email-only, flagged), 7 unmatched
- Gaps: Stripe not configured — revenue omitted
When the result is worth re-running, save it via adhoc-analysis with
resultData holding the per-source evidence and the match decisions, so a
re-run reproduces the same stitch.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
複数のアプリやMCPホストからブランド画像・動画を生成、調整、書き出し、挿入する作業を支援します。ライブラリ選択や修正依頼も扱います。
特定の顧客企業について、契約と製品利用の数値を照らし合わせ、根拠や不足情報を明記した健全性レポートをまとめます。
アプリの操作をエージェントと画面の両方から呼び出せるアクションとして実装し、API連携や画面のデータ取得を一貫した形で追加するスキルです。
新機能をUI・エージェント用アクション・説明資料・画面状態の4領域でそろえ、利用者とエージェントのどちらからも一貫して使えるようにするチェックリストです。
複数のデータソースを照合して、傾向や指標、根拠をまとめた分析結果を作成します。必要に応じて、再実行できるダッシュボードとして保存できます。
Analyticsの管理画面で、機能フラグの状態確認と切り替え、ダッシュボード利用状況の調査、接続先アプリのデータベース管理を行います。