← ClaudeAtlas

build-dbt-modellisted

Skill builder. Reads your existing dbt models to extract the company's actual best practices — naming, layering, tests, materialisations, SQL style — then interviews your team about the rules the code cannot show, and generates a custom /new-model skill that scaffolds dbt models indistinguishable from your best existing ones. Use when new models keep failing review for convention reasons, or when every analyst writes dbt in their own dialect.
NorthStar-Analytics-LTD/skill-foundry · ★ 0 · AI & Automation · score 70
Install: claude install-skill NorthStar-Analytics-LTD/skill-foundry
# Build: /new-model You are about to generate a `/new-model` skill customised to this company's dbt project. The skill must produce models that look like they were written by the team's most careful engineer — which means this builder's real job is working out what "most careful" means *here*. Complete all three phases first. ## Phase 1 — Inspect (the conventions live in the code, not the docs) Sample generously — at least 15 models across layers. Extract and record: 1. **Layering.** `staging → intermediate → marts`? Medallion? Something home-grown? Check `dbt_project.yml` folder config and actual directory structure. Note the naming per layer (`stg_`, `int_`, `fct_`, `dim_`, `mrt_`?) and whether it is applied consistently or aspirationally. 2. **SQL style.** CTE structure (import CTEs first? one final `select`?), leading vs trailing commas, capitalisation, `ref()`/`source()` discipline, jinja usage, macros the team actually uses. Copy two representative models — the generated skill will embed them as golden examples. 3. **Testing reality.** What share of models have `unique`/`not_null` on primary keys? Which custom/dbt-utils tests appear? The generated skill enforces the standard of their *best* models, not their average — but name the gap honestly in your summary. 4. **Documentation reality.** `schema.yml` coverage, description quality, whether descriptions predate the SQL (`git log` both — a description older than the SQL it describes has already gone stale). 5. **Mate