CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

powerbi-dagster-to-orchestra

Use this skill when the user wants to convert a Dagster Power BI integration — PowerBIWorkspace, PowerBIServicePrincipal/PowerBIToken, load_powerbi_asset_specs, build_semantic_model_refresh_asset_definition, or a custom resource/op calling power_bi.trigger_and_poll_refresh — into an equivalent Orchestra pipeline task targeting Power BI. Triggers: any mention of migrating or rewriting Dagster Power BI assets to Orchestra; Dagster code importing from dagster_powerbi, or a custom op/resource wrapping the Power BI REST refresh API for a dataset or dataflow. Must be read before finalizing any Orchestra YAML that contains integration: POWER_BI.

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

81%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 conversion skill: complete parameter mapping, executable YAML templates, a worked before/after example, and a step sequence with a genuine validation checkpoint and recovery path for the one thing that cannot be derived from source (live dataset GUIDs). The main costs are token redundancy — the anti-fabrication guidance is hammered four or more times across sections — and an Alerts section that is only loosely related to the skill's core job.

Suggestions

Consolidate the repeated never-fabricate-a-GUID guidance into one authoritative location (e.g. Gotchas) and have the Overview, Step 3, and the Before/After intro cross-reference it in a sentence instead of restating the full reasoning each time.

Replace the ~30-line Adding Alerts YAML block with a 2-3 line pointer to the slack-dagster-to-orchestra skill, keeping only the statuses list and the note that run-failure sensors map to an alerts block.

Add a final conversion step validating the produced YAML against the additionalProperties: false constraint (e.g. 're-read the mapping table and confirm no extra parameter keys were carried over'), turning that Gotcha into an explicit workflow checkpoint.

DimensionReasoningScore

Conciseness

The core warning — never fabricate a dataset GUID — is restated four-plus times (the Overview's bold paragraph, Conversion Step 3, the Before/After intro, and two separate Gotcha bullets), with additional cross-pointers ("see Overview and Gotchas") from the mapping table. Otherwise the body is dense and functional with no padding about concepts Claude already knows, so it fits the 'mostly efficient but could be tightened' anchor rather than the noticeably-verbose one.

3 / 5

Actionability

Provides a complete Dagster-concept→Orchestra-field mapping table, copy-paste-ready YAML templates for both POWER_BI_REFRESH_DATASET and POWER_BI_REFRESH_DATAFLOW with every parameter annotated, a full before/after pair (runnable Dagster Python to resulting Orchestra YAML including the placeholder convention), and UI-level instructions ("Settings → Connections → Power BI"). Fully executable guidance covering the common cases, matching the top anchor.

5 / 5

Workflow Clarity

Conversion Steps 1–6 are clearly sequenced, and Step 3 is an explicit validation checkpoint ("Determine whether a real dataset GUID is actually visible") that branches into a defined recovery path — use the visible value, or emit a `# MANUAL:`-flagged placeholder — instead of a silent failure mode. Error conditions (PowerBIToken vs service principal, workspace_id fallback rules) each have explicit handling, matching the anchor for clear sequence with explicit validation and error-recovery guidance.

5 / 5

Progressive Disclosure

The single-file body is well-organized into Overview / mapping table / YAML structure / steps / before-after / gotchas / references with no bundle files and no nested-reference risk, and the References section is one level of external URLs plus clearly-named sibling skills. It falls short of the top anchor because the ~30-line Adding Alerts schema section is tangential to Power BI conversion and could be a brief pointer, and the repeated GUID guidance is not consolidated.

4 / 5

Total

17

/

20

Passed

Description

96%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 description: it states the conversion capability concretely, enumerates every trigger surface (official classes, credentials, hand-rolled REST wrappers, Orchestra YAML containing integration: POWER_BI), and gives explicit when-guidance with natural synonyms. The only weakness is minor potential co-triggering with sibling Dagster-to-Orchestra conversion skills on connection-related requests.

DimensionReasoningScore

Specificity

Names the domain and concrete conversion action, and comprehensively enumerates every Dagster entry point: "PowerBIWorkspace, PowerBIServicePrincipal/PowerBIToken, load_powerbi_asset_specs, build_semantic_model_refresh_asset_definition, or a custom resource/op calling power_bi.trigger_and_poll_refresh", covering both official-class and hand-rolled REST patterns for dataset and dataflow cases. Matches the anchor for multiple specific concrete actions with comprehensive coverage; not 4 because there is no minor gap in the entry points named.

5 / 5

Completeness

Explicitly answers both questions: what ("convert a Dagster Power BI integration ... into an equivalent Orchestra pipeline task targeting Power BI") and when ("Use this skill when the user wants to convert ..." plus a separate "Triggers:" clause listing import-based and mention-based cases). Matches the anchor for clear, explicit what-and-when with concrete trigger phrases.

5 / 5

Trigger Term Quality

Includes the exact natural phrases a user doing this migration would say — "migrating or rewriting Dagster Power BI assets to Orchestra", "Dagster code importing from dagster_powerbi", "custom op/resource wrapping the Power BI REST refresh API for a dataset or dataflow", "Orchestra YAML that contains integration: POWER_BI" — with synonyms (convert/migrate/rewrite) present. Matches the comprehensive-synonyms anchor; not 4 because no natural variant for this niche is missing.

5 / 5

Distinctiveness Conflict Risk

The niche is clear (Dagster→Orchestra, Power BI only) and the trigger terms are Power-BI-specific, but the skill family includes closely related conversion skills (e.g. dagster-connections-to-orchestra), so a request to convert a Power BI resource's connection could plausibly trigger more than one skill. Matches the anchor for mostly distinct with minor overlap risk; not 5 because of that sibling overlap, not 3 because the triggers would not fire on generic non-Power-BI conversions.

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