Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Data engineering for batch and streaming pipelines with Airflow, dbt, Spark, and Kafka. Use when designing data architectures, building pipelines, adding data-quality checks, optimizing ETL/ELT, or troubleshooting pipeline failures.
.claude/skills/borghei-senior-data-engineer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | -10% | 0% |
| case-01 | ✗→✓ | ▲ Improved | -18% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 45% | 0% |
Generate pipeline configurations (Airflow, Prefect, Dagster), validate data quality with profiling and anomaly detection, and optimize SQL/Spark performance with actionable recommendations.
Before generating pipelines, confirm these inputs. If any is unknown or vague, ASK — do not assume:
--type; changes the generated DAG code)--source/--destination/--mode; shapes the pipeline)Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
bash# Generate an Airflow DAG for incremental PostgreSQL -> Snowflake python scripts/pipeline_orchestrator.py generate \ --type airflow --source postgres --destination snowflake \ --tables orders,customers --mode incremental --schedule "0 5 * * *" # Validate data quality against a schema python scripts/data_quality_validator.py validate data.csv \ --schema schema.json --detect-anomalies --json # Profile a dataset python scripts/data_quality_validator.py profile data.csv --json # Optimize a slow SQL query python scripts/etl_performance_optimizer.py analyze-sql query.sql \ --warehouse snowflake --json # Estimate query cost python scripts/etl_performance_optimizer.py estimate-cost query.sql \ --warehouse bigquery --stats data_stats.json --json
| Tool | Subcommands | Purpose | |------|-------------|---------| | pipeline_orchestrator.py | generate, validate, template | Generate Airflow/Prefect/Dagster pipeline code, validate DAGs | | data_quality_validator.py | validate, profile, generate-suite, contract, schema | Schema validation, profiling, anomaly detection, Great Expectations | | etl_performance_optimizer.py | analyze-sql, analyze-spark, optimize-partition, estimate-cost, template | SQL/Spark optimization, partition strategy, cost estimation |
All subcommands support --json for machine-readable output and --output for file writing.
Load the reference that matches the task — keep this file lean and pull detail on demand:
| Skill | Integration | |-------|-------------| | senior-data-scientist | Feature engineering consumes curated mart data | | senior-ml-engineer | ML pipelines depend on feature store tables | | senior-devops | CI/CD for dbt, Airflow deployment, container orchestration | | senior-architect | Architecture reviews for lakehouse vs warehouse decisions | | code-reviewer | Pipeline code reviews for DAGs, dbt models, Spark jobs |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-06 | fail→pass | 10,864 | 2,412 | -78% | 1 | 1 | 0% | 1,700 | 1,537 | -10% | 0 | 0 | — |
case-01 | fail→pass | 12,481 | 5,320 | -57% | 1 | 1 | 0% | 2,539 | 2,088 | -18% | 0 | 0 | — |
case-02 | fail→pass | 8,806 | 2,582 | -71% | 1 | 1 | 0% | 1,660 | 1,653 | -0% | 0 | 0 | — |
case-03 | fail→pass | 13,696 | 14,416 | +5% | 1 | 1 | 0% | 2,948 | 4,635 | +57% | 0 | 0 | — |
case-04 | fail→pass | 6,337 | 2,627 | -59% | 1 | 1 | 0% | 1,075 | 1,563 | +45% | 0 | 0 | — |
case-05 | fail→pass | 9,080 | 2,632 | -71% | 1 | 1 | 0% | 1,570 | 1,483 | -6% | 0 | 0 | — |
case-07 | fail→pass | 10,875 | 2,031 | -81% | 1 | 1 | 0% | 2,265 | 1,500 | -34% | 0 | 0 | — |
case-08 | pass→pass | 12,351 | 12,874 | +4% | 1 | 1 | 0% | 2,283 | 3,486 | +53% | 0 | 0 | — |
case-09 | pass→pass | 27,076 | 14,445 | -47% | 1 | 1 | 0% | 2,470 | 3,262 | +32% | 0 | 0 | — |
case-10 | pass→pass | 13,869 | 16,799 | +21% | 1 | 1 | 0% | 2,090 | 3,625 | +73% | 0 | 0 | — |
case-11 | pass→pass | 13,341 | 13,605 | +2% | 1 | 1 | 0% | 2,178 | 3,319 | +52% | 0 | 0 | — |
case-12 | pass→pass | 8,690 | 14,066 | +62% | 1 | 1 | 0% | 1,650 | 3,381 | +105% | 0 | 0 | — |
case-13 | pass→pass | 16,730 | 14,082 | -16% | 1 | 1 | 0% | 2,484 | 3,441 | +39% | 0 | 0 | — |
case-14 | pass→pass | 11,421 | 8,661 | -24% | 1 | 1 | 0% | 1,830 | 2,765 | +51% | 0 | 0 | — |
case-15 | fail→pass | 16,141 | 4,966 | -69% | 1 | 1 | 0% | 2,864 | 1,840 | -36% | 0 | 0 | — |
case-16 | fail→pass | 11,414 | 11,674 | +2% | 1 | 1 | 0% | 1,878 | 3,165 | +69% | 0 | 0 | — |
case-17 | pass→pass | 10,703 | 14,396 | +35% | 1 | 1 | 0% | 1,605 | 3,335 | +108% | 0 | 0 | — |
case-18 | fail→pass | 9,857 | 2,388 | -76% | 1 | 1 | 0% | 1,511 | 1,455 | -4% | 0 | 0 | — |
case-19 | fail→pass | 13,921 | 2,364 | -83% | 1 | 1 | 0% | 1,950 | 1,459 | -25% | 0 | 0 | — |
case-20 | fail→pass | 8,431 | 2,221 | -74% | 1 | 1 | 0% | 1,333 | 1,372 | +3% | 0 | 0 | — |
case-21 | fail→pass | 11,894 | 2,382 | -80% | 1 | 1 | 0% | 1,896 | 1,505 | -21% | 0 | 0 | — |
case-22 | fail→fail | 22,930 | 22,251 | -3% | 1 | 1 | 0% | 4,449 | 5,420 | +22% | 0 | 0 | — |
case-23 | pass→pass | 14,141 | 20,014 | +42% | 1 | 1 | 0% | 3,246 | 5,440 | +68% | 0 | 0 | — |
case-24 | fail→fail | 24,491 | 23,864 | -3% | 1 | 1 | 0% | 5,338 | 6,361 | +19% | 0 | 0 | — |
case-25 | pass→fail | 21,252 | 18,015 | -15% | 1 | 1 | 0% | 4,172 | 4,719 | +13% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted. The headline lift of +48 percentage points is the difference between those two pass rates over the 25 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.