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.
79
70%
Does it follow best practices?
Impact
95%
1.20xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./tests/ext_conformance/artifacts/agents-wshobson/data-engineering/skills/dbt-transformation-patterns/SKILL.mdQuality
Discovery
75%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 a distinctive niche around dbt. Its main weakness is that the capability descriptions are somewhat categorical rather than listing concrete specific actions, and the trigger terms could include more natural user language variations like specific dbt commands or file types.
Suggestions
Replace category labels with more concrete actions, e.g., 'write staging and mart models, configure materializations, define schema tests, set up sources and refs, generate documentation'
Add more natural trigger terms users might use, such as 'SQL models', 'dbt run', 'dbt test', 'materializations', 'sources.yml', 'schema.yml', 'ref()', or 'Jinja templating in SQL'
| 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', 'staging/marts', or '.yml schema files'. | 2 / 3 |
Distinctiveness Conflict Risk | The focus on dbt specifically, combined with analytics engineering terminology, creates a clear niche that is unlikely to conflict with general SQL skills, generic data processing skills, or other tool-specific skills. The term 'dbt' and 'data build tool' are highly distinctive triggers. | 3 / 3 |
Total | 10 / 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 production-ready, executable code with realistic examples covering the full model lifecycle. The main weaknesses are its length (could be more concise or split across files) and the lack of explicit workflow validation steps, such as when to run tests, how to handle failures, and a clear step-by-step development workflow tying the patterns together.
Suggestions
Add an explicit development workflow section with validation checkpoints, e.g., '1. Define sources → 2. Build staging models → 3. Run `dbt test --select staging` → 4. If failures, fix and re-test → 5. Build intermediate layer...'
Split the content into a concise SKILL.md overview with references to separate files like INCREMENTAL_STRATEGIES.md, TESTING.md, and MACROS.md to improve progressive disclosure
Remove the 'When to Use This Skill' section and trim the Best Practices Do's/Don'ts to single-line items without explanations — Claude can infer the reasoning
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is quite long (~400 lines) with extensive code examples that are thorough but could be more concise. The 'When to Use This Skill' section and some explanatory text (e.g., 'Clean data once, use everywhere') add tokens without much value for Claude. However, it avoids explaining basic concepts like what SQL or YAML is, and the code examples themselves are dense with useful patterns. | 2 / 3 |
Actionability | Every pattern includes fully executable, copy-paste-ready SQL and YAML with realistic field names, proper Jinja templating, and complete config blocks. The dbt commands section provides exact CLI invocations with clear descriptions. The code examples are production-quality, not pseudocode. | 3 / 3 |
Workflow Clarity | The model layers diagram shows a clear progression (sources → staging → intermediate → marts), and the project structure is well-defined. However, there are no explicit validation checkpoints or feedback loops — no 'run dbt test after each layer' workflow, no error recovery steps, and no guidance on what to do when tests fail. For a multi-step data pipeline process, this is a notable gap. | 2 / 3 |
Progressive Disclosure | The content is a monolithic document with all patterns inline. Given the length (~400 lines), the incremental strategies, macros, and testing patterns could be split into separate referenced files. The external resource links at the bottom are helpful but the internal content organization could benefit from splitting into focused sub-documents. | 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 (564 lines); consider splitting into references/ and linking | Warning |
Total | 10 / 11 Passed | |
99da384
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.