gcp-pipeline-resource-provisioning
Skill240 starsChanged 5 months agoApache-2.0View on GitHub
Automates declarative resource creation and provisioning for data pipelines, supporting BigQuery, Dataform, Dataproc, BigQuery Data Transfer Service (DTS), and other resources. It manages environment-specific configurations (dev, staging, prod) through a deployment.yaml file. Use when: - Modifying or creating deployment.yaml for deployment settings. - Resolving environment-specific variables (e.g., Project IDs, Regions) for deployment. - Provisioning supported infrastructure like BigQuery datasets/tables, Dataform resources, or DTS resources via deployment.yaml. Do not use when: - Resources already exist. - Managing resources not supported by `gcloud beta orchestration-pipelines resource-types list`. - Managing general cloud infrastructure (VMs, networks, Kubernetes, IAM policies), which are better suited for Terraform. - Infrastructure spans multiple cloud providers (AWS, Azure, etc.). - Already uses Terraform for the target resources.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- sid-lakhani/agents-configword for word, first seen Oct 20, 2026
- matt-rabah/sf-ragword for word, first seen Jun 28, 2026
Other versions2 projects use a version of this.
Word for word · 2
- sid-lakhani/agents-config★ 2100% same
- matt-rabah/sf-rag★ 0100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository39 other files it gives its agents.
- accidental-data-loss-preventionSkill
- bigquery-ai-mlSkill
- bigquery-bigframesSkill
- bigquery-data-transfer-serviceSkill
- bigquery-graph-authorSkill
- bigquery-graph-querySkill
- bigquery-observabilitySkill
- bigquery-optimizationSkill
- bigquery-troubleshootingSkill
- bigtable-basicsSkill
- building-data-appsSkill
- cloud-databases-onboardingSkill
- dak-setupSkill
- data-autocleaningSkill
- dataform-bigquerySkill
- dbt-bigquerySkill
- discovering-gcp-data-assetsSkill
- enforcing-resource-attributionSkill
- federate-lakehouse-catalogSkill
- gcp-composer-troubleshootingSkill
- gcp-dataflowSkill
- gcp-data-pipelinesSkill
- gcp-managed-airflow-dag-authoringSkill
- gcp-managed-airflow-migrationsSkill
- gcp-managed-airflow-recommendationsSkill
- gcp-managed-spark-upgradesSkill
- gcp-pipeline-orchestrationSkill
- gcp-spark-observabilitySkill
- gcp-sparkSkill
- gcp-spark-troubleshootingSkill
- gcs-security-assessmentSkill
- google-cloud-storage-basicsSkill
- google-cloud-storage-bucket-architectSkill
- google-cloud-storage-fuseSkill
- managing-python-dependenciesSkill
- ml-best-practicesSkill
- notebook-guidanceSkill
- resolving-mcp-region-configsSkill
- schema-mappingSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Create or update existing deployment.yaml file and deploy resources.
- Distinctive: line 64
Before generating configurations, discover the actual values for the target project, region, environment, and commit SHA.
- Distinctive: line 97
Environment Name: If initialization is needed, you MUST ask the user for the environment name.
- Very specific: line 108
Create or update deployment.yaml in the repository root.
- Distinctive: line 155
Run the following command to deploy the resources to the target environment.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
How to use this skill
Create or update existing deployment.yaml file and deploy resources. All
configuration files MUST be maintained together in the repository root.
Mandatory labels
[!IMPORTANT]
Whenever you generate resource definitions in
deployment.yaml, you MUST directly populate thedatacloudlabel underdefinition.labelsfor every resource to track the source of creation. Determine the value based on your current IDE environment:
- For Antigravity, set
datacloud: "antigravity"- For VS Code, set
datacloud: "vscode"- For any other environment, set
datacloud: "other"Do not use a variable substitution for this label; hardcode the appropriate string value directly into each resource definition (e.g., replacing
__REQUIRED_LABEL__placeholders).Special rule for BigQuery DTS Ingestion: Whenever you generate a
bigquerydatatransfer.transferConfigindeployment.yaml, you MUST also explicitly define its target destinationbigquery.datasetin the same file and apply thedatacloudlabel to it. You must do this even if the dataset already exists, to ensure the destination dataset's labels are patched and updated.
Step 1: Supported Resource Types
The framework supports deploying various GCP resources. To see the comprehensive list of supported resource types, run the following command:
gcloud beta orchestration-pipelines resource-types listRefer to: references/gcp-pipeline-resource-provisioning_spec.md to understand
the template for deployment.yaml.
Step 2: Discover Environment Parameters
Before generating configurations, discover the actual values for the target project, region, environment, and commit SHA.
[!TIP]
If
deployment.yamlalready exists in the repository root, prioritize extractingprojectandregionfrom the target environment configuration (e.g.,dev).
Project ID:
gcloud config get projectProject Number:
gcloud projects describe $(gcloud config get project) --format="value(projectNumber)"Region:
gcloud config get-value compute/regionCommit SHA:
git rev-parse HEAD- Environment Name: If initialization is needed, you MUST ask the user for the environment name. If the user does not provide it, use dev as the default.
[!TIP]
Use these commands to replace placeholders like
YOUR_PROJECT_IDwith actual values. Always remove associated comments that start with TODO once replaced.
Step 3: Generate or update deployment.yaml
Create or update deployment.yaml in the repository root. This file maps
supported environments (dev, stage, prod) to their specific
configurations and resources.
[!TIP]
Use the Reference Spec: The agent can use the
references/gcp_pipeline_resource_provisioning_spec.mdfile as a template. It includes sample definitions for select supported resource types. Copy and adapt the required resource blocks into thedeployment.yaml. Usegcloud beta orchestration-pipelines resource-types listwhen needed.
[!IMPORTANT]
Handling Secrets & Privacy (CRITICAL): NEVER hardcode plain-text secrets in
deployment.yaml.
- Sensitive Data (Secrets): Sensitive information such as passwords, API keys, and other sensitive information MUST be stored in Secret Manager and declared in the
secrets:block ofdeployment.yaml.- Non-Sensitive Data (Variables): General configuration (e.g., dataset names, table IDs, regions) could be declared in the
variables:block.- Substitution via
{{ VAR }}: Bothvariables:andsecrets:MUST be used as{{ VARIABLE_NAME }}substitutions in resource definitions.- No Creation: The agent MUST NOT use the framework to create new secrets. If
gcloudindicates the secret does not exist, the agent MUST ask the user to create it manually and then re-verify.- Reference Only Policy: The agent's role is strictly limited to referencing existing secrets. The agent MUST NEVER read, print, or inspect the values of secrets.
- Safe Deployment: The actual value injection happens during deployment execution. The agent only provides the reference.
- Manual Secret Management: Advise the user to manage secret payloads and versions manually.
Step 4: Validation
The agent MUST validate the deployment.yaml before generating the deployment
script. This ensures the configuration is syntactically correct and all
variables are resolvable.
gcloud beta orchestration-pipelines validate --environment=<ENV_NAME>Step 5: Deployment
Run the following command to deploy the resources to the target environment.
gcloud beta orchestration-pipelines deploy --environment=<ENV_NAME> --local[!NOTE]
If a new transfer is being created, make sure to NOT remove the DTS transfer resource from
deployment.yamlafter it completes the run.
Definition of Done
deployment.yamlexists in the repository root with actual discovered values (no placeholders) and correct resource definitions.- The agent runs the deployment command to perform the deployment, and it executes successfully (exit code 0).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

