Gcp live bigquery dataset deletion guard
Skill Raishin/vanguard-frontier-agentic/skills/gcp/gcp-live-bigquery-dataset-deletion-guard
Curated marketplace of AI skills, agents, and rules for cloud, zero-trust, and compliance-aware engineering - works with Claude Code, Codex, Cursor, Copilot, and more.
npx -y skills add Raishin/vanguard-frontier-agentic --skill gcp-live-bigquery-dataset-deletion-guardAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 18 stars18 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Gate BigQuery dataset deletion, table truncation, and authorized view changes against a full downstream dependency audit and export confirmation. Dataset deletion is immediate and permanent with no recycle bin — this guard ensures no dataset is deleted without enumerating all tables, scheduled queries, Data Transfer jobs, Looker connections, and Dataflow pipelines that depend on it.
SKILL.md
6.1 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
GCP Live BigQuery Dataset Deletion Guard
Purpose
Act as the guarded live GCP operator for gcp-live-bigquery-dataset-deletion-guard work. Gate every BigQuery dataset deletion, table truncation, and authorized view change with a complete downstream dependency audit and export confirmation. Dataset deletion in BigQuery is immediate and permanent — there is no recycle bin, and all downstream pipelines break the moment the dataset is gone.
When to Use
Use this skill when:
- A BigQuery dataset is being deleted or a request to delete one is received
- A BigQuery table is being truncated (all rows deleted, schema preserved)
- An authorized view configuration is being changed or removed
- A scheduled query referencing the dataset needs to be decommissioned first
- A Data Transfer Service job is being removed alongside its target dataset
- An operator needs to enumerate all resources and dependencies before a BigQuery decommissioning
When NOT to Use
Do not use this skill when:
- The task is creating a new dataset or table with no existing data at risk
- The task is a read-only schema inspection or data quality audit with no deletion intent
- The task involves Cloud Storage, Cloud SQL, or other non-BigQuery data stores
- The task is modifying query logic or views without deleting any underlying data
Pre-Flight Checklist
Before executing any BigQuery deletion or truncation, verify all of the following:
- Dataset identity confirmed — run
bq show --format=prettyjson <PROJECT>:<DATASET>and confirm the dataset name, project, and location match the intended target. - Dataset inventory captured — run
bq ls <PROJECT>:<DATASET>to enumerate all tables, views, and external tables. Document the table count and total bytes stored. - Scheduled queries audited — run
bq ls --transfer_config --transfer_location=<LOCATION> --project_id=<PROJECT>to list all scheduled queries and Data Transfer jobs that reference this dataset. - Authorized views audited — check all authorized views that grant access to this dataset; identify any cross-project views that will break.
- Downstream pipeline dependencies confirmed — check Dataflow jobs, Looker/Looker Studio connections, and any application code that references the dataset for active dependencies.
- Export/backup confirmed — for production datasets, confirm that a full export to Cloud Storage (Avro, Parquet, or JSON) has been completed and verified before deletion is authorized.
- Data retention policy reviewed — confirm there are no legal hold, compliance retention, or regulatory requirements that prevent deletion.
Required Confirmation
The operator must explicitly state all of the following before any deletion is executed:
- "I confirm the target is dataset
<DATASET_ID>in project<PROJECT_ID>, location<LOCATION>." - "I have reviewed the dataset inventory:
<N>tables,<N>views, approximately<X>bytes." - "I have audited downstream dependencies and confirmed all scheduled queries and DTS jobs have been decommissioned or will tolerate this deletion."
- "I confirm that an export/backup has been completed (or that no backup is required with documented justification)."
- "I approve this deletion."
Execution Steps
- Capture full dataset inventory and downstream dependency audit.
- Confirm active principal has
roles/bigquery.dataOwnerfor the target dataset. - Present the dataset inventory, dependency findings, and export status to the operator for explicit approval.
- Execute the mutation:
- Delete dataset (with all contents):
bq rm -r -f <PROJECT>:<DATASET> - Delete a single table:
bq rm -f <PROJECT>:<DATASET>.<TABLE> - Truncate a table (delete all rows):
bq query --nouse_legacy_sql 'TRUNCATE TABLE \<PROJECT>.<DATASET>.<TABLE>`'` - Update authorized views:
bq update --source <JSON_FILE> <PROJECT>:<DATASET>
- Delete dataset (with all contents):
- Confirm the deletion is reflected with
bq ls <PROJECT>:(dataset should not appear).
Rollback Procedure
- Dataset deletion (NOT reversible): BigQuery dataset deletion is immediate and permanent. There is no recycle bin. If deletion was accidental, the only recovery path is restoring from a Cloud Storage export.
- Table deletion (partially recoverable): If the table had a default expiration set, it may appear in the BigQuery
__TABLES__metadata with an expiration timestamp — but this does not allow recovery after deletion. - Table truncation (NOT reversible without backup): Truncation removes all rows. Recovery requires restoring from an export or a snapshot.
- For accidental deletion, immediately open a GCP Support case and provide the dataset resource path and deletion timestamp from Cloud Audit Logs.
Post-Change Verification
- Run
bq ls <PROJECT>:— confirm the deleted dataset no longer appears. - Check Cloud Audit Logs for the deletion event:
gcloud logging read 'protoPayload.methodName="google.cloud.bigquery.v2.DatasetService.DeleteDataset"' --limit=5 --project=<PROJECT>. - Monitor scheduled query runs in the 24 hours following deletion — confirm no pipeline failures are attributed to the deleted dataset.
- Check Dataflow job logs and Looker connection health for any errors referencing the deleted dataset.
Response Shape
- Project and dataset identity confirmation
- Dataset inventory (tables, views, routines, bytes stored)
- Downstream dependency audit (scheduled queries, DTS jobs, authorized views)
- Export/backup confirmation before deletion
- Approval status
- Executed deletion or truncation action
- Post-change pipeline impact verification