agentsclimarketplace

Enforcing resource attribution

Skill gemini-cli-extensions/data-agent-kit-starter-pack/skills/enforcing-resource-attribution

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.From its SKILL.md

Install
npx -y skills add gemini-cli-extensions/data-agent-kit-starter-pack --skill enforcing-resource-attribution

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its file declares

Copied from the file, not written here

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.8 KB, as published. Nobody here has run it

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:

  1. DAK Tooling: You are executing Python scripts, running MCP tools, or following workflows provided by the Data Agent Kit.
  2. 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 show
  • bq ls
  • bq version
  • bq rm
  • bq cancel
  • bq 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-shell for GCP Cloud Shell.
    • Use workstation for 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-shell for GCP Cloud Shell.
    • Use workstation for 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 ALL gcloud commands, whether they are read-only (gcloud ... list) or mutations (gcloud ... create).

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.