docs-mintlify/admin/ai/skills.mdx
Skills are reusable, named instruction packages for the agent — saved workflows a user can run on demand wherever they work with the agent, including Analytics Chat, Workbooks, dashboards, and the IDE. Instead of re-typing the same multi-step request ("produce a weekly revenue report, broken down by region, with week-over-week trends…"), a user picks a skill and the agent follows the workflow you've defined.
Skills are configured as code in your data model repository, alongside your cubes and views, so they're versioned, reviewed, and deployed like the rest of your Cube project.
<Note> A skill guides what the agent does using the same data access the agent already has. The first version of skills is instructions-only — `title`, `description`, and instructions. There is no per-skill data scoping or external actions yet. </Note>Skills are defined as Markdown files under agents/skills/. Each skill lives in its own
file: the YAML frontmatter holds metadata, and the Markdown body is the instructions the
agent follows.
<!-- agents/skills/weekly-revenue-report.md -->
---
title: "Weekly revenue report"
description: "Use when the user asks for a weekly revenue summary, a weekly revenue report, or week-over-week revenue trends."
---
Produce a weekly revenue report:
1. Report total revenue for the requested week, alongside the prior week and the
week-over-week percentage change.
2. Break revenue down by region, sorted from highest to lowest.
3. Highlight any region whose revenue changed by more than 10% week over week.
4. If the user names a region or a time range, scope the report accordingly.
Files placed under a skills/ directory are treated as skills automatically — no kind
property is required. The name is inferred from the file name (e.g.,
weekly-revenue-report.md → weekly-revenue-report). Nested folders are allowed for
organization but do not namespace the skill — skill names must be unique across the
entire skills/ directory.
| Property | Type | Required | Description |
|---|---|---|---|
title | string | Yes | User-facing label shown on the skill button and in the / menu. |
description | string | Yes | What the agent matches free-text requests against to auto-select the skill. |
name | string | No | Unique identifier. Inferred from the file name if omitted. |
The Markdown body is the skill's instructions.
You can also inline skills directly in agents/config.yml under a skills key:
# agents/config.yml
skills:
- name: weekly-revenue-report
title: "Weekly revenue report"
description: "Use when the user asks for a weekly revenue summary or week-over-week trends."
instructions: |
Produce a weekly revenue report:
1. Total revenue for the requested week, with the week-over-week change.
2. A breakdown by region, sorted by revenue descending.
3. Highlight any region that moved more than 10% week over week.
Inline skills use the same name, title (required), and description (required) as
Markdown skills. Since there is no Markdown body in YAML, provide the instructions inline
via the instructions key.
Skills use progressive disclosure. The agent is given a compact catalog of every
available skill — just the name, title, and description — so it knows what each
skill is for without carrying the full instructions. When a skill is run, the agent loads
its complete instructions on demand.
name, title, and description. The full
instruction body stays server-side and is never sent to the browser.auto agent.description, a well-written description makes
automatic matching more reliable.For how skills appear and run in chat — buttons, the / menu, and automatic matching —
see Agent skills.
Skills ship through the normal Cube development flow: author the skill on a development branch, commit, and merge to your production branch. Because skills live on the branch, a skill on a development branch is testable before it reaches production — open chat against the dev branch and run the skill to confirm it behaves as intended.
Authoring skills requires data-model edit access — the same access needed to define rules and certified queries. In Cube Cloud's built-in roles, that means the Admin or Developer roles, or a custom role with semantic-model edit access.
Running skills is available to anyone with chat access, including Explorer and Viewer roles. In-product tips that promote authoring skills, rules, and certified queries are role-aware and shown only to developers.
description as a "use when…" statement. This is what the agent matches
against incoming requests, so describe the situations the skill applies to./weekly-revenue-report for EMEA, last 6 weeks), so instruct the agent to honor a
named region or time range when provided.