Academy · Platform · Agents
Skills & skill packs
In one line. A Skill is a reusable, parameterised capability — instructions plus the tools they need — and a Skill Pack bundles several so many agents can share one well-written capability. You’ll be able to. Write a skill in the Skill Editor, group skills into a pack, and pin either onto an agent. Where this lives.
Studio > Agents > Agent Toolkit > Skills.
Why it matters
You will write the same instruction-plus-tool recipe again and again — “extract the fields off a résumé”, “summarise this contract clause”, “look up a customer and draft a reply”. A Skill captures one such recipe once, as a named, reusable, parameterised capability, so every agent can use it instead of you re-pasting a prompt into each one. A Skill Pack then bundles related skills together so an agent can pick up a whole toolkit in a single click. Build the capability well once; reuse it everywhere; fix it in one place.
This page assumes Your first agent (the Capabilities tab) and Tools & functions, so you know a tool from a skill.
Skill vs tool — don’t mix them up
A tool is a single low-level callable — one API endpoint, one SQL search, one function with a JSON input schema. A skill is a higher-level capability: a named bundle of instructions (a prompt body) plus the tools it needs, written so an agent knows when and how to use it. Think of a tool as a verb and a skill as a small playbook that uses verbs.
| Tool / Function | Skill | Skill Pack | |
|---|---|---|---|
| Granularity | one callable | one reusable capability (prompt + tools) | a bundle of skills |
| You author | code/endpoint + input schema | a name, description, body (Markdown) | a list of member skills |
| Reused by | agents that call it | agents that pin it | agents that pin the pack |
| Built in | A5 | this page | this page |
Pinning is cheap. Pinning several skills costs you nothing until they’re used — a skill’s instructions are only read when the agent actually reaches for it. Pinning a pack behaves exactly as if you had pinned each of its skills yourself.
The Skills surface
Studio > Agents > Agent Toolkit > Skills opens a two-tab builder: one tab for individual
Skills and one for Skill Packs. Both tabs use the same left-list / right-detail shape
you’ve seen across Studio.
┌────────────── Studio > Agents > Agent Toolkit > Skills ──────────────────┐
│ [ Skills | Skill Packs ] │
│ ┌── list ────────────────────────┐ ┌── detail / editor ──────────────┐ │
│ │ scope ▾ ⇅ sort search │ │ (Skills tab) → the selected │ │
│ │ extract-resume-fields │ │ skill, read-only, with a ⋮ │ │
│ │ [Project] V3 ▾ │ │ (Skill Packs tab) → pack │ │
│ │ summarise-clause [Platform] │ │ detail, or "No Skill Pack │ │
│ │ [ + Skill ] / [ + Skill Pack ] │ │ Selected" empty state │ │
│ └────────────────────────────────┘ └─────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────┘
| Control | What it does | Notes |
|---|---|---|
| Skills / Skill Packs tabs | Switch between authoring single skills and bundling packs | A spinner shows while packs load. |
Scope filter (All / Platform / Project) |
Narrows the list by where a skill lives | Project skills are yours; Platform skills are shipped by the platform (read-only). |
| Sort toggle | Flips order (date ⇄ A–Z) | — |
| Search | Reveals a field; filters the list by name | — |
| Scope badge (on each row) | Where the skill lives — Project, Platform, and on some rows Environment or Subscription | Tells you at a glance whether you can edit it: only Project skills are yours. |
Version chip V<n> ▾ |
From V2 up it becomes a select of the version history (with “Load more”); a new skill just shows a flat V1 | Every save bumps the version; older ones stay selectable, and a row expands to show “n Past Versions”. |
| + Skill | Opens the Skill Editor on its own page | — |
| + Skill Pack | Creates a new pack (right pane switches to create mode) | — |
What you can change depends on where a skill lives. Skills you author in this project are yours to edit. A skill supplied by the platform, or managed for the whole environment or workspace, opens read-only — the editor tells you so, and trying to edit or delete it returns a message pointing at the level that owns it. If the Skills entry itself is missing from the menu, ask your administrator.
The Skill Editor
Selecting a skill in the list shows it read-only on the right. To write one, click + Skill, or select a skill and choose ⋮ ▸ Edit — either opens the Skill Editor on its own page, replacing the list until you come back. It has a header strip and two tabs: Form (the everyday authoring surface) and Markdown (the skill body, where the actual instructions live).
| Control | What it does | Notes |
|---|---|---|
| ← Back | Returns to the Skills list | Unsaved edits are lost. |
| Title | Shows mode + <scope>: <name> (e.g. Project: extract-resume-fields) |
Reads New / Edit / View. |
| Read-only badge | Marks a skill you cannot edit (a skill supplied by the platform, or one managed for your whole workspace) | Hover for the reason; the editor becomes view-only. |
| Sysadmin override badge | Shows when someone with platform-level administration rights is editing a normally read-only skill | You won’t see this in normal use. |
| Reset to default | Reverts a customised Platform skill to as-shipped | Platform administrators only; appears only when a Platform skill has been customised. |
| Create / Update | Saves the skill (creating it, or bumping its version) | Disabled unless the form is dirty and not read-only — there is no autosave. |
Form tab — field by field
| Field | What it’s for |
|---|---|
| Name (required) | The skill’s handle — lowercase letters, digits and hyphens, up to 64 characters (e.g. extract-resume-fields). This is how agents and packs refer to it, and it is fixed once the skill exists: the field is locked when you reopen the skill. |
| Category | A free-form grouping label (e.g. lending/underwriting). Leave it empty for uncategorised. |
| Description | One or two sentences stating what it does and when to use it — e.g. “Extract structured fields from a résumé; use when the document is a CV.” The “use when…” half matters: it’s the hint that tells an agent to reach for this skill. |
| Tags | Free-form labels for searching and grouping skills. |
| In packs | A chip strip of the Skill Packs this skill belongs to — add or remove pack membership right here, the mirror of editing from the pack side. |
| Runtime | Markdown only (the default — instructions and nothing else) or a sandboxed Python 3.12 runtime. |
| Entry script · Dependencies · Network allowlist | Only shown once you pick the Python runtime: the script the skill starts from, the package names it may install, and the hosts it may reach. Markdown-only skills never see these three. |
| Toggles | Active, on by default; and Disable auto-invoke, which the field itself explains as “call by exact name only” — a skill with that on is not offered to an agent by discovery. |
Markdown tab — the body
The Markdown tab is the skill’s body: the instructions the agent reads when it invokes the skill, written as a Markdown document. A Raw / Preview toggle flips between editing the source and reading it rendered. This is where you say, in plain language, how to do the capability: the steps, the tools to call, the output format, the edge cases. Parameters and inputs the skill expects are described here in the body. Keep it focused — remember the body is only pulled into the prompt at the moment of use.
Write the Description for discovery (when should an agent pick this skill?) and the Markdown body for execution (how does it do the job?). Mixing the two is the most common authoring mistake.
Behaviours to know
- Save is explicit and version-bumping. Each Create/Update writes a new version; the old one stays selectable in the row’s version chip. Nothing autosaves.
- Scope is the Project. Skills you author are Project-scoped — usable by agents in this project. Platform-scoped skills are read-only here.
- Read-only states are real. If you opened a skill supplied by the platform, or one shared to your whole workspace, the Create/Update button stays disabled and a Read-only badge explains why. Author your own version in this project instead of trying to edit in place.
Skill Packs
A Skill Pack bundles related skills so an agent picks up the whole set at once. On the Skill Packs tab the left pane lists packs (with the same scope/sort/search header); the right pane is the pack detail.
| Control | What it does | Notes |
|---|---|---|
| Pack card | Shows name, scope badge, version badge, description | One per pack. |
| ▸ Skills (n) expander | Lists the pack’s child skills | Click to expand. |
| + Add skill to pack | Adds a member skill to a writable pack | Only on packs you can edit. |
| + Skill Pack | Creates a new pack | Right pane switches to create mode. |
| Pack detail (right) | Description, Category, Tags, Skills in pack (n) — drag to reorder — past versions, and Used by agents (n) | “Used by agents” tells you who’s relying on this pack before you change it; each agent is a chip you can click through to. |
How a pack expands at load time
When an agent loads a pinned pack, the platform expands the pack into its member skills — the agent behaves exactly as if you had pinned each member skill individually. So a pack is a convenience wrapper: pin once, get the whole set; edit the pack’s membership later, and every agent that pinned it picks up the change next load.
Watch out. Because a pack expands to its members, a skill can end up reaching an agent both directly (pinned) and via a pack. The agent’s Capabilities tab flags this with an “also in pack X” collision badge so you’re not surprised by the duplicate.
Attaching a skill or pack to an agent
You don’t attach skills here — you attach them on the agent, in the Capabilities tab of the agent editor. That tab has four capability groups; two are about skills:
- Skill Packs — + Pin pack; pinned packs show as cards labelled “Pack”, with the member count (N skills) and a scope badge.
- Skills — + Pin skill to pin an individual skill. Pinned skills show Pinned plus a runtime badge and any “also in pack X” collision badge. A ghost list below offers the in-scope skills the agent could auto-discover, each with its own Pin button.
- “Restrict this agent to pinned skills only” checkbox — when ticked, the agent may use only the skills you explicitly pinned, ignoring auto-discoverable ones. Use it when you want tight, predictable behaviour.
So the division of labour is: author skills and packs here; pin them onto an agent over in Capabilities.
Skills don’t have their own marketplace. There is no place to publish a single skill on its own: Hubs offers whole Solutions and individual Agents (
Studio > Hubs), and nothing narrower — see Hubs & solutions. Everything on this page is scoped to the project you author it in.
Try it yourself
- Go to
Studio > Agents > Agent Toolkit > Skills. On the Skills tab, click + Skill. - On the Form tab, set Name to
summarise-documentand Description to “Summarise a document into 3 bullet points; use when the user asks for a quick summary.” Add a Tag likesummary. - Switch to the Markdown tab and write a short body, e.g.: “Read the supplied document. Produce exactly three bullet points capturing the key facts. Keep each bullet under 20 words. If the document is empty, say so.”
- Click Create. Note the new V1 chip on its row.
- Switch to the Skill Packs tab → + Skill Pack. Name it
Quick-Reads, give it a description, then use + Add skill to pack to addsummarise-document. Save. - Open any agent, go to its Capabilities tab, and + Pin pack →
Quick-Reads. The pack card shows a Pack badge and its skill count. Your skill is now live on that agent.
You’ve authored a reusable capability once and handed it to an agent — and you can hand the same pack to ten more agents without rewriting a word.
Where to go next
- MCP servers — connect external tool servers an agent can call.
- Your first agent — the Capabilities tab where you pin what you built here.
- Hubs & solutions — publish whole solutions and individual agents for other projects to install.
- Tools & functions — the single-callable layer skills build on.
Prefer learning inside the product? The same academy lives in the platform's Learn menu — every screen links to the chapter that explains it.
See the platform live