Content
82%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A well-executed conversion skill: it leads with concrete, executable guidance — exact Orchestra YAML forms, complete kwarg-to-connection-type tables, a precise linked-connection env-var formula, and a sequenced checklist — and nearly all of its content is non-obvious domain knowledge rather than padding. The main costs are repetition of the Secrets Backend and linked-connection points across three sections, and the absence of an explicit validate-the-output step in the workflow.
Suggestions
Consolidate the Secrets Backend guidance: it currently appears as a dedicated section, a checklist item, and a Gotcha — state it once fully and reference it from the other two places, cutting roughly a dozen lines.
Add a final validation step to the Conversion Checklist (e.g. verify every distinct conn_id found by the initial grep maps to exactly one connection: reference in the emitted YAML, and that no credential value leaked into any written file) to close the workflow's feedback loop.
Consider moving the Linked Connections deep detail (env-var naming rules, SDK/profiles.yml snippets, silent-skip behavior) into a references/ file, keeping a short decision rule inline so SKILL.md stays a lean overview.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is dense with non-obvious domain knowledge (the "descriptive-name_XXXXX" format, the credential-store constraints, the "<INTEGRATION>__<CONNECTION_ID>__<FIELD>" formula) and mostly assumes Airflow knowledge rather than re-teaching it, so it clears 'efficient'. But there is noticeable redundancy — the Secrets Backend 'nothing to extract' point appears in its own section, again as a checklist item, and again as a Gotcha; the linked-connection don't-copy-secrets advice is likewise stated twice — and the Overview's comparison to "the way dagster-connections-to-orchestra and prefect-connections-to-orchestra do" is meta-commentary that earns no tokens. These keep it below 'every token earns its place'. | 4 / 5 |
Actionability | Guidance is copy-paste ready throughout: exact YAML for every case ("connection: my_snowflake_12345", "connection: null", "connection: ${{ ENV.SNOWFLAKE_CONNECTION_NAME }}"), complete kwarg→connection-type lookup tables, a worked env-var derivation ("a Snowflake connection prod_12345 exports SNOWFLAKE__PROD_12345__SNOWFLAKE_PASSWORD") with the SDK call ("orchestra.get_linked_connection(\"snowflake\", connection_id=\"prod_12345\")") and profiles.yml usage, plus concrete greps in the checklist. Specific examples cover the common cases, matching the anchor-5 example. | 5 / 5 |
Workflow Clarity | The Conversion Checklist gives a clear, roughly ordered sequence (grep sources → identify types → check secrets backend → link or create connections → replace references → route Variables) and includes verification checkpoints like "read back its name_XXXXX id from the response rather than transcribing it" and "Orchestra... rejects it if it can't be read... at save time". It falls short of 5 because there is no explicit validate-the-final-YAML / error-recovery feedback loop for the conversion output, and the sequence lives in one checklist rather than being interleaved where each decision is made. | 4 / 5 |
Progressive Disclosure | No bundle files exist (references/, scripts/, assets/ are all absent), and the body is organized into well-labeled sections with a clearly signaled References section of external docs, one level deep. The inline content is the core conversion payload (mapping tables and decision rules) whose placement in SKILL.md is appropriate; however, the Linked Connections section's deep detail (env-var naming rules, SDK/profiles.yml usage, silent-skip behavior) and the four connection-type tables are borderline candidates for a reference file, leaving minor organization gaps rather than a clean overview-plus-references split. | 4 / 5 |
Total | 17 / 20 Passed |