[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69901680J13G9ZXKX27VMJ8":3,"skill-same:01M69901680J13G9ZXKX27VMJ8":128},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":34,"publishedAt":55,"linkOnly":56,"markdownContent":57,"markdownBody":58,"frontMatter":59,"refName":63,"commitSha":64,"skillDirectory":65,"forksCount":66,"repositoryHtmlUrl":67,"repositoryHomepageUrl":6,"ownerHtmlUrl":68,"ownerBlogUrl":69,"ownerDescription":70,"updatedAt":71,"install":72,"resources":85},"01M69901680J13G9ZXKX27VMJ8","bigquery-observability",null,"Provides data-retrieval best practices, tool selection guidance, and performant SQL query syntax for BigQuery telemetry across INFORMATION_SCHEMA, Cloud Monitoring, and the REST API. Use when the telemetry to fetch is already known, selecting telemetry tools, writing performant INFORMATION_SCHEMA queries, retrieving telemetry for diagnosing single-job performance bottlenecks, investigating slot contention, job concurrency and queue latency, analyzing reservation capacity, utilization and autoscaling saturation, or auditing capacity-based and on-demand compute and storage resource billable usage. Don't use for root-cause diagnosis or symptom troubleshooting when the cause is unknown (use bigquery-troubleshooting first), or for writing or optimizing business logic SQL (use bigquery-optimization).","google\u002Fskills","google","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1342004?v=4","01M698VYEFDM0VJBZDYYJ2T83S","Google","01M698WR0H76ENHE587T9EJT89",24122,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fbigquery-observability\u002FSKILL.md",[18,23,26,31],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",{"categoryNo":32,"categoryName":33,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000036","内容创作者",[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54],"observability","bigquery","bigquery observability","sql query","sql","diagnosis","concurrency","across","monitoring","api","saturation","query","unknown","when","information","autoscaling","selection","performance","fetch","writing","2026-11-10 10:12:30",false,"---\nname: bigquery-observability\nmetadata:\n  version: \"1.2.2\"\n  category: BigDataAndAnalytics\ndescription: >-\n  Provides data-retrieval best practices, tool selection guidance, and\n  performant SQL query syntax for BigQuery telemetry across INFORMATION_SCHEMA,\n  Cloud Monitoring, and the REST API. Use when the telemetry to fetch is already\n  known, selecting telemetry tools, writing performant INFORMATION_SCHEMA\n  queries, retrieving telemetry for diagnosing single-job performance\n  bottlenecks, investigating slot contention, job concurrency and queue latency,\n  analyzing reservation capacity, utilization and autoscaling saturation, or\n  auditing capacity-based and on-demand compute and storage resource billable\n  usage. Don't use for root-cause diagnosis or symptom troubleshooting when the\n  cause is unknown (use bigquery-troubleshooting first), or for writing or\n  optimizing business logic SQL (use bigquery-optimization).\n---\n\n# BigQuery Observability\n\n## Attribution\n\n**MUST READ**: Before executing any `gcloud`, REST API, or MCP command, you\nMUST read [Usage Attribution](references\u002Fattribution.md). For commands executed\ndirectly in the terminal (never in generated scripts, Terraform, or user code),\nprefix `gcloud` with\n`CLOUDSDK_METRICS_REQUEST_ATTRIBUTION=\"agent-skills\u002F1.0 (skill:bigquery-observability)\"`\nand append `agent-skills\u002F1.0 (skill:bigquery-observability)` to `User-Agent` headers.\n\n## Tool Selection\n\n\u003C!-- mdformat off -->\n\n| Tool | Primary Use Cases | Strengths & Capabilities | When to Avoid \u002F Limitations |\n| --- | --- | --- | --- |\n| **`INFORMATION_SCHEMA` (`I_S`)** | Historical analysis, cohort comparison (`normalized_literals`), discovery of fast\u002Fslow windows, reservation\u002Fproject timelines, multi-job aggregates, cost\u002Fbilling tracing. | Flexible SQL querying across `JOBS`, `JOBS_TIMELINE`, and `RESERVATIONS`; supports custom time windows and grouping. | Avoid for high-frequency real-time polling or single-job point-lookups (can consume slots and take seconds to execute). |\n| **REST API (`jobs.api` \u002F `reservation.api`)** | Single-job point-lookup, real-time stage bottleneck diagnosis, automated pipeline status checks, reservation\u002Fcapacity commitment configuration inspection (`reservations.get`, `reservations.list`). | Zero-SQL overhead, fast REST\u002FCLI point-lookups (`bq show -j`, `bq show --reservation`), instant access to `performanceInsights`, `queryPlan`, and structural metadata. | Avoid for aggregate analysis across thousands of jobs, cross-project historical comparison, or system timeline aggregations. |\n| **`Cloud Monitoring` (Metrics Explorer \u002F Charts)** | Real-time alerting, fleet-wide dashboards, continuous slot utilization tracking, high-level SLA\u002FSLO monitoring. | Out-of-the-box charts for slot utilization, query throughput, `PENDING` queue depth, and execution latency; low-latency alerting without running queries. | Avoid for SQL-level debugging, individual query text inspection, or stage-level execution detail. |\n\n\u003C!-- mdformat on -->\n\n## Prerequisites & Environment Setup\n\nBefore retrieving telemetry or running observability queries, ensure the\nGoogle Cloud environment and project are configured:\n\n1.  **Google Cloud SDK**: Ensure the\n    [Google Cloud SDK](https:\u002F\u002Fcloud.google.com\u002Fsdk\u002Fdocs\u002Finstall) is installed\n    and configured.\n2.  **Project Selection**: Set the active Google Cloud project:\n\n    ```bash\n    gcloud config set project {project_id}\n    ```\n\n3.  **API Enablement**: Ensure the BigQuery and Cloud Monitoring APIs are\n    enabled:\n\n    ```bash\n    gcloud services enable bigquery.googleapis.com monitoring.googleapis.com\n    ```\n\n4.  **Authentication**: Authenticate the environment:\n    *   CLI queries and `bq` commands: `gcloud auth login`\n    *   SDKs and automated client tools:\n        `gcloud auth application-default login`\n    *   Service accounts: Set\n        `GOOGLE_APPLICATION_CREDENTIALS=\"\u002Fpath\u002Fto\u002Fkey.json\"`\n\n5.  **Billing & IAM Roles**:\n    *   Verify an active Google Cloud Billing account is attached to\n        `{project_id}`.\n    *   Ensure appropriate IAM roles:\n        *   `roles\u002Fbigquery.jobUser`: Running telemetry queries.\n        *   `roles\u002Fbigquery.resourceViewer` or `roles\u002Fbigquery.admin`:\n            Organization-level jobs and reservation telemetry.\n        *   `roles\u002Fmonitoring.viewer`: Cloud Monitoring metrics.\n\n6.  **Companion Skills Installation**:\n    This skill is part of a 3-pillar operations suite (`bigquery-observability`,\n    `bigquery-optimization`, `bigquery-troubleshooting`). If any companion skill\n    is not yet installed in your environment, install the full suite:\n\n    ```bash\n    npx skills add google\u002Fskills --skill bigquery-observability --skill bigquery-optimization --skill bigquery-troubleshooting\n    ```\n\n## Workflow\n\n1.  **Single-Job Point-Lookup (Zero-SQL Overhead):** For single-job slowness or\n    inspection, always prioritize the REST API or CLI (`bq show -j`) first. It\n    provides zero-SQL overhead and fast point-lookups for internal stage\n    bottlenecks (`performanceInsights`, `queryPlan`, shuffle spill).\n\n    ```bash\n    bq show --location={location} -j {project_id}:{job_id}\n    ```\n\n2.  **Diagnostic Transition Logic:** If no job-level issues are found (e.g. no\n    clear internal bottlenecks), the investigation should transition to\n    system-level `INFORMATION_SCHEMA` queries (such as `JOBS_TIMELINE` or\n    `RESERVATIONS_TIMELINE`) to check for broader issues like slot contention,\n    queueing delay, or noisy neighbors.\n\n## Best Practices for Writing `INFORMATION_SCHEMA` Queries\n\nEvery query against a BigQuery `INFORMATION_SCHEMA` view must be qualified with\neither a **region qualifier** or a **dataset qualifier**, optionally prefixed by\na **project qualifier**.\n\n### Qualification Syntax & Scope Matching\n\n1.  **Region-Qualified Syntax:**\n\n    ```googlesql\n    `{project_id}`.`region-{region}`.INFORMATION_SCHEMA.{view}\n    ```\n\n    *Example:* `` `my-project`.`region-us`.INFORMATION_SCHEMA.JOBS``\n\n    *Applies to:* Regional telemetry views (`JOBS*`, `JOBS_TIMELINE*`,\n    `RESERVATIONS*`, `CAPACITY_COMMITMENTS*`, `TABLE_STORAGE*`,\n    `STREAMING_TIMELINE*`). The client query execution location MUST match the\n    `region-{region}` qualifier (or BigQuery throws: `Not found: Table\n    {project_id}:region-{region}.INFORMATION_SCHEMA.{view} was not found in\n    location {location}`).\n\n2.  **Dataset-Qualified Syntax:**\n\n    ```googlesql\n    `{project_id}`.`{dataset_id}`.INFORMATION_SCHEMA.{view}\n    ```\n\n    *Example:* `` `my-project`.`analytics`.INFORMATION_SCHEMA.TABLES``\n\n    *Applies to:* Dataset-scoped views (`PARTITIONS`, `SEARCH_INDEXES*`).\n    Never use `region-` with dataset views.\n\n3.  **Dual-Scoped Views:** Views like `TABLES`, `COLUMNS`, `COLUMN_FIELD_PATHS`,\n    `VIEWS`, `ROUTINES`, and `VECTOR_INDEXES` can be qualified with either\n    `{dataset_id}` or `region-{region}` depending on whether dataset or\n    region-wide analysis is required.\n\n4.  **Project Qualifier (`{project_id}`):** Optional. If omitted, queries\n    default to the project in which the query is executing. Specifying a project\n    qualifier on organization-level views (e.g. `JOBS_BY_ORGANIZATION`) has no\n    impact on results.\n\n### Principle of Least Privilege & Scope Selection\n\nWhen constructing `INFORMATION_SCHEMA` queries, **always select the scope and\nview variant with the least IAM permission requirement** that satisfies the\nanalytical need:\n\n1.  **User-Level over Project-Level (`_BY_USER`):** When diagnosing queries or\n    sessions executed by the current user, use `_BY_USER` (e.g. `JOBS_BY_USER`,\n    `SESSIONS_BY_USER`). This requires only `bigquery.jobs.list` (granted via\n    `roles\u002Fbigquery.user` or `roles\u002Fbigquery.jobUser`), avoiding the need for\n    `bigquery.jobs.listAll` or `roles\u002Fbigquery.admin`.\n2.  **Dataset-Level over Region\u002FProject-Level:** When querying table metadata,\n    columns, or views for a specific dataset, qualify with `{dataset_id}` rather\n    than `region-{region}` when project-level metadata access is restricted.\n    Dataset-scoped queries require permissions only on that target dataset.\n3.  **Project-Level over Org\u002FFolder-Level (`_BY_PROJECT`):** Always start with\n    project-scoped views before escalating to `_BY_FOLDER` or\n    `_BY_ORGANIZATION`. Folder and organization queries require broad folder\u002Forg\n    IAM permissions (`bigquery.jobs.listAll` or `bigquery.tables.list` at the\n    Org\u002FFolder node).\n4.  **Metadata Roles over Data Roles:** For table and storage introspection,\n    prefer `roles\u002Fbigquery.metadataViewer` (which provides `bigquery.tables.get`\n    and `bigquery.tables.list`) over `roles\u002Fbigquery.dataViewer` or\n    `roles\u002Fbigquery.dataOwner` when data read access (`bigquery.tables.getData`)\n    is not needed. (Note: `INFORMATION_SCHEMA.PARTITIONS` uniquely requires\n    `bigquery.tables.getData`).\n\n### Execution Guardrails & Query Invariants\n\n*   **Mandatory Partition & Time Filtering:** Always filter on `creation_time`\n    (e.g., `creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 3\n    DAY)`) or `usage_date` to avoid full metadata table scans.\n*   **Script Wrapper Exclusion:** Add `AND (statement_type != 'SCRIPT' OR\n    statement_type IS NULL)` when aggregating compute spend to avoid\n    double-counting parent scripts and child jobs.\n*   **Column Pruning:** Never use `SELECT *` against `INFORMATION_SCHEMA`; only\n    project required columns.\n*   **Dry Run & Cost Estimation:** Use a dry run (`bq query --dry_run\n    --use_legacy_sql=false \"{query}\"` or API `dryRun=true`) before executing\n    complex queries, multi-view joins, or large scans to validate syntax and\n    estimate `totalBytesProcessed` at zero cost.\n*   **Empty Regional Scope (0 Rows):** If the execution location matches the\n    qualifier, but the project has no datasets or jobs in that region, the query\n    succeeds and returns **0 rows**. Never assume 0 rows means 0 usage—always\n    verify the target dataset locations.\n*   **Non-Hierarchical Region Scope:** Region qualifiers are not hierarchical.\n    Multi-regions do not encompass single regions (e.g. `region-us` returns only\n    multi-region `US` metadata and does not include single regions like\n    `region-us-central1`).\n*   **No Multi-Region Aggregation in SQL:** Region qualifiers cannot be joined\n    cross-region in a single query (e.g. `region-us` cannot join `region-eu`).\n*   **Uncached Execution & Minimum Scan Size:** `INFORMATION_SCHEMA` query\n    results are never cached. On-demand queries incur a minimum of 10 MB of data\n    processing charges per execution.\n\n## Domain References & SQL Queries\n\n### Telemetry Query Guides\n\n*   **On-Demand Compute: Billed Bytes**\n    (`references\u002Fcompute_ondemand_billable.md`): Authoritative Golden CTE\n    (`bytes_billed_cte`), timezone-aligned billing date extraction (PST8PDT),\n    BQML CREATE_MODEL 50x multiplier rules, script wrapper deduplication, and\n    row-level security (RLS) masking checks.\n*   **Capacity Compute: Billable Slots & Commitments**\n    (`references\u002Fcompute_capacity_billable.md`): Query templates for auditing\n    billable capacity hours across 1-Year\u002F3-Year commitments, uncovered baseline\n    PAYG slots, and dynamic autoscaling hours.\n*   **Storage Footprints & Usage (Bytes Stored)**\n    (`references\u002Fstorage_footprints.md`): Storage snapshot queries, compression\n    ratio calculations, Time Travel \u002F Fail-Safe churn, daily average GiB\n    time-integrals, billing model evaluation, and search index coverage.\n\n### Performance & Troubleshooting Guides\n\n*   **Job Performance Queries** (`references\u002Fjob_performance_queries.md`):\n    Queries for evaluating individual and aggregate job performance, stage\n    bottleneck flags, comparable jobs via normalized literals\n    (`query_info.query_hashes.normalized_literals`), BI Engine acceleration,\n    metadata cache (cmeta) acceleration, search index usage, materialized view\n    rewrite usage, and execution variance outliers.\n*   **Resource Contention Queries**\n    (`references\u002Fresource_contention_queries.md`): Queries for diagnosing slot\n    contention, queue latency, per-minute concurrency\u002Fqueue timelines, and\n    1-second reservation slot saturation.\n*   **Capacity & Configuration Queries**\n    (`references\u002Fcapacity_and_configuration_queries.md`): Queries for evaluating\n    second-by-second baseline\u002Fmax capacity ceilings, autoscaling saturation\n    timelines, and auditing configuration changes\n    (`RESERVATION_CHANGES_BY_PROJECT`, `ASSIGNMENT_CHANGES_BY_PROJECT`).\n\n### Schema Dictionaries (Column Definitions & Units)\n\n*   **Compute & Capacity Schema Dictionary** (`references\u002Fschema_compute.md`):\n    Complete column dictionary, physical units, and least-privilege IAM roles\n    for all compute, job, session, reservation, capacity commitment, and\n    assignment views (`JOBS*`, `JOBS_TIMELINE*`, `SESSIONS_BY_USER`,\n    `SESSIONS_BY_PROJECT`, `RESERVATIONS*`, `RESERVATION_CHANGES*`,\n    `RESERVATIONS_TIMELINE*`, `CAPACITY_COMMITMENTS*`,\n    `CAPACITY_COMMITMENT_CHANGES_BY_PROJECT`, `ASSIGNMENTS*`,\n    `ASSIGNMENT_CHANGES_BY_PROJECT`).\n*   **Storage & Data Catalog Schema Dictionary**\n    (`references\u002Fschema_storage.md`): Complete column dictionary, physical\n    units, and least-privilege IAM roles for all table storage, partition,\n    column, snapshot, dataset, constraint, and replication views\n    (`TABLE_STORAGE*`, `TABLE_STORAGE_USAGE_TIMELINE*`, `TABLES*`,\n    `TABLE_OPTIONS`, `COLUMNS`, `COLUMN_FIELD_PATHS`, `PARTITIONS`, `VIEWS`,\n    `MATERIALIZED_VIEWS`, `TABLE_SNAPSHOTS`, `TABLE_CONSTRAINTS`,\n    `KEY_COLUMN_USAGE`, `SCHEMATA*`, `SCHEMATA_OPTIONS`, `SCHEMATA_REPLICAS*`,\n    `SCHEMATA_LINKS`, `SHARED_DATASET_USAGE`).\n*   **Platform, Governance & Ingestion Schema Dictionary**\n    (`references\u002Fschema_others.md`): Complete column dictionary, physical units,\n    and least-privilege IAM roles for all remaining views including Access\n    Control (`OBJECT_PRIVILEGES`), Streaming Ingestion\n    (`STREAMING_TIMELINE_BY_PROJECT*`, `WRITE_API_TIMELINE_BY_PROJECT*`),\n    Configuration Options (`PROJECT_OPTIONS*`, `EFFECTIVE_PROJECT_OPTIONS`,\n    `ORGANIZATION_OPTIONS*`, `ORGANIZATION_OPTIONS_CHANGES`), Insights &\n    Recommendations (`RECOMMENDATIONS*`, `INSIGHTS`), and Indexes\u002FBI\n    Engine\u002FRoutines (`SEARCH_INDEXES*`, `SEARCH_INDEX_COLUMNS`,\n    `SEARCH_INDEX_OPTIONS`, `VECTOR_INDEXES*`, `VECTOR_INDEX_COLUMNS`,\n    `VECTOR_INDEX_OPTIONS`, `BI_CAPACITIES`, `BI_CAPACITY_CHANGES`, `ROUTINES*`,\n    `ROUTINE_OPTIONS`, `PARAMETERS`).\n","# BigQuery Observability\n\n## Attribution\n\n**MUST READ**: Before executing any `gcloud`, REST API, or MCP command, you\nMUST read [Usage Attribution](references\u002Fattribution.md). For commands executed\ndirectly in the terminal (never in generated scripts, Terraform, or user code),\nprefix `gcloud` with\n`CLOUDSDK_METRICS_REQUEST_ATTRIBUTION=\"agent-skills\u002F1.0 (skill:bigquery-observability)\"`\nand append `agent-skills\u002F1.0 (skill:bigquery-observability)` to `User-Agent` headers.\n\n## Tool Selection\n\n\u003C!-- mdformat off -->\n\n| Tool | Primary Use Cases | Strengths & Capabilities | When to Avoid \u002F Limitations |\n| --- | --- | --- | --- |\n| **`INFORMATION_SCHEMA` (`I_S`)** | Historical analysis, cohort comparison (`normalized_literals`), discovery of fast\u002Fslow windows, reservation\u002Fproject timelines, multi-job aggregates, cost\u002Fbilling tracing. | Flexible SQL querying across `JOBS`, `JOBS_TIMELINE`, and `RESERVATIONS`; supports custom time windows and grouping. | Avoid for high-frequency real-time polling or single-job point-lookups (can consume slots and take seconds to execute). |\n| **REST API (`jobs.api` \u002F `reservation.api`)** | Single-job point-lookup, real-time stage bottleneck diagnosis, automated pipeline status checks, reservation\u002Fcapacity commitment configuration inspection (`reservations.get`, `reservations.list`). | Zero-SQL overhead, fast REST\u002FCLI point-lookups (`bq show -j`, `bq show --reservation`), instant access to `performanceInsights`, `queryPlan`, and structural metadata. | Avoid for aggregate analysis across thousands of jobs, cross-project historical comparison, or system timeline aggregations. |\n| **`Cloud Monitoring` (Metrics Explorer \u002F Charts)** | Real-time alerting, fleet-wide dashboards, continuous slot utilization tracking, high-level SLA\u002FSLO monitoring. | Out-of-the-box charts for slot utilization, query throughput, `PENDING` queue depth, and execution latency; low-latency alerting without running queries. | Avoid for SQL-level debugging, individual query text inspection, or stage-level execution detail. |\n\n\u003C!-- mdformat on -->\n\n## Prerequisites & Environment Setup\n\nBefore retrieving telemetry or running observability queries, ensure the\nGoogle Cloud environment and project are configured:\n\n1.  **Google Cloud SDK**: Ensure the\n    [Google Cloud SDK](https:\u002F\u002Fcloud.google.com\u002Fsdk\u002Fdocs\u002Finstall) is installed\n    and configured.\n2.  **Project Selection**: Set the active Google Cloud project:\n\n    ```bash\n    gcloud config set project {project_id}\n    ```\n\n3.  **API Enablement**: Ensure the BigQuery and Cloud Monitoring APIs are\n    enabled:\n\n    ```bash\n    gcloud services enable bigquery.googleapis.com monitoring.googleapis.com\n    ```\n\n4.  **Authentication**: Authenticate the environment:\n    *   CLI queries and `bq` commands: `gcloud auth login`\n    *   SDKs and automated client tools:\n        `gcloud auth application-default login`\n    *   Service accounts: Set\n        `GOOGLE_APPLICATION_CREDENTIALS=\"\u002Fpath\u002Fto\u002Fkey.json\"`\n\n5.  **Billing & IAM Roles**:\n    *   Verify an active Google Cloud Billing account is attached to\n        `{project_id}`.\n    *   Ensure appropriate IAM roles:\n        *   `roles\u002Fbigquery.jobUser`: Running telemetry queries.\n        *   `roles\u002Fbigquery.resourceViewer` or `roles\u002Fbigquery.admin`:\n            Organization-level jobs and reservation telemetry.\n        *   `roles\u002Fmonitoring.viewer`: Cloud Monitoring metrics.\n\n6.  **Companion Skills Installation**:\n    This skill is part of a 3-pillar operations suite (`bigquery-observability`,\n    `bigquery-optimization`, `bigquery-troubleshooting`). If any companion skill\n    is not yet installed in your environment, install the full suite:\n\n    ```bash\n    npx skills add google\u002Fskills --skill bigquery-observability --skill bigquery-optimization --skill bigquery-troubleshooting\n    ```\n\n## Workflow\n\n1.  **Single-Job Point-Lookup (Zero-SQL Overhead):** For single-job slowness or\n    inspection, always prioritize the REST API or CLI (`bq show -j`) first. It\n    provides zero-SQL overhead and fast point-lookups for internal stage\n    bottlenecks (`performanceInsights`, `queryPlan`, shuffle spill).\n\n    ```bash\n    bq show --location={location} -j {project_id}:{job_id}\n    ```\n\n2.  **Diagnostic Transition Logic:** If no job-level issues are found (e.g. no\n    clear internal bottlenecks), the investigation should transition to\n    system-level `INFORMATION_SCHEMA` queries (such as `JOBS_TIMELINE` or\n    `RESERVATIONS_TIMELINE`) to check for broader issues like slot contention,\n    queueing delay, or noisy neighbors.\n\n## Best Practices for Writing `INFORMATION_SCHEMA` Queries\n\nEvery query against a BigQuery `INFORMATION_SCHEMA` view must be qualified with\neither a **region qualifier** or a **dataset qualifier**, optionally prefixed by\na **project qualifier**.\n\n### Qualification Syntax & Scope Matching\n\n1.  **Region-Qualified Syntax:**\n\n    ```googlesql\n    `{project_id}`.`region-{region}`.INFORMATION_SCHEMA.{view}\n    ```\n\n    *Example:* `` `my-project`.`region-us`.INFORMATION_SCHEMA.JOBS``\n\n    *Applies to:* Regional telemetry views (`JOBS*`, `JOBS_TIMELINE*`,\n    `RESERVATIONS*`, `CAPACITY_COMMITMENTS*`, `TABLE_STORAGE*`,\n    `STREAMING_TIMELINE*`). The client query execution location MUST match the\n    `region-{region}` qualifier (or BigQuery throws: `Not found: Table\n    {project_id}:region-{region}.INFORMATION_SCHEMA.{view} was not found in\n    location {location}`).\n\n2.  **Dataset-Qualified Syntax:**\n\n    ```googlesql\n    `{project_id}`.`{dataset_id}`.INFORMATION_SCHEMA.{view}\n    ```\n\n    *Example:* `` `my-project`.`analytics`.INFORMATION_SCHEMA.TABLES``\n\n    *Applies to:* Dataset-scoped views (`PARTITIONS`, `SEARCH_INDEXES*`).\n    Never use `region-` with dataset views.\n\n3.  **Dual-Scoped Views:** Views like `TABLES`, `COLUMNS`, `COLUMN_FIELD_PATHS`,\n    `VIEWS`, `ROUTINES`, and `VECTOR_INDEXES` can be qualified with either\n    `{dataset_id}` or `region-{region}` depending on whether dataset or\n    region-wide analysis is required.\n\n4.  **Project Qualifier (`{project_id}`):** Optional. If omitted, queries\n    default to the project in which the query is executing. Specifying a project\n    qualifier on organization-level views (e.g. `JOBS_BY_ORGANIZATION`) has no\n    impact on results.\n\n### Principle of Least Privilege & Scope Selection\n\nWhen constructing `INFORMATION_SCHEMA` queries, **always select the scope and\nview variant with the least IAM permission requirement** that satisfies the\nanalytical need:\n\n1.  **User-Level over Project-Level (`_BY_USER`):** When diagnosing queries or\n    sessions executed by the current user, use `_BY_USER` (e.g. `JOBS_BY_USER`,\n    `SESSIONS_BY_USER`). This requires only `bigquery.jobs.list` (granted via\n    `roles\u002Fbigquery.user` or `roles\u002Fbigquery.jobUser`), avoiding the need for\n    `bigquery.jobs.listAll` or `roles\u002Fbigquery.admin`.\n2.  **Dataset-Level over Region\u002FProject-Level:** When querying table metadata,\n    columns, or views for a specific dataset, qualify with `{dataset_id}` rather\n    than `region-{region}` when project-level metadata access is restricted.\n    Dataset-scoped queries require permissions only on that target dataset.\n3.  **Project-Level over Org\u002FFolder-Level (`_BY_PROJECT`):** Always start with\n    project-scoped views before escalating to `_BY_FOLDER` or\n    `_BY_ORGANIZATION`. Folder and organization queries require broad folder\u002Forg\n    IAM permissions (`bigquery.jobs.listAll` or `bigquery.tables.list` at the\n    Org\u002FFolder node).\n4.  **Metadata Roles over Data Roles:** For table and storage introspection,\n    prefer `roles\u002Fbigquery.metadataViewer` (which provides `bigquery.tables.get`\n    and `bigquery.tables.list`) over `roles\u002Fbigquery.dataViewer` or\n    `roles\u002Fbigquery.dataOwner` when data read access (`bigquery.tables.getData`)\n    is not needed. (Note: `INFORMATION_SCHEMA.PARTITIONS` uniquely requires\n    `bigquery.tables.getData`).\n\n### Execution Guardrails & Query Invariants\n\n*   **Mandatory Partition & Time Filtering:** Always filter on `creation_time`\n    (e.g., `creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 3\n    DAY)`) or `usage_date` to avoid full metadata table scans.\n*   **Script Wrapper Exclusion:** Add `AND (statement_type != 'SCRIPT' OR\n    statement_type IS NULL)` when aggregating compute spend to avoid\n    double-counting parent scripts and child jobs.\n*   **Column Pruning:** Never use `SELECT *` against `INFORMATION_SCHEMA`; only\n    project required columns.\n*   **Dry Run & Cost Estimation:** Use a dry run (`bq query --dry_run\n    --use_legacy_sql=false \"{query}\"` or API `dryRun=true`) before executing\n    complex queries, multi-view joins, or large scans to validate syntax and\n    estimate `totalBytesProcessed` at zero cost.\n*   **Empty Regional Scope (0 Rows):** If the execution location matches the\n    qualifier, but the project has no datasets or jobs in that region, the query\n    succeeds and returns **0 rows**. Never assume 0 rows means 0 usage—always\n    verify the target dataset locations.\n*   **Non-Hierarchical Region Scope:** Region qualifiers are not hierarchical.\n    Multi-regions do not encompass single regions (e.g. `region-us` returns only\n    multi-region `US` metadata and does not include single regions like\n    `region-us-central1`).\n*   **No Multi-Region Aggregation in SQL:** Region qualifiers cannot be joined\n    cross-region in a single query (e.g. `region-us` cannot join `region-eu`).\n*   **Uncached Execution & Minimum Scan Size:** `INFORMATION_SCHEMA` query\n    results are never cached. On-demand queries incur a minimum of 10 MB of data\n    processing charges per execution.\n\n## Domain References & SQL Queries\n\n### Telemetry Query Guides\n\n*   **On-Demand Compute: Billed Bytes**\n    (`references\u002Fcompute_ondemand_billable.md`): Authoritative Golden CTE\n    (`bytes_billed_cte`), timezone-aligned billing date extraction (PST8PDT),\n    BQML CREATE_MODEL 50x multiplier rules, script wrapper deduplication, and\n    row-level security (RLS) masking checks.\n*   **Capacity Compute: Billable Slots & Commitments**\n    (`references\u002Fcompute_capacity_billable.md`): Query templates for auditing\n    billable capacity hours across 1-Year\u002F3-Year commitments, uncovered baseline\n    PAYG slots, and dynamic autoscaling hours.\n*   **Storage Footprints & Usage (Bytes Stored)**\n    (`references\u002Fstorage_footprints.md`): Storage snapshot queries, compression\n    ratio calculations, Time Travel \u002F Fail-Safe churn, daily average GiB\n    time-integrals, billing model evaluation, and search index coverage.\n\n### Performance & Troubleshooting Guides\n\n*   **Job Performance Queries** (`references\u002Fjob_performance_queries.md`):\n    Queries for evaluating individual and aggregate job performance, stage\n    bottleneck flags, comparable jobs via normalized literals\n    (`query_info.query_hashes.normalized_literals`), BI Engine acceleration,\n    metadata cache (cmeta) acceleration, search index usage, materialized view\n    rewrite usage, and execution variance outliers.\n*   **Resource Contention Queries**\n    (`references\u002Fresource_contention_queries.md`): Queries for diagnosing slot\n    contention, queue latency, per-minute concurrency\u002Fqueue timelines, and\n    1-second reservation slot saturation.\n*   **Capacity & Configuration Queries**\n    (`references\u002Fcapacity_and_configuration_queries.md`): Queries for evaluating\n    second-by-second baseline\u002Fmax capacity ceilings, autoscaling saturation\n    timelines, and auditing configuration changes\n    (`RESERVATION_CHANGES_BY_PROJECT`, `ASSIGNMENT_CHANGES_BY_PROJECT`).\n\n### Schema Dictionaries (Column Definitions & Units)\n\n*   **Compute & Capacity Schema Dictionary** (`references\u002Fschema_compute.md`):\n    Complete column dictionary, physical units, and least-privilege IAM roles\n    for all compute, job, session, reservation, capacity commitment, and\n    assignment views (`JOBS*`, `JOBS_TIMELINE*`, `SESSIONS_BY_USER`,\n    `SESSIONS_BY_PROJECT`, `RESERVATIONS*`, `RESERVATION_CHANGES*`,\n    `RESERVATIONS_TIMELINE*`, `CAPACITY_COMMITMENTS*`,\n    `CAPACITY_COMMITMENT_CHANGES_BY_PROJECT`, `ASSIGNMENTS*`,\n    `ASSIGNMENT_CHANGES_BY_PROJECT`).\n*   **Storage & Data Catalog Schema Dictionary**\n    (`references\u002Fschema_storage.md`): Complete column dictionary, physical\n    units, and least-privilege IAM roles for all table storage, partition,\n    column, snapshot, dataset, constraint, and replication views\n    (`TABLE_STORAGE*`, `TABLE_STORAGE_USAGE_TIMELINE*`, `TABLES*`,\n    `TABLE_OPTIONS`, `COLUMNS`, `COLUMN_FIELD_PATHS`, `PARTITIONS`, `VIEWS`,\n    `MATERIALIZED_VIEWS`, `TABLE_SNAPSHOTS`, `TABLE_CONSTRAINTS`,\n    `KEY_COLUMN_USAGE`, `SCHEMATA*`, `SCHEMATA_OPTIONS`, `SCHEMATA_REPLICAS*`,\n    `SCHEMATA_LINKS`, `SHARED_DATASET_USAGE`).\n*   **Platform, Governance & Ingestion Schema Dictionary**\n    (`references\u002Fschema_others.md`): Complete column dictionary, physical units,\n    and least-privilege IAM roles for all remaining views including Access\n    Control (`OBJECT_PRIVILEGES`), Streaming Ingestion\n    (`STREAMING_TIMELINE_BY_PROJECT*`, `WRITE_API_TIMELINE_BY_PROJECT*`),\n    Configuration Options (`PROJECT_OPTIONS*`, `EFFECTIVE_PROJECT_OPTIONS`,\n    `ORGANIZATION_OPTIONS*`, `ORGANIZATION_OPTIONS_CHANGES`), Insights &\n    Recommendations (`RECOMMENDATIONS*`, `INSIGHTS`), and Indexes\u002FBI\n    Engine\u002FRoutines (`SEARCH_INDEXES*`, `SEARCH_INDEX_COLUMNS`,\n    `SEARCH_INDEX_OPTIONS`, `VECTOR_INDEXES*`, `VECTOR_INDEX_COLUMNS`,\n    `VECTOR_INDEX_OPTIONS`, `BI_CAPACITIES`, `BI_CAPACITY_CHANGES`, `ROUTINES*`,\n    `ROUTINE_OPTIONS`, `PARAMETERS`).\n",{"name":5,"metadata":60,"description":7},{"version":61,"category":62},"1.2.2","BigDataAndAnalytics","main","4c6800d20130b5a3233e414609f1241013cec8cc","skills\u002Fcloud\u002Fbigquery-observability",2005,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills","https:\u002F\u002Fgithub.com\u002Fgoogle","https:\u002F\u002Fopensource.google\u002F","Google ❤️ Open Source","2026-11-14 01:51:35",{"source":8,"skillName":5,"commands":73,"prompt":83,"zipAvailable":84},[74,77,80],{"tool":75,"command":76},"npx","npx skills add google\u002Fskills --skill bigquery-observability",{"tool":78,"command":79},"bunx","bunx skills add google\u002Fskills --skill bigquery-observability",{"tool":81,"command":82},"pnpm","pnpm dlx skills add google\u002Fskills --skill bigquery-observability","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fbigquery-observability\u002FSKILL.md",true,[86,92,96,100,104,108,112,116,120,124],{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fattribution.md","REFERENCE","参考文档",1906,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fbigquery-observability\u002Freferences\u002Fattribution.md",{"path":93,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fcapacity_and_configuration_queries.md",6788,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fbigquery-observability\u002Freferences\u002Fcapacity_and_configuration_queries.md",{"path":97,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":98,"sourceHtmlUrl":99},"references\u002Fcompute_capacity_billable.md",6313,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fbigquery-observability\u002Freferences\u002Fcompute_capacity_billable.md",{"path":101,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":102,"sourceHtmlUrl":103},"references\u002Fcompute_ondemand_billable.md",5841,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fbigquery-observability\u002Freferences\u002Fcompute_ondemand_billable.md",{"path":105,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":106,"sourceHtmlUrl":107},"references\u002Fjob_performance_queries.md",11364,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fbigquery-observability\u002Freferences\u002Fjob_performance_queries.md",{"path":109,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":110,"sourceHtmlUrl":111},"references\u002Fresource_contention_queries.md",9569,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fbigquery-observability\u002Freferences\u002Fresource_contention_queries.md",{"path":113,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":114,"sourceHtmlUrl":115},"references\u002Fschema_compute.md",41557,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fbigquery-observability\u002Freferences\u002Fschema_compute.md",{"path":117,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":118,"sourceHtmlUrl":119},"references\u002Fschema_others.md",31818,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fbigquery-observability\u002Freferences\u002Fschema_others.md",{"path":121,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":122,"sourceHtmlUrl":123},"references\u002Fschema_storage.md",35123,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fbigquery-observability\u002Freferences\u002Fschema_storage.md",{"path":125,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":126,"sourceHtmlUrl":127},"references\u002Fstorage_footprints.md",10313,"https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fbigquery-observability\u002Freferences\u002Fstorage_footprints.md",[129,163,192,218,244,269],{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":139,"publishedAt":55},"01M6998S2EZKD3GEJ7F943RZTE","sign-in-with-google-web","Implement, configure, and secure Sign In With Google (SiwG) using Google Identity Services (GIS \u002F `https:\u002F\u002Faccounts.google.com\u002Fgsi\u002Fclient`) across web architectures. Use when creating Google sign-in buttons, implementing Google One Tap with FedCM, integrating GIS in React\u002FNext.js\u002FAngular\u002FHTML, verifying ID tokens on backend runtimes (Python\u002FNode.js\u002FGo\u002FJava), enforcing Google Workspace domain restrictions (`hd`), securing client-side ID tokens via WebCrypto nonces or encrypted IndexedDB, embedding in cross-origin iframes via the Intermediate Iframe API (`https:\u002F\u002Faccounts.google.com\u002Fgsi\u002Fintermediate`), configuring Content Security Policy (CSP), COOP, and Permissions Policy (`identity-credentials-get`) headers, or handling sign-out and revocation. Don't use for legacy Google Sign-In (`gapi.auth2`), Google Cloud IAM service accounts, or Android\u002FiOS native Credential Manager.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fidentity\u002Fsign-in-with-google-web\u002FSKILL.md",[135,138],{"categoryNo":136,"categoryName":137,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[9,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162],"sign in with google web","sign","with","web","android","go","security","google workspace","google cloud","implement","policy","python","implementing","react","iam","permissions","buttons","secure","manager","identity","architectures","domain","runtimes",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":176,"publishedAt":55},"01M6998PHPDCAD684VW5WRG83D","dpop-adoption","Implement and debug OAuth 2.0 DPoP (RFC 9449) refresh token sender-constraining for WebCrypto, Node.js ES6, and browser runtimes integrating with Google's OAuth platform. Use when configuring non-extractable asymmetric key pairs (P-256), generating DPoP Proof JWTs for authorization code exchange and token refresh, or handling 400 use_dpop_nonce challenge retry loops at oauth2.googleapis.com\u002Ftoken. Don't use for unconstrained OAuth 2.0 flows (where refresh tokens are not bound to a client key pair), or for Google Cloud IAM \u002F service account authentication.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fidentity\u002Fdpop-adoption\u002FSKILL.md",[169,170,173],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":171,"categoryName":172,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":174,"categoryName":175,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师",[177,178,9,148,179,180,181,182,183,184,154,185,186,187,188,189,190,159,162,191,48],"dpop adoption","adoption","es6","retry","authentication","flows","challenge","code","browser","loops","at","node","token","pair","platform",{"skillNo":193,"name":194,"nameZh":6,"description":195,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":196,"categories":197,"keywords":204,"publishedAt":55},"01M6998M72TC73EEAQH4XC7EXW","retrieving-developer-knowledge","Searches, retrieves, and synthesizes official Google developer documentation across Google Cloud, AI\u002FGemini, Android, Chrome, Web, Flutter, Go, Firebase, and other Google developer platforms. Integrates with the Developer Knowledge MCP server (search_documents, get_documents, answer_query) or the Developer Knowledge REST API fallback. Use when searching for gcloud CLI commands, API syntax, IAM permissions, official documentation, architectural comparisons, or product choice overviews. Don't use for local filesystem lookups or non-Google documentation.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Fretrieving-developer-knowledge\u002FSKILL.md",[198,199,202,203],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":200,"categoryName":201,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",{"categoryNo":171,"categoryName":172,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":174,"categoryName":175,"taxonomyType":29,"taxonomyTypeDesc":30},[205,206,207,208,148,209,210,211,212,213,214,215,216,48,46,44,42,154,217,155],"retrieving developer knowledge","knowledge","developer","MCP","mcp server","official","developer documentation","get","search","local","choice","documents","documentation",{"skillNo":219,"name":220,"nameZh":6,"description":221,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":222,"categories":223,"keywords":224,"publishedAt":55},"01M6998J2CZEXS9BES9S3WWFKC","migrate-to-rust","Clones, analyzes, plans, and migrates legacy codebases (C++, Fortran, Java, Python, C, Shell) from a GitHub URL or local directory to a modern, high-performance, deterministic, 100% Safe Rust architecture, tracking live telemetry across every task bucket, test failure\u002Ffix cycle, and Profile-Guided Optimization (PGO) stage, and producing a first-person AI storytelling report and interactive HTML infographic. Use when migrating a GitHub repository or local codebase to Rust, porting legacy C++, Fortran, Python, or Java workloads to memory-safe Rust, designing Struct-of-Arrays (SoA) or SIMD Rust architectures, or optimizing Rust ports with LLVM PGO. Don't use for unrelated non-Rust refactoring or single-line syntax questions.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Fmigrate-to-rust\u002FSKILL.md",[],[225,226,227,228,229,52,230,231,151,232,233,234,235,236,237,214,238,239,240,48,241,242,42,243],"migrate to rust","rust","migrate","github","memory","directory","safe","ports","llvm","soa","cycle","porting","fix","arrays","infographic","high-performance","URL","architecture","unrelated",{"skillNo":245,"name":246,"nameZh":6,"description":247,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":248,"categories":249,"keywords":253,"publishedAt":55},"01M6998GCC3K29WZ82KXMB9E02","finding-google-skills","Google platform decision and setup guidance, loaded on demand from Google's skill catalog. Use when a developer is choosing or setting up part of their stack, such as where to run a service, a database, storage, messaging, authentication, analytics, ads, or AI model serving, and a Google product is a reasonable candidate - whether or not a vendor is named - or when a request names a Google product or API. Brings in the matching Google skill so the answer can weigh Google options, their trade-offs, and when they are not the right fit. Skip when the stack is already settled on another provider and no Google product is named, or the task involves no platform choice.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fdevelopers\u002Ffinding-google-skills\u002FSKILL.md",[250,251,252],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":171,"categoryName":172,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":174,"categoryName":175,"taxonomyType":29,"taxonomyTypeDesc":30},[9,254,255,256,257,191,258,259,260,261,262,181,263,264,265,215,266,267,48,268,44],"finding google skills","storage","as","messaging","model","trade-offs","provider","answer","fit","catalog","up","decision","use","database","candidate",{"skillNo":270,"name":271,"nameZh":6,"description":272,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":273,"categories":274,"keywords":277,"publishedAt":55},"01M6998DWNHTH0BS6W1CY8ZXMP","workload-manager-basics","Use this skill to manage Google Cloud Workload Manager evaluations, rules, scanned resources, and validation results by using public client libraries and the REST API. Use when you need to inspect workload best-practice rules, create and run evaluations for Google Cloud general best practices, SAP, SQL Server, or custom organizational rules, review violations, export results to BigQuery, or automate Workload Manager through client libraries because no service-specific public CLI or MCP server is available. Don't use for general Google Compute Engine instance management, VPC configuration, or standard IAM auditing.","https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fcloud\u002Fworkload-manager-basics\u002FSKILL.md",[275,276],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":171,"categoryName":172,"taxonomyType":21,"taxonomyTypeDesc":22},[278,279,158,280,9,208,281,148,209,282,283,284,285,48,286,44,154,287,288,289,290],"workload manager basics","workload","basics","cli","review","vpc","resources","inspect","you","create","libraries","server","run"]