gcp-data-engineering
Skill30 starsChanged 4 days agoApache-2.0View on GitHub
Guides architecture decisions for data pipelines on Google Cloud — lake/warehouse/lakehouse design, batch vs. streaming, orchestration tool selection (Dataform, Cloud Composer/Airflow, Dataflow/Beam), and BigQuery cost/performance tuning (partitioning, clustering, slots). Use when designing a new pipeline, choosing a GCP data service, or optimizing BigQuery cost/performance.
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
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 38
Fail-Honest CLI Gate: Run dataform compile and bq query --dry_run.
- Very specific: line 50
Host Execution: Run bq and dataform via shell (Bash in Claude Code.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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
GCP Data Engineering Skill
Overview
Guides architectural decisions for data pipelines, Medallion lakehouses, and analytical storage on Google Cloud Platform (GCP). Balances data volume, SLA freshness, operational simplicity, and cloud cost—prioritizing warehouse-native ELT (Dataform, BigQuery) over custom streaming (Dataflow/Beam) unless sub-minute SLAs apply, while enforcing capability-gated artifacts and fail-honest CLI verification.
When to Use
Trigger Scenarios
- Designing GCP lakehouse platforms (Cloud Storage, BigQuery, Datastream, Pub/Sub, Dataform, Composer).
- Selecting batch vs. log-based CDC vs. streaming ingestion and Dataform vs. Composer vs. Dataflow orchestration.
- Designing BigQuery partitioning, clustering, and Medallion layers (
Bronze→Silver→Gold).
When NOT to Use
- CDC & SCD Type 2 merge patterns: Route to
cdc-scd-patterns. - Slow/expensive BigQuery SQL plan tuning: Route to
bigquery-query-optimization. - Single-node RDBMS SQL tuning: Route to
sql-query-optimization. - Application backend code: Route to
python-expert.
Process
Phase 1: Capability-Gated Planning & Target AGENTS.md
- Maintain root
AGENTS.md(<= 90 lines) linkingdataform/bqcommands andcontext/memory/MEMORY.md. - Author
PLAN.md(<= 50 lines) gating artifacts individually:docs/<feature-name>/data-contracts.md(<= 60 lines): ONLY IF new/modified schemas or SLAs are introduced; SKIP if schemas exist.docs/<feature-name>/pipeline-lineage.md(<= 45 lines): ONLY IF multi-layer Bronze/Silver/Gold flows change; SKIP for single-mart edits.- Delegate
sql-query-optimizerONLY IF large partitioned scans or multi-table JOIN/window shuffle risks exist; invoke Tier 3Data ChallengerONLY IF CDC/SCD-2 merges, late-arriving dedup, or destructive/backfill logic changes.
Phase 2: Medallion Storage, Ingestion & Orchestration
- Storage Layers: GCS immutable raw landing zone + BigQuery Medallion tables:
Bronze(append-only raw/CDC),Silver(deduplicated, typed, SCD-2),Gold(BI star marts). - Ingestion (Default Batch): Scheduled loads (GCS/Dataform/Composer); Datastream for operational DB CDC; Pub/Sub → BigQuery (or Dataflow only when windowed stream joins/non-SQL code are required).
- Orchestration: Dataform for warehouse-native SQLX & assertions; Cloud Composer only for cross-service DAGs.
Phase 3: BigQuery Cost Governance & Fail-Honest Verification
- Partition & Cluster: Partition by date/timestamp or ingestion time (
require_partition_filter = trueon large tables); cluster up to 4 selective filter/join columns; prune columns (neverSELECT *). - Fail-Honest CLI Gate: Run
dataform compileandbq query --dry_run. If CLI binaries or GCP ADC credentials fail/missing, STOP and reportBLOCKED: Not executed — <exact CLI error>—never fabricate byte counts or compile success. - Standardized Test Matrix (
docs/<feature-name>/data-test-matrix.md <= 75 lines): Record IEEE/ISTQB test cases (TC-01...) withID,Ref,Level,Objective,Steps,Expected Result,Assertion / Query, andStatus.
Usage
# Estimate scanned bytes via BigQuery dry-run
bq query --use_legacy_sql=false --dry_run "SELECT id, created_at FROM \`my_project.analytics.events\` WHERE event_date = '2026-09-01'"
# Compile Dataform dependency graph (scoped or full)
dataform compile --actions silver_orders
dataform compile- Host Execution: Run
bqanddataformvia shell (Bashin Claude Code;run_commandin Antigravity) and persist contracts/SLAs tocontext/memory/MEMORY.md.
Red Flags
- Fabricating
bq query --dry_runbyte counts or pretendingdataform compileran when CLI/ADC credentials fail instead of reportingBLOCKED: Not executed — <exact CLI error>. - Using Dataflow/Kafka when batch/Datastream meets SLAs, or Composer for SQL-only transforms Dataform handles natively.
- Querying
SELECT *or raw CDC tables without partition filters or a Silver deduplication layer.
Verification
- Root
AGENTS.md(<= 90 lines),PLAN.md(<= 50 lines), and capability-gateddocs/<feature-name>/artifacts respect line caps. - Tables define explicit partitioning (
require_partition_filter = true) and clustering keys acrossBronze/Silver/Gold. dataform compileandbq query --dry_runexit0, OR execution halts honestly withBLOCKED: Not executed — <exact CLI error>.docs/<feature-name>/data-test-matrix.md(<= 75 lines) documentsTC-01... withID,Ref,Level,Objective,Steps,Expected Result,Assertion / Query, andStatus.
References
- GCP Data Stack Reference
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- rk-chavali/gcp-de-skills★ 0same name
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 repository40 other files it gives its agents.
- AGENTS.mdAGENTS.md
- adversarial-challengerSkill
- agent-metricsSkill
- bigquery-query-optimizationSkill
- blackbox-testerSkill
- build-and-ci-gatesSkill
- cdc-scd-patternsSkill
- code-criticSkill
- code-implementerSkill
- code-smells-expertSkill
- commit-expertSkill
- compliance-verifierSkill
- context-captureSkill
- context-restoreSkill
- database-migration-expertSkill
- design-spec-expertSkill
- documentation-expertSkill
- flutter-architecture-decisionsSkill
- flutter-performance-profilingSkill
- flutter-release-engineeringSkill
- flutter-review-checklistSkill
- flutter-senior-orchestrationSkill
- flutter-test-strategySkill
- flutter-upgrade-migrationSkill
- guidelines-karpathySkill
- loop-engineeringSkill
- performance-scalabilitySkill
- product-analystSkill
- pull-request-expertSkill
- python-expertSkill
- qa-testerSkill
- refactoring-code-expertSkill
- repo-researchSkill
- security-auditSkill
- senior-architect-engineeringSkill
- senior-dev-orchestratorSkill
- sql-query-optimizationSkill
- test-driven-developmentSkill
- testing-expertSkill
- ui-ux-designerSkill
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.

