From wire
Proactive skill for triaging and fixing dbt Core → dbt Fusion migration errors. Auto-activates when a user mentions Fusion, dbt-autofix, MiniJinja errors, or dbt-core deprecation warnings. Classifies errors into 4 categories (auto-fixable, guided, needs input, blocked) and guides progressive resolution. Distinct from dbt-migration skill which covers cross-platform migrations (BigQuery/Snowflake/Databricks).
npx claudepluginhub rittmananalytics/wire-plugin --plugin wireThis skill uses the workspace's default tool permissions.
dbt Fusion is the new Rust-based dbt runtime that is becoming the default execution engine. It is significantly faster than dbt Core but introduces breaking changes through stricter SQL parsing, MiniJinja (vs Jinja2), and a new static analysis layer.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
dbt Fusion is the new Rust-based dbt runtime that is becoming the default execution engine. It is significantly faster than dbt Core but introduces breaking changes through stricter SQL parsing, MiniJinja (vs Jinja2), and a new static analysis layer.
This skill guides the migration of a dbt Core project to Fusion using a triage-first, progressive-fix workflow. Not all errors are user-fixable — some require Fusion engine updates. The goal is to classify clearly, fix what is fixable, and document what is blocked.
Important distinction: This skill is for the dbt Core → Fusion runtime upgrade. For cross-platform migrations (Snowflake → BigQuery, BigQuery → Databricks, etc.), use the dbt-migration skill instead.
Keywords: "dbt Fusion", "dbt-autofix", "MiniJinja", "dbt-core deprecation", "static analysis", "dbtf", "Fusion migration", "dbt1501", "dbt1000"
Activate when you see:
dbt0xxx / dbt1xxx / dbt8xxx range in dbt outputRUST_BACKTRACE or panic! in dbt error outputuvx dbt-mcp or dbtf commandsnot yet implemented: Adapter::method in error outputdbt debugBefore anything else, offer to run dbt debug to verify the connection works on Fusion:
dbt debug
Check for:
Connection test: OK — if not, fix credentials before proceeding (this is a config issue, not a Fusion migration issue)profiles.yml profile and targetIf dbt debug fails on connection/auth, help fix profiles.yml first.
Before classifying any errors, ensure dbt-autofix has been run. It automatically fixes the most common deprecation patterns:
uvx --from git+https://github.com/dbt-labs/dbt-autofix.git dbt-autofix deprecations
After autofix runs, review what it changed:
git diff HEAD~1
Key things to understand before proceeding:
meta:?Some migration errors may be caused by autofix bugs. Understanding the diff prevents double-fixing or conflicting edits.
Run the project to surface errors. Default repro command:
dbt compile --quiet
If the user specifies a different command (e.g. dbt build, dbt test --select tag:ci), use that instead.
warn_if='{{ "text" }}'config.require('meta').key → config.meta_require('key').meta_get() error (dbt1501): dict.meta_get() → dict.get()meta:static_analysis: off for the model--models/-m → --select/-sSELECT 1 or a column listref(), source(), or external tableanalyses/ queries: ask if the analysis is actively used or can be disabledWhen an error is Category D:
github.com/dbt-labs/dbt-fusion/issuesCategory D signals:
panic! / internal error / RUST_BACKTRACE in outputnot yet implemented: Adapter::methodgithub.com/dbt-labs/dbt-fusion/issuesStart your analysis summary with the autofix context:
Autofix Review:
Files changed: X
Key changes: [brief summary — e.g. "moved 3 custom config keys to meta:"]
Potential autofix issues: [if any detected]
Analysis Complete — Found X errors
Category A (Auto-fixable): Y issues
[list]
Category B (Guided fixes — need approval): Z issues
[list with file names]
Category C (Needs your input): W issues
[list with options to choose]
Category D (Blocked — Fusion fix required): V issues
[list with GitHub issue links if known]
Recommendation: [next action]
After classification, fix in order:
Critical rule: After EVERY fix, re-run the repro command — not just dbt parse. Fixing one error often reveals cascading errors underneath. This is normal — report and classify the new errors.
Track progress:
Progress Update:
Resolved: 5 (2 auto-fixed, 3 guided fixes approved)
Pending your input: 2
Blocked on Fusion: 3 (issue links provided)
Next: [what to do]
dbtf)Fusion installs as ~/.local/bin/dbt. If you have dbt Core in a venv, running dbt uses Core. Use dbtf or the full path to explicitly invoke Fusion:
dbtf compile
dbtf build --select my_model
~/.local/bin/dbt build --select my_model # alternative
Static analysis (Fusion-only): override for models with dynamic SQL or unrecognised UDFs:
dbtf run --static-analysis=off
dbtf run --static-analysis=unsafe
not yet implemented errors as Category D.merge_sources macro uses Jinja heavily. MiniJinja differences may surface here — classify as Category D if they involve unsupported Jinja2 features.profiles.yml at the project root or ~/.dbt/profiles.yml. Confirm which is active with dbt debug.