dbt-incremental-strategy-auditlisted
Install: claude install-skill yeaight7/agent-powerups
## Purpose
Determine whether a dbt incremental model's chosen strategy is justified, understandable, maintainable, and consistent with repository conventions. The goal is not to praise clever implementations. Default stance: skeptical, low-risk, root-cause oriented, convention-preserving — prefer the simplest correct strategy.
## When to Use
- Reviewing a new or modified `materialized='incremental'` model
- An incremental model shows confusing runtime behavior: unexpected rebuilds, deletes, or reprocessing
- A model deviates from the repo's established incremental conventions without explanation
## Inputs
- The model SQL and its config: `incremental_strategy`, `unique_key`, `partition_by`/`cluster_by`/`partitions`, `pre_hook`/`post_hook`
- Comparable incremental models in the same repo
## Workflow
1. **Understand the repo pattern first.** Inspect similar incremental models and how they configure their strategies:
```bash
grep -rn "incremental_strategy" models/
grep -rln "is_incremental()" models/
```
2. **Explain the actual runtime behavior.** Compile the model and read the SQL that really runs — `is_incremental()` branches make the Jinja source misleading:
```bash
dbt compile --select <model>
# then read target/compiled/<project>/models/.../<model>.sql
```
`is_incremental()` is false when the target table does not yet exist or on `--full-refresh`, so reason through both branches.
3. **Review the full incremental surface:** `materialized