Skip to main content

dbt-pr-review

Cloudflare-style AI code review for dbt/SQL pull requests. Produces a signed APPROVE/COMMENT/REQUEST_CHANGES verdict where every blocking finding is backed by a deterministic engine call — column-lineage blast radius, query equivalence, PII classification, and A–F grade. Use to review a dbt PR or the working-tree changes before merge.

Source facts

Repository
AltimateAI/altimate-code
Last source activity
June 1, 2026 at 03:20
Detected SKILL.md language
English
Stars
815
Forks
135

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
dbt-pr-review
description
Cloudflare-style AI code review for dbt/SQL pull requests. Produces a signed APPROVE/COMMENT/REQUEST_CHANGES verdict where every blocking finding is backed by a deterministic engine call — column-lineage blast radius, query equivalence, PII classification, and A–F grade. Use to review a dbt PR or the working-tree changes before merge.
# dbt PR Review ## Requirements **Agent:** `reviewer` (read-only) — also works from `analyst`/`builder`. **Tools used:** `dbt_pr_review` (primary), `impact_analysis`, `altimate_core_equivalence`, `altimate_core_check`, `lineage_check`, read-only `git`. ## When to Use This Skill Use when the user wants to: - Review a dbt pull request (changed models) before merge - Get a single verdict (APPROVE / COMMENT / REQUEST_CHANGES) with evidence - Understand the downstream blast radius of a model/column change - Check whether a "refactor" actually preserves results (query equivalence) - Catch PII exposure, contract breaks, or warehouse-cost anti-patterns pre-merge ## What makes this different from a generic AI reviewer Generic reviewers read the diff as text and guess. This review is backed by the Rust core: every blocking finding carries a deterministic proof (an equivalence counterexample, a downstream-model list, a PII classification). The verdict is **signed** into a replayable envelope keyed to the dbt manifest. ## Workflow 1. **Run the verdict engine.** Call `dbt_pr_review` once: - `dbt_pr_review({})` reviews the working tree against `origin/main`. - `dbt_pr_review({ base: "origin/main", head: "HEAD", manifest_path: "target/manifest.json" })` for an explicit PR range. - The tool reads `.altimate/review.yml` for the per-repo rubric and `mode`. 2. **Read the signed envelope.** It contains the verdict, a risk tier (trivial / lite / full), and findings grouped by severity (critical / warning / suggestion), each with engine evidence. 3. **Present the verdict** exactly as returned. Group findings by severity. If the run is **degraded** (no manifest/warehouse), state that lineage, equivalence, and data-impact were NOT verified — it is a lint-only review. 4. **Respect the safety invariant.** An UNDECIDABLE equivalence result is a WARNING, never a block. Never claim a refactor is unsafe when equivalence could not be decided — recommend a data-diff instead. ## Configuration (`.altimate/review.yml`) ```yaml mode: comment # comment (never blocks) | gate (blocks on REQUEST_CHANGES) severityThreshold: suggestion manifestPath: target/manifest.json dialect: snowflake reviewers: [] # empty = tier defaults; or pin lanes e.g. [lineage_breakage, semantic_change] exclude: - models/legacy/** rubric: blockOn: [lineage_breakage, contract_violation, pii_exposure, semantic_change] warningPatternThreshold: 3 thresholds: warehouseCostMinRows: 1000000 ``` ## Verdict rubric (defaults) - **REQUEST_CHANGES** — any blocking-category `critical` (broken lineage with downstream consumers, contract violation, PII exposure, proven non-equivalent rewrite), or ≥3 warnings (risk pattern). - **COMMENT** — only suggestions, or a single non-blocking warning. - **APPROVE** — no findings. In `comment` mode (default), REQUEST_CHANGES is posted as comments rather than blocking the merge. Switch to `gate` per-repo once you trust the false-positive rate.
View on GitHub