CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/dbt-testing

Authors and runs dbt data tests (generic, singular, and custom-macro), parses test failure output from run_results.json, and gates dbt build on test results. Use when the user works with a dbt project, asks about model assertions, or needs CI gates on a data pipeline.

72

Quality

91%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

86%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A high-quality skill body: fully executable examples across authoring, running, parsing, and CI, with well-structured one-level-deep references. The only improvements are trimming duplicated notes (the tests:/data_tests: alias and build skip-on-failure each stated twice) and adding an explicit fix-failure-then-rerun loop after the parsing/triage section.

Suggestions

State the tests:/data_tests: back-compat alias once (either the Overview or the Authoring section) and cross-reference it elsewhere instead of repeating it.

After the 'Parsing failures' jq triage examples, add a short feedback loop: locate the failing test's compiled_code in run_results.json, fix the model or test, re-run dbt test --select <test>, and only then proceed to dbt build.

Consolidate the dbt build skip-on-failure behavior into one place (the Running section) and let the CI integration section reference it rather than re-explaining it.

DimensionReasoningScore

Conciseness

The body is dense and code-first with almost no padding of concepts Claude already knows (the data_tests/tests rename and the singular-test semicolon trap are genuinely non-obvious dbt facts). It falls short of anchor 5 because of minor redundancy: the tests:/data_tests: alias note appears in both the Overview and the Authoring section, and the build skip-on-failure behavior is stated twice (Running and CI integration).

4 / 5

Actionability

Every section contains copy-paste-ready material: a complete schema.yml with data_tests, a runnable singular-test SQL file, a full {% test %} macro, six ready dbt test/build command variants, and jq one-liners over target/run_results.json. This matches anchor 5 (fully executable, covering the common cases).

5 / 5

Workflow Clarity

The lifecycle is clearly sequenced (author → run → parse failures → CI gate) with concrete commands at each step, and the run_results.json field table plus jq triage act as checkpoints. It falls short of anchor 5 because there is no explicit fix-and-re-run feedback loop after failure triage; anchor 4's 'clear sequence with minor validation gaps' fits better than either neighbor.

4 / 5

Progressive Disclosure

The body stays at overview level and cleanly pushes depth to two real, one-level-deep bundle files (references/macros.md and references/ci-integration.md), each clearly signaled with a description of its contents and a concluding References section. This matches anchor 5's clear overview with well-signaled references, and both referenced files exist with substantive content.

5 / 5

Total

18

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person voice, concrete capabilities tied to named dbt artifacts, and an explicit 'Use when...' clause with natural trigger phrases. The only gap is a few missing synonyms (e.g. 'data quality', 'schema tests', built-in test names like not_null/unique) that would make triggering marginally more robust.

DimensionReasoningScore

Specificity

"Authors and runs dbt data tests (generic, singular, and custom-macro), parses test failure output from run_results.json, and gates dbt build on test results" lists multiple concrete actions (author, run, parse, gate) with named artifacts and test types, comprehensively covering the skill's scope. It exceeds anchor 4 because coverage is complete rather than having minor gaps, and there is no vague language.

5 / 5

Completeness

The 'what' is explicit ("Authors and runs dbt data tests... parses test failure output... gates dbt build") and the 'when' is explicit with concrete triggers ("Use when the user works with a dbt project, asks about model assertions, or needs CI gates on a data pipeline"). Both are clearly and concretely stated, matching the anchor-5 example.

5 / 5

Trigger Term Quality

Natural phrases like "works with a dbt project", "model assertions", and "CI gates on a data pipeline" are terms a user would plausibly say, alongside technical anchors like run_results.json. It falls short of anchor 5 because common variations such as "data quality", "not_null/unique", or "schema tests" are absent.

4 / 5

Distinctiveness Conflict Risk

The dbt niche is unambiguous ("dbt data tests", "run_results.json", "dbt build") and the triggers are specific to data-pipeline testing, so overlap with adjacent skills (e.g. generic SQL or CI skills) is minimal. It clearly matches anchor 5's clear-niche pattern rather than anchor 4's minor-overlap pattern.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents