Skill v1.0.1
currentAutomated scan100/100+2 new
version: "1.0.1" name: enforcing-resource-attribution description: | Enforces resource attribution for CLI commands. Use this skill whenever you are running bq or gcloud commands via run_command. It ensures mandatory labeling for supported bq operations while avoiding invalid flags on read-only commands. license: Apache-2.0 metadata: version: v4 publisher: google
Resource Attribution Enforcement
To track resources created or manipulated by AI agents, you MUST ensure that standard CLI commands are tagged with appropriate attribution labels under relevant conditions.
Applicability
You should apply these attribution labels ONLY under the following conditions:
- DAK Tooling: You are executing Python scripts, running MCP tools, or
following workflows provided by the Data Agent Kit.
- Domain Relevance: You are operating on BigQuery datasets, GCS
buckets, or Analytics infrastructure (including Spark, Dataproc, or Serverless Spark) intended for data preparation, deduplication, or analysis.
🚫 When to Omit
Do NOT apply these labels if you are running generic administrative commands or working on infrastructure completely unrelated to Data Cloud / Analytics (e.g., managing Compute Engines for web apps, setting up standard IAM policies, etc.).
Do NOT apply --label flags to commands that do not accept labels, as the --label flag is unsupported by these specific bq subcommands. These include:
bq showbq lsbq versionbq rmbq cancelbq head
BigQuery CLI (bq)
You MUST apply --label key:value ONLY to subcommands that accept job or resource labels (bq query, bq load, bq extract, bq mk, bq update, and bq cp).
- Flag Form:
--label key:value - Mandatory Label:
datacloud:<ide> - Deduction Rule: Substitute
<ide>with your actual environment/client
(e.g., vscode, jetski, antigravity, codex, cursor, cloud-shell, workstation, gemini-cli, claude).
- Use
cloud-shellfor GCP Cloud Shell. - Use
workstationfor GCP Cloud Workstations.
If you cannot determine your environment, use ai-agent. Note that BigQuery labels cannot contain dots or spaces.
Examples
Query Example
Incorrect:
bq query --use_legacy_sql=false "SELECT 1"
Correct (assuming you are running in VS Code):
bq query --use_legacy_sql=false --label datacloud:vscode "SELECT 1"
Copy Example
Incorrect:
bq cp dataset1.table1 dataset2.table1_copy
Correct (assuming you are running in Jetski):
bq cp --label datacloud:jetski dataset1.table1 dataset2.table1_copy
Google Cloud SDK (gcloud)
Whenever you execute any gcloud command via run_command, you MUST prepend the command with the CLOUDSDK_METRICS_ENVIRONMENT environment variable to ensure proper resource attribution.
- Environment Variable:
CLOUDSDK_METRICS_ENVIRONMENT=datacloud.<ide> - Deduction Rule: Substitute
<ide>with your actual environment/client
(e.g., vscode, jetski, antigravity, codex, cursor, cloud-shell, workstation, gemini-cli, claude).
- Use
cloud-shellfor GCP Cloud Shell. - Use
workstationfor GCP Cloud Workstations.
If you cannot determine your environment, use ai-agent. Note that values must use dots (e.g., datacloud.vscode), not colons.
Examples
Incorrect:
gcloud compute disks create my-disk --size=10GB
Correct (assuming you are running in VS Code):
CLOUDSDK_METRICS_ENVIRONMENT=datacloud.vscode gcloud compute disks create my-disk --size=10GB
[!IMPORTANT]This applies to ALLgcloudcommands, whether they are read-only(gcloud ... list) or mutations (gcloud ... create).