Skip to main content

product-term-rename

Rename dbt product terms across docs.getdbt.com per the finalized naming convention — Fusion/dbt Fusion engine to "dbt v2", dbt Core to "dbt v1", and genuinely product-agnostic uses to "dbt". Use when asked to run the product rename, flip Fusion terminology, apply the v1/v2 naming, or execute the Product Rename Strategy. Handles the constants flip, specific-vs-generic audit, grammar repair, scoped prose edits, raw-string sweep, and verification gates; excludes blogs and release notes, includes upgrade guides.

Zur Installation springen

Quellinformationen

Repository
dbt-labs/docs.getdbt.com
Letzte Quellaktivität
10. September 2026 um 00:50
Erkannte Sprache von SKILL.md
Englisch
Sterne
215
Forks
1.203

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
11 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
product-term-rename
description
Rename dbt product terms across docs.getdbt.com per the finalized naming convention — Fusion/dbt Fusion engine to "dbt v2", dbt Core to "dbt v1", and genuinely product-agnostic uses to "dbt". Use when asked to run the product rename, flip Fusion terminology, apply the v1/v2 naming, or execute the Product Rename Strategy. Handles the constants flip, specific-vs-generic audit, grammar repair, scoped prose edits, raw-string sweep, and verification gates; excludes blogs and release notes, includes upgrade guides.
Rename dbt product terms across the docs, following the finalized naming convention. Mechanical work is deterministic (bundled scripts); the LLM is spent only on prose that needs editorial judgment. ## Core principle — be SPECIFIC, don't collapse Each product renders as a **distinct** term so a reader can always tell which product a sentence refers to. Do **not** collapse everything to bare `dbt` — that makes contrasting sentences render identically ("removed in dbt and in dbt") and hides the specific-vs-generic decision. Instead, constants render the specific product, and `dbt` (generic) is applied **deliberately**, only where a statement is genuinely product-agnostic. ## The naming rules this skill enforces 1. **Fusion / dbt Fusion engine** → **`dbt v2`**. 2. **dbt Core** → **`dbt v1`** (this is the default for `dbt Core` / the `core` constant). 3. **Genuinely product-agnostic** statements (true of dbt regardless of version) → **`dbt`** — applied deliberately, e.g. by switching the occurrence to `<Constant name="dbt" />`. 4. **Inline `v1`/`v2`; `dbt v1`/`dbt v2` only in a header or at the start of a sentence.** 5. **Scope:** exclude blogs and release notes; **include** upgrade guides; everything else in `website/docs/**` and `website/snippets/**` is in scope. 6. **`dbt` is ALWAYS lowercase** — never `Dbt`/`DBT`, even at a sentence/heading start. ## Constants (Layer 1 targets) — edit `website/constants.js` | key | pre-rename value | render as | note | |---|---|---|---| | `fusion` | `Fusion` | **`dbt v2`** | the v2 engine | | `fusion_engine` | `dbt Fusion engine` | **`dbt v2`** | needs article cleanup ("the dbt v2" → "dbt v2") | | `core` | `dbt Core` | **`dbt v1`** | the v1 engine — biggest surface (~585 uses) | | `core_v1` | `dbt Core v1.x` | **`dbt v1`** | | | `core_v2` | `dbt Core 2.0` | **`dbt v2`** | | | `dbt` | `dbt` | `dbt` | generic ONLY — use deliberately | Rendering the specific version resolves the same-sentence collisions at the source (a `core`+`fusion` contrast now reads "dbt v1 … dbt v2" automatically). The Layer 2 prose pass trims constant-adjacent versioned forms to bare `v1`/`v2` inline (rule 4). ## Procedure 1. **Read config.** `config/*.yml`. Confirm target strings with the operator. 2. **Update terminology sources FIRST** so terms can't regenerate — edit the product-name tables in `AGENTS.md` and `contributing/content-style-guide.md` to the corrected mapping: retire the `dbt Core` and `Fusion`/`dbt Fusion engine` rows; add `dbt v1` (formerly dbt Core) and `dbt v2` (formerly Fusion / dbt Core 2.0), each noting `dbt v1`/`dbt v2` at a header or sentence start and bare `v1`/`v2` inline; keep the `dbt` row as **generic only — use deliberately for product-agnostic statements**, not as the default for former dbt Core/Fusion. Also confirm the `<Constant>` examples reference the specific constants. 3. **Scan.** `python3 scripts/scan.py` → `inventory.json`. Print the summary and **HALT**: counts by class, denylist hits, files needing judgment, raw-string residue. 4. **Layer 1 — constants flip.** Set the six values in `website/constants.js` (table above). 5. **Layer 1b — specific-vs-generic audit + grammar fix.** Partition `constant_grammar_risk` records by directory; spawn parallel subagents, one per file. Each: - fixes grammar the flip introduces (esp. `fusion_engine` → "dbt v2": drop the orphan article, "the dbt v2 is" → "dbt v2 is"; remove duplicate nouns); - **audits intent**: if a `core`/`fusion` constant is used *generically* (product-agnostic), switch that occurrence to `<Constant name="dbt" />`; otherwise leave the specific constant. Edit with `Edit`, never `Write`. 6. **Layer 2a — mechanical prose.** `python3 scripts/apply_mechanical.py` (auto_safe only). Deterministic. Run `--dry-run` first. 7. **Layer 2b — judgment prose.** Partition `auto_safe: false` by directory; spawn N≈10 parallel subagents, each with ONLY its slice + `references/*.md`. Apply rules 1–4 and 6. **Term swaps only** — see the editorial guardrail below. 8. **Raw-string sweep.** After edits, `grep` for residual old names — `dbt Core`, `dbt Fusion`, `Fusion engine`, `Fusion` — across scope INCLUDING frontmatter `tags:`, JSX attribute strings, `hoverSnippet`, and pill arrays. These are easy to miss; drive the count to 0 (excluding denylisted identifiers). Confirm pill/body agreement in `_adapters-*.md` (a `pills` array `<Constant name="fusion">` must match the rewritten body). 9. **Verify.** `python3 scripts/verify.py`, then `npm run build` (`onBrokenLinks: throw`) and `vale website/docs website/snippets`. Never proceed on a red gate. 10. **Report.** Files changed, occurrences by class, structural items deferred, generic-vs-specific coin-flips, and any editorial rewrites split out (below). ## Editorial guardrail — term swaps only This is a **mechanical rename**, not a content rewrite. Subagents must change ONLY the product term (and the minimal surrounding grammar to keep the sentence correct). Do **not** add facts, rephrase for style, or introduce new sentences (e.g. "Rust engine", "adapters live in a monorepo", migration prose). Anything that changes meaning belongs in a **separate content-review PR** — flag it, don't apply it here. ## Guardrails - **Never** text-replace anything in `config/never-touch.yml` (CI tokens, repo slugs, `AvailabilityMatrix fusion:` key, component names, release-track values, compound identifiers like `dbt-fusion#123`). - **Never** edit inside `<Constant>` tags (except switching a generic one to `dbt`), code fences, inline backticks, URLs, frontmatter `id`/`slug`, or imports. - **Structural** renames (slugs, redirects, heading anchors) are a **separate PR**. When you must change heading text, preserve the original anchor with an explicit `{#original-anchor}`. - Ship the Vale rule in `references/Terminology.yml` in the same PR so terms can't regress. - Keep PR descriptions light on naming specifics until dbt Summit. ## Targeted / test runs ```bash python3 scripts/scan.py --scope-override "website/docs/docs/dbt-versions/dbt-upgrade/**/*.md" ```
Auf GitHub ansehen