SKILL.md
Mozilla BigQuery Query Writing
For table selection and aggregation hierarchy, see [data-catalog.md](../../knowledge/data-catalog.md). For query templates and best practices, see [query-writing.md](../../knowledge/query-writing.md). For data platform architecture, see [architecture.md](../../knowledge/architecture.md). For external sources (Metric Hub, Confluence, UDF discovery), see [external-sources.md](../../knowledge/external-sources.md).
Guardrails
- Use "clients" or "profiles" not "users" — BigQuery tracks client_id, not actual users
- Do not suggest joining across products by client_id — each product has its own namespace
- Always check for aggregate tables before suggesting raw tables
Workflow
- Identify query type (user counts, specific metric, events, search)
- For standard metrics (DAU, MAU, retention, etc.), look up the authoritative definition and SQL via Metric Hub MCP (
getmetricsql) if available. For broader context on metric calculation logic, check Confluence via Atlassian MCP. If neither is available, use the templates in this plugin's knowledge files. - Select optimal table using the aggregation hierarchy in knowledge/data-catalog.md
- Add required filters per knowledge/query-writing.md
- Write the query following templates in knowledge/query-writing.md
- If BigQuery MCP tools are available (
mcpbigquery*), offer to execute the query directly:
- mcpbigqueryexecutesql to run queries - mcpbigquerygettableinfo to inspect schemas - mcpbigquerylistdatasetids / mcpbigquerylisttableids to explore data - Always include partition filters and sampleid in executed queries