Reviewing Data Pipeline Code
SkillDatabases & dataReview data engineering pull requests with a data-specific checklist, idempotency, correct grain, incremental logic, cost impact, data quality tests, PII handling, and backward compatibility, that generic code review misses. Use when reviewing a dbt/SQL/Spark/Airflow PR, a data pipeline change, or a new model, and you want to catch data-correctness and cost issues before merge.
Use Reviewing Data Pipeline Code in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Reviewing Data Pipeline Code and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Reviewing Data Pipeline Code skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by unknown-333/awesome-data-engineering-skills in skills/reviewing-data-pipeline-code/SKILL.md and read by Ahel’s review.
When to use
- Reviewing a PR that changes SQL, dbt models, Spark jobs, or orchestration.
- Adding a new model, transformation, or ingestion step.
- You want to catch data-correctness and cost issues generic review misses.
- Do NOT use for pure application code review (use standard code review).
The data-engineering review checklist
Copy this into the review and check each item:
- [ ] Grain: is the output grain declared and enforced (unique key test)?
- [ ] Idempotency: safe to re-run? upsert/partition-overwrite, not blind append?
- [ ] Incremental: unique_key set? lookback for late data? no missed rows?
- [ ] Correctness: joins can't fan out; NULL/timezone/dedup handled?
- [ ] Tests: unique/not_null/relationships on keys; business-rule checks added?
- [ ] Cost: partition/cluster pruning used? no SELECT *? bounded scans?
- [ ] Backward compat: schema change additive? downstream/exposures considered?
- [ ] PII/security: sensitive fields masked/limited? no secrets in code?
- [ ] Observability: freshness/volume covered for a new critical dataset?
What to look for
- Grain and fan-out. The most damaging bug is a join that multiplies rows. Confirm the grain is declared and a uniqueness test guards it.
- Idempotency. Ask: what happens on retry or backfill? Reject blind
INSERT-append; require MERGE/upsert or partition overwrite. - Incremental logic. Check
unique_key, theis_incremental()filter, and a lookback window so late data isn't dropped. - Cost. In columnar warehouses, look for
SELECT *, function-wrapped partition filters, and unbounded scans — they turn into recurring bills. - Tests + observability. A new critical model without key tests and freshness coverage is a future 2am page.
- PII and secrets. No credentials in code; sensitive columns masked or access-controlled.
- Backward compatibility. Schema changes should be additive; flag renames/ drops and check exposures/downstream models.
Patterns
Ask "what happens on re-run?" for every write path — if the author can't answer, the change probably isn't idempotent.
Trace one row mentally through the change: does the grain hold end to end? Do joins stay 1:1 or intentionally 1:many with correct aggregation?
Diff the compiled SQL for dbt changes to see what actually runs, not just the Jinja.
Common pitfalls (in reviews)
- Approving on style only — LGTM on formatting while a fan-out join ships.
- Missing the retry question — non-idempotent writes pass review and duplicate in production.
- Ignoring cost — a
SELECT *on a huge table is correct but expensive forever. - No test requirement — new keys/models merge without uniqueness/freshness guards.
- Overlooking downstream — a "small" schema change breaks marts/dashboards not visible in the diff.
Signals
- GitHub stars
- 21
- Last commit
- Aug 2026
Advanced
- Item type
- skill
- Key
reviewing-data-pipeline-code- Source
- github.com/unknown-333/awesome-data-engineering-skills
github.com/unknown-333/awesome-data-engineering-skills
Related picks
Skill · unknown-333
The pick for dbtusing-dbt-for-analytics-engineering
Skill · dbt-labs
The pick for dbtApache Spark Optimizer
Skill · a5c-ai
The pick for Sparklark-apps
Skill · larksuite
The pick for Sparkanalytics
Skill · coreyhaines31
More in Databases & datasupabase
Skill · supabase
More in Databases & data