Skills
The Skills and Agents tabs in the marketplace, installing a skill versus attaching it to every run, attach levels and merge order, the repo-skill policy, and how skills reach each harness.
Preview. Skills 1.0 is built and merged but not deployed yet. Names, screens and defaults on this page can change before release.
A skill is a package of instructions an agent reads while it works: a SKILL.md file plus any files that go with it. Skills are versioned, and they are their own kind of marketplace item. A skill is no longer the same thing as an agent card. A card, or a stage card, refers to the skills it uses.
The marketplace tabs
Open the Marketplace. At the organization level it has three sections: Agents, Skills and Models (see Model Access). Inside a project the Marketplace also lists Workflows.
Agents
The Agents section is where you find and install agent cards. It has a tab per catalogue: Built-in, Organization, LangChain Hub, MCP Catalogs, Vendor-hosted and Git-hosted. Inside a project there is also an Installed list for that project's own cards. Installing puts a card in your org or project. You then place it on a stage in Settings, under Stages. See Stage Cards.
The old agents list in project settings now redirects to Agents, then Installed.
Skills
The Skills section lists the skills your org can see: built-in skills the platform ships, and skills your org imported.
- Search by name or description, filter by source (Built-in or This organization) and by whether a skill is installed.
- Open a skill to see its source, its versions and its files, and its
SKILL.mdas plain text. Imported skills are external content and are shown with where they came from. - Import pulls a skill from the Tessl registry into your org's catalogue. Only organization admins can import, and an API key cannot. In 1.0 imports are skills made of a
SKILL.mdand its files. Importing the same content twice creates one version.
Install versus attach to every run
These are two separate steps, and installing alone does not put a skill in any run.
| Step | What it does | Who |
|---|---|---|
| Install | Makes the skill available. At the org level, to every project. In a project, to that project. | Org admin for the org scope, project admin for a project |
| Attach to every run | Adds the skill to every run at that scope. Off by default. | Same as install |
A skill that is installed but not attached is used when a card or stage card names it. A skill that is attached rides along with every run in the org or project, whichever card runs.
The Attach to every run switch is on the skill's row and in its preview. Each install pins a version, the current one by default, and the pin can be changed later.
Attach levels and merge order
Skills can be attached at four levels, and the run merges them in this order:
| Order | Level | Where it is set |
|---|---|---|
| 1 | Org | Skills installed at the org level with Attach to every run on. |
| 2 | Project | The same, at a project. |
| 3 | Stage card | The skills listed on a card in a stage, in Settings, under Stages. |
| 4 | Card | The skills the agent card itself refers to. |
| 5 | Run | Skills already supplied on the work item by a workflow node. |
A later level replaces an earlier one that has the same skill name (the name in its SKILL.md), so the most specific copy wins. A stage card or a card can add skills and replace an attached one, but cannot remove an attached skill in 1.0.
Details of the merge:
- Versions. A reference uses its own version if it names one, else the project's pin, else the org's pin, else the skill's current version.
- Visibility. A level can only use skills it can see. A built-in skill is visible everywhere; an org's skill is visible only to that org.
- Disallowed tools. Each skill can disallow tools. For a run, the lists of every delivered skill are combined and applied on top of the run's existing limits. They only ever narrow what the agent may use.
- Limits. A run carries at most 32 skills, 256 KiB of files per skill and 1 MiB of files in total, and at most 32 KiB of
SKILL.mdtext per skill and 64 KiB in total. Skills are admitted most specific first, so a skill that does not fit is dropped whole, starting from the least specific level. A skill is never cut short. - Nothing drops silently. The dispatch receipt lists every skill that did not reach the run, with its level and a reason:
not_visible,version_missing,descriptor_only,size_caporcontent_integrity. If the skills could not be read at all, the run still goes ahead and the receipt says so.
Add skills to a stage card
In Settings, then Stages, open a stage and edit its cards. Each card has a Skills list. Pick from the skills your org can see (up to 32 per stage card). A list set at a higher scope is shown as inherited; changing it saves the full list at your scope.
The repo-skill policy
Your repository may already contain skills, for example under .claude/skills, .agents/skills or .pi/skills. The repo-skill policy decides whether the harness may use them:
| Policy | Meaning |
|---|---|
all | The harness discovers repo skills as a developer would. This is the default. |
allowlist | Only the repo skills you name. |
none | Only the skills attached by the platform. |
Set the project default in the project's Settings, under Stages, as Project repo-skill policy, and override it for a single card in a stage under Repo skills for that card. The card's setting wins, then the project's, then all. The policy travels with the run only when it is not all.
The platform sends the policy. Whether it is enforced depends on the runner build on your host. Treat it as advisory until your runner version says otherwise.
How skills reach the harness
At dispatch the platform resolves each skill to its content and sends it with the run: the skill's files, with a digest for each, and the SKILL.md text as a fallback. The runner on your host then places the skill where the harness can use it:
- Where the runner supports native delivery for a harness, the skill is materialized for that harness in its own skill format.
- Otherwise, and for older runners, the
SKILL.mdtext is appended to the agent's system prompt.
Which harnesses get native delivery is a property of the runner, not of the platform, and it is documented with the runner. See the layered execution model on donmai.dev.
API
| Method and path | Purpose | Minimum role |
|---|---|---|
GET /api/org/{orgId}/skills | List the skills the org can see, with install state. q, source, installed and projectId filter. | Org member |
GET /api/org/{orgId}/skills/{itemId} | One skill with its versions, file list and SKILL.md. | Org member |
GET /api/org/{orgId}/skills/registry-search | Search the Tessl registry for skills to import. | Org member |
POST /api/org/{orgId}/skills/import | Import a Tessl skill into the org. | Org admin, a person |
POST /api/org/{orgId}/skills/{itemId}/install | Install at scope org or project. autoAttach and version are optional. | Org admin for org, project admin for project; a person |
PATCH and DELETE /api/org/{orgId}/skills/bindings/{bindingId} | Re-pin a version, switch Attach to every run, or uninstall. | The install role of the binding's scope |