> ## Documentation Index
> Fetch the complete documentation index at: https://dify-6c0370d8-release-1-17-0.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills

> Package a task and its supporting files into a reusable skill, then share it workspace-wide

A *skill* is a self-contained package you build once and reuse. It includes a `SKILL.md` that holds the instructions for one task and tells the agent when to use it, plus any reference materials and scripts the task needs. For the full format, see [Agent Skills](https://agentskills.io/home).

Create, import, and manage your library skills on the **Skills** page.

You can keep up to 500 skills in the library and share them workspace-wide. When you publish an update to a skill, every agent that uses it picks up the latest version.

Use a skill in:

* a [New Agent](/en/self-host/use-dify/build/new-agent/build#skills) app
* a [New Agent node](/en/self-host/use-dify/nodes/agent) in a [Workflow app](/en/self-host/use-dify/build/workflow-chatflow)

<Info>
  Creating and managing skills requires the Editor role or above.
</Info>

## Create a Skill

From **Skills**, click **Create**. To start from a copy instead, choose **Duplicate** from an existing skill's **⋯** menu; published skills are copied without draft changes. Either way you land in the editor, where you write the skill yourself or draft it with the [Skill Builder](#draft-with-the-skill-builder).

In the body of `SKILL.md`, lay out the procedure for the agent to follow. In the frontmatter, set:

* **Display name**: the name shown at the top of the sidebar and anywhere the skill appears. Make it easy to recognize.
* **Name**: the unique name agents use to reference the skill, like `refund-requests`.
* **Description**: what the agent reads to decide whether to use the skill. Make it specific.
* **Metadata**: custom fields for your own reference details, like `owner: payments-team` or `source: https://wiki.example.com/refund-policy`.

Add any scripts, references, and other supporting files through the file tree. What you can do with each depends on its type:

* **Text and code** (Markdown, scripts, JSON, YAML, and the like): edit in place.
* **CSV, images, and PDFs**: preview in place.
* **Other files**: download to view.

### Draft with the Skill Builder

Chat with the Skill Builder and it drafts the skill for you. Describe the scenario or attach existing process docs, and it writes the `SKILL.md` and creates supporting files to review and refine.

It accepts the following file types:

| Type          | Examples                                         |
| :------------ | :----------------------------------------------- |
| PDF           | `.pdf`                                           |
| Word          | `.docx`                                          |
| Excel         | `.xlsx`                                          |
| PowerPoint    | `.pptx`                                          |
| RTF           | `.rtf`                                           |
| Image         | `.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.svg` |
| Text and data | `.txt`, `.md`, `.csv`, `.json`, `.yaml`          |

Attach up to 10 files per message: images up to 10 MB and other files up to 15 MB. They are context for the Skill Builder, not part of the skill. To include a file, add it through the file tree.

## Import a Skill

To bring in a skill built elsewhere as a library skill, click **Import** and choose a `.zip` or `.skill` package. The package needs a `SKILL.md` inside and can be up to 50 MB by default, adjustable with [`UPLOAD_SKILL_FILE_SIZE_LIMIT`](/en/self-host/deploy/configuration/environments#upload_skill_file_size_limit). Once imported, it arrives as a draft for you to review and publish.

## Tag a Skill

Add tags to a skill on its card or in the editor, then filter skills by tags.

## Publish and Versions

Your edits autosave as a draft. Publish the draft so you can add it to agents. Each publish is saved as a version you can revisit or restore later. To record what a version changed, open its **⋯** menu and add a title and note.

<Note>
  Restoring a version replaces your current draft. Publish the draft to make it the newest version.
</Note>

## Export a Skill

To take a skill beyond this workspace, choose **Export** from the **⋯** menu on its card. You get the skill's latest published version as a `.zip`.

## Delete a Skill

Deleting a skill removes it from the workspace and from every agent that uses it, along with all of its versions. A deleted skill can't be recovered; export a copy first if you may need it again.
