debugging-dbt-errors — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited debugging-dbt-errors (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Read the full error. Check upstream first. ALWAYS run `dbt build` after fixing.
dbt compile --select <model_name>
# or
dbt build --select <model_name>Read the COMPLETE error message. Note the file, line number, and specific error.
Before fixing "wrong output" or "incorrect results", query the actual data:
# Preview current output
dbt show --select <model_name> --limit 20
# Check specific values with inline query
dbt show --inline "select * from {{ ref('model_name') }} where <condition>" --limit 10
# Compare with expected - look for patterns
dbt show --inline "select column, count(*) from {{ ref('model_name') }} group by 1 order by 2 desc" --limit 10Understand what's wrong before attempting to fix it.
cat target/compiled/<project>/<path>/<model_name>.sqlSee the actual SQL that will run.
| Error Type | Look For |
|---|---|
| Compilation Error | Jinja syntax, missing refs, YAML issues |
| Database Error | Column not found, type mismatch, SQL syntax |
| Dependency Error | Missing model, circular reference |
# Find what this model references
grep -E "ref\(|source\(" models/<path>/<model_name>.sql
# Read upstream model to verify columns
cat models/<path>/<upstream_model>.sqlMany errors come from upstream changes, not the current model.
Common fixes:
| Error | Fix |
|---|---|
| Column not found | Check upstream model's output columns |
| Ambiguous column | Add table alias: table.column |
| Type mismatch | Add explicit CAST() |
| Division by zero | Use NULLIF(divisor, 0) |
| Jinja error | Check matching {{ }} and {% %} |
dbt build --select <model_name>3-Failure Rule: If build fails 3+ times, STOP. Step back and:
# Preview the data
dbt show --select <model_name> --limit 10
# Run tests
dbt test --select <model_name>After fixing, re-read the original request and verify:
# Find downstream models
grep -r "ref('<model_name>')" models/ --include="*.sql"
# Rebuild downstream
dbt build --select <model_name>+{{ }} and {% %}target/compiled/~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.