CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

testland/dbt-testing

Use whenever a dbt project needs data tests or CI gates: generic, singular and custom-macro tests, model assertions, reading failures from run_results.json and gating dbt build on the results.

Quality

90%

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

82%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 strong, dense skill body: nearly everything is executable dbt YAML/SQL/commands with genuinely non-obvious gotchas (the data_tests: rename, the trailing-semicolon trap, DAG-aware skip behavior in dbt build). The two reference files are well-signaled and real. The main improvements are trimming the inline run_results.json field table, de-duplicating the macro example, and adding an explicit failure-recovery step.

Suggestions

Move most of the run_results.json field table into a reference file (or trim it to status/failures/unique_id/message) and keep only the jq triage snippets inline.

Remove the column_value_in_range macro snippet from the body, since it is duplicated verbatim in references/macros.md; a one-line pointer is enough.

After the 'Parsing failures' section, add an explicit recovery step (e.g. fix the model or relax severity, then re-run 'dbt build --select <fixed_node>+') to close the triage feedback loop.

DimensionReasoningScore

Conciseness

The body is code-forward and assumes dbt knowledge ('The YAML key was renamed from tests: to data_tests:', the trailing-semicolon trap), but the 10-row run_results.json field table and some of the alias/back-compat explanation are slightly more inline detail than the parsing task needs. It sits above anchor 3 because the padding is minor, not 'several unnecessary explanations'.

4 / 5

Actionability

Every section ships executable material: a complete schema.yml with all four built-in generics using the canonical 'arguments:' syntax, a runnable singular-test SQL file, a working {% test %} macro, dbt test/build selector commands, and copy-paste jq triage snippets. This matches the 'fully executable, copy-paste ready, covers common cases' anchor.

5 / 5

Workflow Clarity

The body follows a clear author -> run -> parse -> gate sequence, and parsing failures is framed as a triage checkpoint ('handle both when parsing', upload run_results.json 'so the failing-test list survives the run'). It falls short of anchor 5 because there is no explicit fix-and-retry feedback loop after triage, and the cap-relevant validation (artifact upload, severity relaxation) is present but the recovery path is only implied.

4 / 5

Progressive Disclosure

Both referenced files (references/macros.md, references/ci-integration.md) are real, one level deep, and clearly signaled both inline and in a References section, with detail appropriately pushed out. Minor gaps keep it below anchor 5: the column_value_in_range macro appears verbatim in both the body and references/macros.md, and the run_results.json field table is bulky content that could itself live in a reference file.

4 / 5

Total

17

/

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.

An excellent description: third person, concrete, and explicit about both capabilities and trigger conditions, with dbt-specific artifacts (run_results.json, dbt build) making it highly distinguishable from neighboring skills. The only weakness is mild: it omits a few natural trigger synonyms (unique, not_null, schema tests) that users might say.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities tied to specific artifacts: 'generic, singular and custom-macro tests, model assertions, reading failures from run_results.json and gating dbt build on the results'. This matches the comprehensive-coverage anchor; it is not anchor 4 because no capability of the skill is left uncovered.

5 / 5

Completeness

It explicitly answers both questions: 'Use whenever a dbt project needs data tests or CI gates' (when) plus a concrete capability list (what). This matches the anchor for clear and explicit what-and-when with concrete trigger phrases, and exceeds anchor 4 where the 'when' is only serviceable.

5 / 5

Trigger Term Quality

Natural terms users would say are present ('dbt project', 'data tests', 'CI gates', 'dbt build'), but common variations a user might actually type — 'unique', 'not_null', 'schema tests', 'test failures' — are absent. Good coverage with a few natural terms missing fits anchor 4 rather than 5.

4 / 5

Distinctiveness Conflict Risk

The niche is unambiguous: dbt-specific tooling with a dbt-only artifact ('run_results.json') and dbt-only commands ('dbt build'), so it would not plausibly trigger for a non-dbt skill. Minimal conflict risk matches anchor 5.

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

On this page