khalilbenaz/claude-skills-collection/data-dbt-guide
Claude Code and agent skill by khalilbenaz/claude-skills-collection
- community
Checking that the SKILL.md file is still in the repository.
Transformation de données avec dbt — models, tests, sources, macros et documentation automatisée. Se déclenche avec "dbt", "data build tool", "dbt model", "dbt test", "transformation de données dbt". Also triggers on "dbt models", "dbt tests", "transform data with dbt".
Install
npx vskill@latest install khalilbenaz/claude-skills-collection/data-dbt-guideSKILL.md
Guide dbt
Workflow
1. Initialiser et structurer le projet
Arborescence cible :
dbt_project.yml — materialisations par dossier :
2. Déclarer les sources
Référencer dans un modèle :
Tester la fraîcheur :
3. Développer les modèles
Staging — un modèle par table source, préfixe `stg_` :
Mart — utilise `ref()` pour chaque dépendance :
Critères de choix de materialisation :
| Cas | Materialisation recommandée | |
|---|---|---|
| Nettoyage léger / peu consommé | view | |
| Rapport BI / dashboard | table | |
| Table > 10M lignes avec clé temporelle | incremental | |
| Sous-requête intermédiaire réutilisée | ephemeral | |
| Suivi de changements type SCD2 | snapshot |
Modèle incrémental :
4. Tester les données
Fichier YAML associé à chaque modèle :
Test custom SQL dans tests/ :
Commandes :
5. Créer des macros
Usage dans un modèle :
6. Documenter
7. CI/CD et environnements
profiles.yml — deux targets :
Pipeline CI (GitHub Actions) :
Anti-patterns / Pièges
| Piège | Correction | |
|---|---|---|
select * en mart sans liste explicite | Lister les colonnes exposées, ça évite les régressions silencieuses | |
| Table en dur dans un modèle SQL | Toujours {{ ref() }} ou {{ source() }} | |
Pas de unique_key sur un incrémental | Crée des doublons à chaque run ; définir unique_key obligatoirement | |
| Tests YAML uniquement sur la PK | Tester aussi les FK (relationships), les valeurs acceptées et les colonnes NOT NULL métier | |
| Incrémental sans stratégie full refresh | Ajouter +full_refresh: false en dev seulement ; prévoir dbt run --full-refresh planifié | |
| Modèles staging qui joinent plusieurs sources | Un modèle staging = une source ; les jointures vont en intermediate/ | |
| Documentation rédigée après-coup | Écrire description + tests en même temps que le modèle, sinon jamais fait | |
dbt run en prod sans dbt test | Utiliser dbt build qui enchaîne les deux et stoppe à la première erreur |
Bonnes pratiques 2026
- dbt Core ≥ 1.8 : utiliser
dbt_project.ymlv10 et les groupes de modèles pour les accès (access: private/protected/public). - Contrats de modèle (
contract: {enforced: true}) sur les marts exposés — casse le build si le schéma dévie. - Unit tests dbt (natif depuis 1.8) pour tester la logique SQL sans données réelles :
```yaml unit_tests:
- name: test_order_total
model: fct_orders given:
- input: ref('stg_orders')
rows: [{order_id: 1, amount: 100}, {order_id: 2, amount: 0}] expect: rows: [{order_id: 1, total: 100}] ```
- dbt-utils et dbt-expectations : packages standards pour tests avancés (
expect_column_values_to_be_between,expression_is_true, etc.). - Semantic Layer dbt : définir les métriques dans
metrics:pour exposer des KPIs cohérents aux outils BI. - Sélecteur `state:modified+` en CI : ne rebuilder que ce qui a changé, réduit les coûts warehouse jusqu'à 80 %.
Communication Rules — MANDATORY
- Ultra-concise. No filler, no preamble, no pleasantries.
- Never say "happy to help", "sure!", "great question", "let me", or similar.
- Tool first, talk second. Act before explaining.
- Result first. Lead with outcome, not process.
- Stop when done. No summary, no recap, no trailing commentary.
- No politeness wrappers. Direct and blunt.
- Minimum words. If one word works, do not use ten.
- No unsolicited explanations.
- No emoji unless asked.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/data-dbt-guide/SKILL.md
Popularity
- Repository stars
- 10
- Repository forks
- 5
- 7-day trend score
- 12
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/khalilbenaz/claude-skills-collection/data-dbt-guide)