Skip to main content
A skill is Astronomer-authored guidance that the Model Context Protocol (MCP) server delivers to an AI agent on demand: a procedure the model follows, such as diagnosing a failed Dag (directed acyclic graph) or migrating a project to Airflow 3. Two skills ship with the Astro Private Cloud (APC) MCP server.
Astro Private Cloud 2.2This feature was introduced in Astro Private Cloud 2.2. To access this feature, upgrade your Astro Private Cloud installation to 2.2 or later.
A skill is guidance, not access. It adds nothing to the catalog: the enabled tool groups fix the available tools, and loading a skill grants no permission the caller didn’t already have. A skill tells the model which tools to call and in what order, and the caller’s own role still authorizes every call. See the MCP server security posture.

The two skills

Each skill declares the minimum groups it needs, and enabling skills implies those read-only groups, so you don’t have to add them to enabledGroups by hand. A skill implies only read-only groups and never turns on a destructive group. Beyond its minimum, debugging-dags also uses the remediation tools (clear_dag_run, clear_task_instances, and delete_dag_run in airflow_destroy) when that group is also enabled, and skips them when it is not.

Enable skills

Skills are off by default. A System Admin turns them on with one Helm chart value.
Enabling skills exposes the skill-delivery tools and both skills. Disabling them removes every skill surface at once: the per-skill prompts disappear, the skill tools leave the catalog and refuse any call, and the reference documents are no longer listed. For the full configuration, see Set up and configure the MCP server.

Invoke a skill

Both routes deliver the same guidance body from the same source, so they can’t drift.

As a prompt

The user-invoked route. The server registers one prompt per skill, which a client that supports prompts surfaces as a menu entry or slash command. The user picks the skill, and the client sends the guidance to the model. Each prompt takes one required argument, deployment, the Deployment identifier the guidance applies to. Where a client supports it, the prompt is the better route because the user chooses the skill deliberately. Prompt support is uneven across clients. See Client support.

With load_skill

The model-facing route. load_skill is an ordinary MCP tool, so it works in every client, and the model can select a skill on its own. Skill tools: All three are read-only and carry no permission requirement of their own. They return bundled content, not platform state, and belong to the skills_load group, which the skills toggle controls, so they exist whenever skills are enabled regardless of which other tool groups are on. An administrator can still remove an individual tool with disabledTools, which outranks the group. Disabling load_skill or read_skill_file drops that client fallback. See Disable a single tool.

Reference documents

A skill can ship supporting files. For example, migrating-airflow-2-to-3 carries four reference documents (config-changes.md, migration-checklist.md, migration-patterns.md, and removed-methods.md), while debugging-dags carries none. A skill’s body links each of its files by a skill:// URI. A client that supports MCP resources can list and open these files directly. Where a client doesn’t fetch resources, the model reaches the same content through read_skill_file, passing the skill name and the file’s skill-relative path exactly as the skill body links it, for example reference/config-changes.md. The migration skill’s body points the model at this fallback when a skill:// link can’t be opened, so the reference content reaches the model in every client.

Client support

Prompt and resource support depends on the client and its version, not on the server. The following was tested on 2026-10-06 with VS Code 1.136.1, Cursor 3.22.12, and Claude Desktop 2.19675.1. Re-test when a client updates. Because tools work in every client, load_skill and read_skill_file cover any client where the prompt or resource route doesn’t work.

Update skills

Skill content is bundled into the server image, pinned to a recorded version and surfaced as an image label. Nothing is mounted or fetched at runtime. Updating a skill means releasing a new image, not editing a file in the cluster. Customers can’t modify the shipped skills in place.