CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

slack-dagster-to-orchestra

Use this skill when the user wants to convert Dagster Slack notifications — SlackResource, make_slack_on_run_failure_sensor, make_slack_on_freshness_policy_status_change_sensor, or op success/failure hooks that post to Slack — into an equivalent Orchestra pipeline alert or task. Triggers: any mention of migrating or rewriting Dagster Slack notifications to Orchestra; Dagster code importing from dagster_slack, or @success_hook/@failure_hook functions that send Slack messages.

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

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.

Highly actionable, well-structured conversion guidance with complete YAML examples and a clear decision procedure. The main improvement areas are trimming the repeated mapping across sections, adding a validation step for the generated YAML, and moving the schema tables to reference files.

Suggestions

State the Dagster→Orchestra mapping once in the Decision Guide table and have Conversion Steps and Gotchas reference it rather than restating it, trimming ~15-20 lines.

Add a final validation step to Conversion Steps, e.g., confirming the alert YAML against the pipeline schema link or test-firing the alert to a test channel.

Move the AlertModel/AlertDestinationModel schema tables (and optionally the full dbt+Slack task example) into a references/ file, keeping SKILL.md as the overview.

DimensionReasoningScore

Conciseness

The body is dense and assumes competence (no explanation of what Dagster or Slack is), but the core mapping (e.g., "make_slack_on_run_failure_sensor -> pipeline-level alert, statuses: [FAILED]") is restated across the Decision Guide, Conversion Steps, Gotchas, and Before/After sections. Not 5 because that repetition could be trimmed; not 3 because each restatement serves a distinct reading mode and there is no padded explanation.

4 / 5

Actionability

Fully executable guidance: complete YAML for both the alerts block and the SLACK/SEND_SLACK_MESSAGE task, exact field schemas ("Required parameter: channel_name; at least one of text, blocks, or attachments"), a copy-paste before/after pair, and the literal connection-setup path. Covers the common conversion cases end to end.

5 / 5

Workflow Clarity

The 5-step Conversion Steps section is clearly sequenced (identify usage → map sensors/hooks → map op-level hooks → convert in-op messages → create connection) and anchored by the Decision Guide table. Not 5 because there is no validation checkpoint (e.g., verifying the produced YAML or test-firing the alert); the operation is low-risk config authoring, so the destructive/batch cap does not apply.

4 / 5

Progressive Disclosure

No bundle files exist; the single SKILL.md is well-organized with clear section headers and a flat, one-level References list of external doc URLs. Not 5 because at ~175 lines the AlertModel/AlertDestinationModel schema tables and the full dbt+Slack task example are inline content that could be split into reference files (the under-50-line exception doesn't apply).

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.

A strong description: it names the exact Dagster constructs, the concrete Orchestra targets, and explicit trigger conditions in a distinct niche. The only weakness is slightly limited synonym variation in the trigger phrasing.

DimensionReasoningScore

Specificity

Enumerates the exact source constructs ("SlackResource, make_slack_on_run_failure_sensor, make_slack_on_freshness_policy_status_change_sensor, or op success/failure hooks that post to Slack") and the concrete targets ("Orchestra pipeline alert or task"), giving comprehensive, explicit coverage of the conversion domain. Not 4 because coverage of the domain's patterns is complete rather than having minor gaps.

5 / 5

Completeness

Explicitly answers both: what ("convert Dagster Slack notifications … into an equivalent Orchestra pipeline alert or task") and when ("Use this skill when the user wants to…" plus a dedicated "Triggers:" clause with concrete trigger phrases). Not 4 because the 'when' is not merely present but spelled out with multiple explicit trigger conditions.

5 / 5

Trigger Term Quality

Natural triggers include "migrating or rewriting Dagster Slack notifications to Orchestra" plus code-level cues ("importing from dagster_slack", "@success_hook/@failure_hook functions that send Slack messages") — terms a user with this need would genuinely say. Not 5 because synonym coverage is thin (e.g., "porting", "moving", "Slack alerts") beyond the two verbs given.

4 / 5

Distinctiveness Conflict Risk

A clear niche (Dagster→Orchestra Slack notification migration) with highly specific triggers (named sensors, dagster_slack imports, hook decorators) that no other plausible skill would match. Not 4 because overlap risk is essentially nil, not just minor.

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.

Repository

orchestra-hq/orchestra-skills

Path

skills/migrate-to-orchestra/skills/slack-dagster-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.