Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.
84
66%
Does it follow best practices?
Impact
96%
1.15xAverage score across 6 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/data-engineering/skills/dbt-transformation-patterns/SKILL.mdQuality
Discovery
67%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description is competent with a clear 'Use when' clause and domain identification, but it stays at a category level rather than listing truly concrete actions. The trigger terms cover the basics of dbt but miss many natural user phrases and specific dbt concepts that would improve matching accuracy. It would benefit from more specific actions and additional trigger terms to better distinguish it from general data engineering skills.
Suggestions
Add more specific concrete actions like 'write schema tests, configure incremental materializations, set up staging/mart model layers, define sources and refs, use Jinja macros'
Expand trigger terms to include natural variations users would say: 'SQL models', 'dbt run', 'dbt test', 'materializations', 'Jinja templating', 'warehouse transformations', '.yml schema files', 'ref() and source()'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (dbt/analytics engineering) and mentions some actions like 'model organization, testing, documentation, and incremental strategies,' but these are more like category labels than concrete specific actions. Compare to a score-3 example which would list things like 'create staging models, write schema tests, configure incremental materializations, generate dbt docs.' | 2 / 3 |
Completeness | Clearly answers both 'what' (model organization, testing, documentation, incremental strategies) and 'when' with an explicit 'Use when...' clause covering building data transformations, creating data models, or implementing analytics engineering best practices. | 3 / 3 |
Trigger Term Quality | Includes relevant terms like 'dbt', 'data build tool', 'data transformations', 'data models', and 'analytics engineering', which are good. However, it misses common natural variations users might say such as 'SQL models', 'ref()', 'sources', 'materializations', 'dbt run', 'dbt test', 'Jinja', 'warehouse transformations', or '.yml schema files'. | 2 / 3 |
Distinctiveness Conflict Risk | The dbt-specific terminology provides some distinctiveness, but phrases like 'data transformations' and 'data models' are broad enough to potentially overlap with general SQL skills, ETL tools, or other data engineering skills. The 'analytics engineering' term helps but 'creating data models' could conflict with database design or other modeling skills. | 2 / 3 |
Total | 9 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a comprehensive dbt reference with excellent actionability—every pattern includes realistic, executable code examples covering the full model lifecycle. However, it's overly long for a single skill file, lacking progressive disclosure to separate the overview from detailed patterns. The workflow clarity suffers from missing explicit validation checkpoints and sequenced development workflows, which are important when building data pipelines.
Suggestions
Add an explicit development workflow section with validation checkpoints, e.g., '1. Define sources → 2. dbt test --select source:stripe → 3. Build staging → 4. dbt test --select staging → 5. Build marts'
Split detailed patterns (incremental strategies, macros, testing YAML) into separate referenced files, keeping SKILL.md as a concise overview with links
Remove the 'When to Use This Skill' section and trim explanatory text—Claude doesn't need to be told when to use dbt patterns
Add a validation/debugging workflow for incremental models specifically, since incorrect incremental logic is a common and costly failure mode
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is quite long (~400 lines) with extensive code examples that are thorough but could be more concise. The model layer diagram and naming conventions are efficient, but the full end-to-end Stripe/Shopify example across staging, intermediate, and marts layers is verbose—much of this is standard dbt knowledge that Claude would already know. The 'When to Use This Skill' section is unnecessary padding. | 2 / 3 |
Actionability | Every pattern includes fully executable, copy-paste-ready SQL and YAML with realistic examples (Stripe payments, Shopify orders). The dbt commands section provides concrete CLI commands with clear flags and selectors. Code examples are complete and production-realistic, not pseudocode. | 3 / 3 |
Workflow Clarity | The patterns are presented in a logical progression (sources → staging → intermediate → marts → testing), but there's no explicit workflow with validation checkpoints. For a skill involving data transformations and incremental models, there should be explicit steps like 'run dbt test after each model change' or 'validate incremental logic with --full-refresh first.' The dbt commands section lists commands but doesn't sequence them into a workflow with verification steps. | 2 / 3 |
Progressive Disclosure | The content is a monolithic file with all patterns inline. Given the length and breadth of topics (7 patterns plus commands and best practices), this would benefit from splitting detailed patterns into separate files with the SKILL.md serving as an overview. There are no references to external files for deeper content. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (557 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
27a7ed9
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.