CtrlK
BlogDocsLog inGet started
Tessl Logo

dagster-asset-checks-to-orchestra

Use this skill when a Dagster project contains data quality / testing logic: @asset_check, asset checks with AssetCheckResult, build_metadata_bounds_checks, dbt tests run via dagster-dbt, dagster-pandera / dagstermill expectations, or ExpectationResult. Triggers: any @asset_check decorated function, any AssetCheckSpec, any SQL/threshold assertion run as a check, any use of ExpectationResult or great_expectations/pandera within an asset.

60

Quality

70%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/migrate-to-orchestra/skills/dagster-asset-checks-to-orchestra/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

76%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, highly actionable mapping skill: every Dagster check pattern gets executable before/after code with precise gotchas (logic inversion, threshold syntax verified against the live validator). The main gaps are a duplicated example that wastes tokens, the absence of an explicit migration workflow with a validation step for generated YAML, and no offloading of the per-integration detail into reference files.

Suggestions

Add a short numbered migration sequence (identify checks → map each to an integration_job → set error/warn thresholds → chain depends_on → validate the pipeline JSON against /pipelines/schema) with an explicit validate-before-deploy checkpoint.

Remove the duplicate no_null_order_ids example — the Before/After section repeats the full check from the pattern-mapping section; one canonical instance (or a one-line cross-reference) would suffice.

Move the per-integration job table and warehouse-specific variants into a references/ file, keeping SKILL.md as the pattern-mapping overview with clearly signaled links.

DimensionReasoningScore

Conciseness

Dense and example-driven with no concept padding — it never explains what Dagster or SQL is — but the no_null_order_ids check appears in full twice (Dagster Pattern Mapping and Before/After Example) and task boilerplate (depends_on, condition, tags) repeats verbatim across YAML blocks. These are minor instances of trimmable redundancy rather than over-explanation.

4 / 5

Actionability

Fully executable, copy-paste-ready Python and Orchestra YAML for every major Dagster check pattern: full @asset_check conversion, WARN-severity handling (treat_failure_as_warning), dbt tests via DBT_CORE_EXECUTE, great_expectations via PYTHON_EXECUTE_SCRIPT with set_outputs, schema validation parameters, and precise threshold syntax with a confirmed validator behavior ('== 0' rejected).

5 / 5

Workflow Clarity

Content is organized as per-pattern mappings plus a full before/after pipeline that shows sequencing implicitly (stage-quality depends_on stage-load), but there is no explicit migration sequence (identify checks → map → set thresholds → wire dependencies) and no validation checkpoint for the generated YAML, even though the Gotchas section itself cites Orchestra's /pipelines/schema validator as a live verification tool.

3 / 5

Progressive Disclosure

No bundle files exist, so all content is inline in a ~250-line body, but it is well organized under clear headers (Test Job Pattern, integration mapping table, per-pattern sections, Gotchas, Alerts) with clearly signaled one-level external references. The integration-job table and per-warehouse example variants could arguably move to a reference file, which keeps this from a 5.

4 / 5

Total

16

/

20

Passed

Description

63%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 trigger description with comprehensive, natural Dagster-specific vocabulary and near-zero conflict risk, but it answers only 'when' and never 'what' — the reader cannot tell the skill migrates these checks to Orchestra test jobs. The missing capability statement caps completeness and specificity.

Suggestions

Open the description with a 'what' clause, e.g. 'Migrates Dagster asset checks (data quality / testing logic) to Orchestra test jobs...' so both what and when are explicit.

Mention the target outcomes by name (SQL threshold test jobs, SNOWFLAKE_RUN_TEST / DBT_CORE_EXECUTE, treat_failure_as_warning) so the skill's capability surface is discoverable from the description alone.

Trim the duplicated trigger enumeration — the 'Triggers:' sentence largely restates the first sentence's item list and could be condensed to free tokens for the capability statement.

DimensionReasoningScore

Specificity

Names the Dagster data-quality domain with highly concrete technical items (@asset_check, AssetCheckResult, build_metadata_bounds_checks, dagster-dbt, pandera), but every one of them is a trigger condition rather than a capability — the description never states what the skill actually does. Anchor 2 fits on absent actions, but the enumerated items are far too specific to call generic, so it lands between anchors 2 and 3.

3 / 5

Completeness

The 'when' is explicit and thorough ('Use this skill when...', 'Triggers: ...'), but the 'what' — that the skill converts Dagster asset checks to Orchestra test jobs — is entirely absent from the description. This matches the anchor 'only when is present without what'.

2 / 5

Trigger Term Quality

Comprehensive natural vocabulary a user working in a Dagster project would say or paste: @asset_check, AssetCheckSpec, AssetCheckResult, ExpectationResult, build_metadata_bounds_checks, dbt tests, dagster-dbt, dagster-pandera, dagstermill, great_expectations, pandera, plus generic phrasings like 'data quality / testing logic' and 'SQL/threshold assertion'. Covers API names and library-level synonyms.

5 / 5

Distinctiveness Conflict Risk

A clear niche with near-unique trigger identifiers (build_metadata_bounds_checks, dagster-pandera, ExpectationResult) that only a Dagster asset-check context would match; minimal overlap risk with other skills.

5 / 5

Total

15

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 2 missing

Warning

Total

15

/

16

Passed

Repository
orchestra-hq/orchestra-skills
Reviewed

Table of Contents

Is this your skill?

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.