CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

prefect-testing-to-orchestra

Use this skill when a Prefect flow contains data quality or testing logic: @task functions that run SQL assertions, Great Expectations checkpoints called from a @task, Soda check tasks, or threshold checks that raise exceptions on failure. Triggers: any Prefect @task that queries a database to validate data, any use of great-expectations or soda-core inside a Prefect flow, any task that checks row counts, null counts, or data bounds.

Quality

80%

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/prefect-testing-to-orchestra/SKILL.md
SKILL.md
Quality
Evals
Security

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, concrete migration skill: the semantic-inversion insight is stated prominently, mapped in tables, and proven in a complete before/after example, with gotchas grounded in live validator behavior. Main weaknesses are the triple repetition of the inversion mapping and the absence of an explicit output-validation step in the conversion workflow.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence — no explanations of what Prefect or Great Expectations are — but the inversion mapping is repeated three times (Parameter Mapping table, "Semantic inversion rule" table, and Gotchas bullets like "assert X == 0 → error_threshold_expression: '> 0'"), which could be trimmed to one authoritative table.

4 / 5

Actionability

Fully executable guidance: a complete runnable Prefect "before" example, a copy-paste-ready Orchestra YAML "after" block with concrete connection names, threshold expressions, and YAML quote-escaping, plus validated syntax details ("== 0 ... is rejected ... use single =").

5 / 5

Workflow Clarity

The "Conversion Steps" checklist gives a clear, well-sequenced 11-step process with an explicit exception/soft-failure branch ("If Prefect uses log.warning ... set treat_failure_as_warning: true"), but there is no explicit validate-the-output step even though Gotchas reveals Orchestra's /pipelines/schema validator exists — a minor validation gap versus anchor 5's feedback loops.

4 / 5

Progressive Disclosure

Good single-file structure with clear sections (Overview, Parameter Mapping, YAML Structure, Steps, Example, Gotchas) and a well-signaled one-level pointer to the sibling prefect-alerts-to-orchestra skill; no bundle files exist to split into, and all inline content (mapping table + one worked example) is appropriately placed, though the ~175-line body sits at the edge of what a single SKILL.md should carry.

4 / 5

Total

17

/

20

Passed

Description

68%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 trigger-rich description with excellent, explicit 'when' guidance and strong natural keyword coverage, but it omits the 'what' — the Orchestra conversion purpose is only inferable from the skill name, never stated in the description itself. Adding one clause stating the action would raise completeness and specificity substantially.

Suggestions

State the 'what' explicitly, e.g. "Converts Prefect data quality and test tasks to Orchestra *_RUN_TEST integration jobs with inverted threshold semantics." — the description currently never mentions Orchestra.

Tighten the two overlapping trigger sentences (the colon list and the "Triggers:" list repeat the same patterns) into one list, freeing space for the capability statement.

Name the target artifacts users will produce (Orchestra pipeline YAML / *_RUN_TEST tasks) so users searching for output-side terms can also find the skill.

DimensionReasoningScore

Specificity

The description names the domain ("Prefect flow contains data quality or testing logic") and enumerates concrete trigger patterns ("@task functions that run SQL assertions", "Great Expectations checkpoints called from a @task", "Soda check tasks"), but never states the action the skill performs — e.g. converting Prefect tests to Orchestra *_RUN_TEST jobs. It describes the input patterns, not the skill's capabilities.

3 / 5

Completeness

The 'when' is exceptionally explicit ("Use this skill when...", "Triggers: any Prefect @task that queries a database to validate data"), but the 'what' is absent — the description never mentions Orchestra or says it converts Prefect tests to Orchestra jobs. This mirrors anchor 3 (one half explicit, the other half missing), and is clearly better than anchor 2's vague 'when'-only example.

3 / 5

Trigger Term Quality

Comprehensive natural-term coverage including tool names and their package-level synonyms: "Prefect", "@task", "SQL assertions", "Great Expectations"/"great-expectations", "Soda check tasks"/"soda-core", plus concrete check types ("row counts, null counts, or data bounds") users would naturally mention.

5 / 5

Distinctiveness Conflict Risk

The Prefect data-quality/GE/Soda niche is distinct with specific triggers, but broad triggers like "any task that checks row counts, null counts" could overlap with a general Prefect-to-Orchestra conversion skill (the body references siblings like prefect-alerts-to-orchestra), leaving minor overlap risk with closely related skills.

4 / 5

Total

15

/

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.

Repository

orchestra-hq/orchestra-skills

Path

skills/migrate-to-orchestra/skills/prefect-testing-to-orchestra/SKILL.md

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.