CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

slack-prefect-to-orchestra

Use this skill when the user wants to convert Prefect Slack notifications into an equivalent Orchestra pipeline alert or task. This covers both hook-based notifications — SlackWebhook block, @flow on_failure/on_completion hooks, Prefect Automation Slack notifications — AND explicit mid-flow Slack messages, including a plain @task that calls the Slack Web API directly (slack_sdk, WebClient, chat_postMessage) rather than going through prefect_slack. Triggers: any mention of migrating or rewriting Prefect Slack notifications to Orchestra; any Prefect flow code importing from prefect_slack; on_failure= or on_completion= flow arguments posting to Slack; send_incoming_webhook_message(); or any @task whose body's entire purpose is posting a message to Slack (via slack_sdk.WebClient(...).chat_postMessage(...) or similar) and is called explicitly as a step in the @flow body, not just from a callback.

Quality

87%

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

75%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 content with copy-paste YAML, a thorough mapping table, and a sequenced checklist with a final verification step. The main weakness is token efficiency: the same two gotchas (SLACK is a valid integration; raw slack_sdk tasks still count) are repeated three to four times across sections.

Suggestions

State the 'SLACK is a valid integration / never use HTTP_REQUEST or PYTHON for Slack messages' rule once in Gotchas and remove the near-verbatim restatement in the Overview (line 19) and Conversion Steps.

Cut Example 2's explanatory paragraph ('This task never imports prefect_slack...') since the Overview and Gotchas already make this point, keeping only the code and the output-wiring note.

Consider moving the two full Before/After examples into a references/ file, keeping one compact example inline in SKILL.md to reduce context load.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious, conversion-specific knowledge and contains no beginner-concept padding, but key gotchas are repeated systematically: 'SLACK IS a valid integration value / don't use HTTP_REQUEST' appears in both the Overview and Gotchas nearly verbatim, and the raw-slack_sdk point is restated in the Overview, mapping table, Conversion Steps, Example 2 prose, and Gotchas.

3 / 5

Actionability

Fully executable, copy-paste-ready YAML for both patterns (alerts block and SLACK/SEND_SLACK_MESSAGE task), a complete parameter mapping table, and the exact runtime-data syntax (${{ ORCHESTRA.PIPELINE_RUN_TASKS['task-001'].OUTPUTS['status'] }}) covering the common cases.

5 / 5

Workflow Clarity

The Conversion Steps checklist gives a clear, ordered sequence ending in an explicit verification checkpoint ('Double check no Slack notification task was left converted as a plain PYTHON_EXECUTE_SCRIPT task'), but there is only one validation checkpoint and no feedback/re-check loop, falling short of the top anchor.

4 / 5

Progressive Disclosure

Well-organized sections with clear headers and one-level-deep, clearly signaled pointers (three doc URLs and 'See prefect-alerts-to-orchestra'), but the ~235-line body inlines two full before/after examples and all detail with no bundle files, which is more than the simple-skill case that would warrant a 5.

4 / 5

Total

16

/

20

Passed

Description

95%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 that explicitly states both what it does and when to use it, with unusually precise symbol-level triggers that would reliably match real user code. The only soft spot is that the capability is a single conversion action with variant coverage rather than a list of multiple distinct actions.

DimensionReasoningScore

Specificity

Names the concrete conversion action and enumerates specific input forms (SlackWebhook block, on_failure/on_completion hooks, Automations, plain slack_sdk @task) with two distinct output targets, but the capability is a single 'convert' action rather than multiple distinct actions, so it falls just below the comprehensive anchor.

4 / 5

Completeness

Explicitly answers both 'what' ('convert Prefect Slack notifications into an equivalent Orchestra pipeline alert or task', covering both hook-based and explicit mid-flow forms) and 'when' (an explicit 'Use this skill when...' clause plus a dedicated 'Triggers:' list of concrete trigger phrases).

5 / 5

Trigger Term Quality

Comprehensive natural trigger terms including synonyms ('migrating or rewriting Prefect Slack notifications') and exact symbols users' code would contain ('prefect_slack', 'on_failure=', 'send_incoming_webhook_message()', 'slack_sdk.WebClient(...).chat_postMessage(...)'); no common variation is missing.

5 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (Prefect Slack notifications to Orchestra) with highly distinct symbol-level triggers that would not fire for unrelated skills; conflict risk with a general Prefect-migration or alerts skill is minimal.

5 / 5

Total

19

/

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: 1 missing

Warning

Total

15

/

16

Passed

Repository

orchestra-hq/orchestra-skills

Path

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