CtrlK
BlogDocsLog inGet started
Tessl Logo

dagster-branching-to-orchestra

Use this skill when a Dagster job/graph contains conditional execution logic: ops with multiple Out/branching outputs that are conditionally yielded, @op functions that decide which downstream op runs, DynamicOut fan-out used for branching, or conditional asset materialization (AutomationCondition / skip logic). Triggers: any Dagster op that conditionally yields one of several Outs, any graph that runs different downstream ops based on an upstream result, any asset whose execution is gated on a condition.

62

Quality

74%

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-branching-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 high-quality, dense conversion skill: executable paired examples, a crisp decision rule, and edge-case gotchas with essentially no filler. The main improvement opportunities are reducing triple repetition of the two core rules and moving the condition-expression reference into a bundle file.

DimensionReasoningScore

Conciseness

Dense, table-driven, and free of padding — every section delivers Dagster-specific semantics Claude would not reliably know (is_required=False, no trigger_rule, condition syntax). Falls short of 5 because the trigger-time-vs-runtime rule is stated three times (Overview, mapping table, Gotchas) and 'DynamicOut is fan-out, not branching' is likewise repeated in three places.

4 / 5

Actionability

Fully executable paired examples for both main patterns (Dagster Python + Orchestra YAML), a concrete variables table with real expression syntax ('task_groups['id'].all().status == 'SUCCEEDED'', 'ORCHESTRA.PIPELINE_RUN_TASKS['decide'].OUTPUTS['has_data']'), a functions list, and a copy-paste-ready quick-reference card covering the common cases.

5 / 5

Workflow Clarity

The decision procedure is stated crisply up front ('is the branch decided at trigger time (use inputs:) or at runtime (use an upstream task's OUTPUTS)?') and patterns are organized around that dichotomy, with gotchas covering edge cases like SKIPPED propagation and ANDed group/task conditions. Not a 5 because there is no explicit step-by-step conversion checklist or verification step, though this is a mapping skill rather than a destructive workflow.

4 / 5

Progressive Disclosure

A single well-sectioned file with clear headers, no nested references, and external doc links clearly listed in a References section; all inline content is core to the task. Not a 5 because the condition-expression reference (variables, status values, built-in functions) is reference material that could live in a bundle file, though at this size keeping it inline is defensible.

4 / 5

Total

17

/

20

Passed

Description

66%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, concrete trigger-focused description for a niche migration skill, with excellent 'when' guidance covering multiple Dagster branching patterns. Its main weakness is that it never states what the skill does — the Orchestra condition-expression conversion target is only recoverable from the skill name.

Suggestions

State the action explicitly, e.g. 'Converts Dagster conditional branching (multiple conditional Outs, runtime branch decisions, AutomationCondition skips) to Orchestra condition expressions' — this would raise both completeness and specificity.

Drop or de-emphasize 'DynamicOut fan-out used for branching' as a trigger since the body routes it to a matrix block rather than a condition; keep it only if the matrix skill is not a sibling.

Add a couple of natural synonyms users would say, such as 'conditional output' or 'if/else op', to broaden trigger coverage.

DimensionReasoningScore

Specificity

Enumerates several concrete trigger patterns ('ops with multiple Out/branching outputs that are conditionally yielded', '@op functions that decide which downstream op runs', 'DynamicOut fan-out', 'conditional asset materialization (AutomationCondition / skip logic)'), matching the several-specific-actions anchor. Not a 5 because the action the skill performs is never named, and not a 3 because it lists more than 1-2 concrete items.

4 / 5

Completeness

The 'when' is explicit and concrete ('Use this skill when...', 'Triggers: any Dagster op that conditionally yields one of several Outs'), but the 'what' — what the skill actually does (converts these to Orchestra condition expressions) — is never stated and is only inferable from the skill name. Per the guideline to score only what is explicit, the 'what' is weakly implied rather than present.

3 / 5

Trigger Term Quality

Includes natural terms a user with this migration problem would say: 'Dagster', 'conditional execution', 'branching', 'Out', 'DynamicOut', 'skip logic', 'asset whose execution is gated on a condition'. Good coverage but missing common variations like 'conditional output' or 'if/else op', so it sits between the 3 and 5 anchors, closer to 4.

4 / 5

Distinctiveness Conflict Risk

'any Dagster op that conditionally yields one of several Outs' carves a clear niche, but the description also claims DynamicOut fan-out and AutomationCondition as triggers, which the body itself routes to sibling skills (matrix, sensors), creating minor overlap risk with closely related skills.

4 / 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.