Unify Logo Footer.svg
Unify Agentic AI
Logo
Skills

Skills

Logo

3 mins READ

A skill is reusable expertise packaged as a file bundle — write it once, publish it, and attach it to as many agents as need that expertise.

Overview

At the center of a skill is a SKILL.md document — written guidance (with a name and description) that teaches an agent how to handle something — alongside any supporting files and a set of tools the skill can use. A skill is markdown-and-files based: you write the instructions, attach reference files, and link tools, then publish it so agents can attach it. This is where you build skills; an agent's own Skills section is where you attach them.

Creating a Skill

On the Skills list, the Create skill button offers two options:

  • Create from scratch — "Start with a blank skill and build it up file by file." You give the skill a name and a description (both required — the description is what helps agents know when to use it), then edit it.

  • Import .zip file — "Upload a packaged skill folder with its files and tools." The upload accepts .md, .zip, or .skill files.

Import rules

Format

Rule

.md

Becomes the skill's SKILL.md. Must start with YAML frontmatter (--- … ---) containing non-empty name and description fields; quoted values and multi-line block scalars (> / |) are all accepted. Missing frontmatter, name, or description fails the import with a clear error.

.zip / .skill

A .skill file is processed as the same archive format as a .zip. The archive must contain a SKILL.md (if more than one, the topmost one wins and its folder becomes the skill root). Every other file is imported into the skill's Files with its folder structure preserved as relative paths (system junk like .DS_Store is skipped). An archive without a SKILL.md is rejected as not a valid skill.

The list shows each skill's Status (Live or Draft), Version, Tags, who it's Shared with, Owner, and Last updated (with a hover audit tooltip; the columns menu offers hidden Created On / Last Updated By, and you can save filtered views of the list). A skill's row menu offers Edit Details — a quick modal for its name, description, and tags (it saves immediately) — while clicking the row opens the full editor.

Editing a Skill

Open a skill to edit it — the editor opens on the rendered Preview; switch to Code for raw markdown. The header's actions menu holds Edit details (name/description/tags — staged onto your draft and saved with it, unlike the list's immediate version) and Share.

  • SKILL.md — write the skill's guidance in the editor, with a Preview / Code toggle to see it rendered or as markdown. You can also replace the body by uploading a markdown file.

  • Files — add folders and upload files that support the skill; preview, rename, move, download, or remove them. Expanding a folder with no files in it shows a No files yet placeholder. Removing a whole folder: an empty folder is removed immediately, while a folder that still has files asks Remove folder? — because that can't be undone. The built-in references, scripts, and assets folders can't be renamed or removed.

  • Tools — add tools the skill can use (a connector action with its connection, inputs, and controls), the same way you configure a tool on an agent.

Use View changes to see a diff of unsaved edits and revert if needed, then Save draft. If you try to leave with unsaved changes, a prompt asks you to Leave (discard), Stay, or Save and exit; if you only have view access to the skill, you just get Leave / Stay.

Publishing and Versioning

A skill has a lifecycle shown by its status badge: Draft (never published), Live (published and current), or Unpublished Changes (published, then edited). Use Publish to release a version — you'll be prompted to save first if there are unsaved changes, and the button is disabled when there's nothing new to publish. Open the version history to compare versions (it highlights which files were added, removed, or changed) and Restore an earlier one.

Note: Only published skills can be attached to agents, so publish once a skill is ready.

How Agents Use a Skill

Agents pick up skills from their own Skills section, where they attach a published skill from the library. Sharing controls who can use a skill — the list shows each skill as shared with Everyone, Restricted (specific users and teams), or Only me. Build and publish a skill here once, share it appropriately, and attach it to as many agents as need that expertise.

How a Skill Reaches the Agent at Run Time

Skills load on demand, not all up front — so attaching many skills doesn't bloat every conversation:

  1. The agent's system prompt gets a built-in loadSkill tool whose description lists each available skill's name and description — nothing more. This is why the description matters so much: it's the only thing the agent sees before deciding to load.

  2. The instruction to the agent is mandatory: if a user request relates to any listed skill, it must call loadSkill with the matching skill name(s) before answering — even for tasks that look simple — because the skill may carry required formatting rules or constraints.

  3. loadSkill returns the full SKILL.md guidance of the requested skills, plus a listing of each skill's files. Asking for a skill the agent can't access returns a notice instead of content.

  4. Which skills are "available" is access-controlled per conversation: a skill qualifies if it's shared with everyone, with the current user or one of their teams, or attached to the agent itself (for an agent team, skills of the member agents count too). Disabled skills never load.

  5. When the agent runs code, its sandbox has a read-only skills directory with each available skill materialized as a folder (its guidance as skill.md plus the skill's files at their relative paths). Skill folders are refreshed per skill version, so agents always see the published content.

Note: Because the agent loads skills by name, an agent can't have two skills with the same name — attempting it is rejected with a duplicate-name error.