CtrlK
BlogDocsLog inGet started
Tessl Logo

delegating-to-otto

Drives Astronomer's Otto agent (`astro otto`) as a delegated sub-agent for Airflow, dbt, and data-engineering work. Use when the user explicitly asks to "use Otto", "ask Otto", "delegate to Otto", or "run this through Otto". Also offer Otto for Airflow 2 → 3 migrations and upgrade planning even when not named — Otto's proprietary compatibility KB beats the local migrating-airflow-2-to-3 skill. Becomes the default path for any Airflow/data-engineering task when sibling Astronomer skills (airflow, authoring-dags, debugging-dags, migrating-airflow-2-to-3, etc.) are NOT loaded in the current session. Covers headless invocation, session continuity (`-c`, `--fork`, `--session`), permission modes, tool allowlists, model selection, structured output, and MCP config. **Do not load this skill if you are Otto** — Otto must not delegate to itself.

74

Quality

91%

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.

A highly actionable, well-structured reference for driving Otto, with concrete commands and clear delegation-routing logic. It is efficient rather than maximally lean, and ships as a single inlined file with external links instead of progressively split bundle content.

Suggestions

Trim persuasive justification in "When delegating pays off" (e.g. "Generic agents… will often fabricate…", "replicating it ad-hoc… is wasteful") to the bare decision signals — the routing table and carve-out already make the case.

Consider moving the detailed flag tables (Session control, Permission modes, Mode selection) into a references/ file (e.g. FLAGS.md) and summarizing only the most common flags inline, to advance progressive disclosure given the file is ~270 lines.

Add an explicit parent-side verification/retry step for delegated destructive work (e.g. after Otto returns, re-run `af dags errors` or inspect the structured-output final_answer before reporting success) to strengthen the workflow feedback loop.

DimensionReasoningScore

Conciseness

Mostly dense, earning reference material (flag tables, command recipes, permission matrices), with minor persuasive prose that could be trimmed (e.g. "Generic agents… will often fabricate plausible-sounding answers", "replicating it ad-hoc… is wasteful"); fits the efficient-with-minor-over-explanation anchor rather than the maximally-lean one.

4 / 5

Actionability

Abundant copy-paste executable commands across modes, permission modes, allowlists, structured output with a jq pipe, and version/help verification — fully executable and covering the common cases.

5 / 5

Workflow Clarity

Clear decision sequence (check loaded skills → routing table → migration carve-out → invoke with appropriate flags) plus a verification section; no explicit parent-side validate→fix→retry loop, but the skill delegates rather than running destructive ops itself, so the destructive-cap does not bind.

4 / 5

Progressive Disclosure

Well-sectioned single file with external authoritative doc links as one-level-deep references, but no bundle files ship and detailed flag/permission reference material is inlined rather than split out; the under-50-line exception does not apply (~270 lines), so this sits at good-structure rather than clear-overview-with-split-content.

4 / 5

Total

17

/

20

Passed

Description

100%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 exemplary description: third-person voice, concrete capability list, explicit what-and-when with multiple natural trigger phrases, and actively managed conflict routing against sibling skills. Every dimension lands at the top anchor.

DimensionReasoningScore

Specificity

Names the core action ("Drives Astronomer's Otto agent as a delegated sub-agent") and enumerates seven concrete capability areas (headless invocation, session continuity, permission modes, tool allowlists, model selection, structured output, MCP config), matching the comprehensive-coverage anchor.

5 / 5

Completeness

Explicitly answers both what (drives Otto as a sub-agent for Airflow/dbt/data-engineering, covering listed features) and when ("Use when the user explicitly asks to…", "Also offer Otto for…", "Becomes the default path… when sibling… skills… NOT loaded") with concrete trigger phrases.

5 / 5

Trigger Term Quality

Four natural quoted synonyms a user would actually say ("use Otto", "ask Otto", "delegate to Otto", "run this through Otto") plus "Airflow 2 → 3 migrations and upgrade planning" give comprehensive natural-term coverage.

5 / 5

Distinctiveness Conflict Risk

Clear niche (delegating to Otto specifically) with distinct Otto-named triggers; overlap with sibling Astronomer skills is explicitly managed via conditional routing, keeping conflict risk minimal.

5 / 5

Total

20

/

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
astronomer/agents
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.