> For the complete documentation index, see [llms.txt](https://docs.uptiq.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.uptiq.ai/ai-workbench-qore/platform-resources/skill-library/custom-skills.md).

# Custom skills

Upload your own skill, written in a SKILL.md file, and attach it to an agent.

A **custom skill** is a skill you write yourself and upload to an agent. It's a folder that holds one `SKILL.md` file, which describes the skill, plus any supporting files it needs, such as scripts, reference data, or templates.

Use a custom skill to give an agent your own procedure or know-how, such as how your institution reviews a loan file or formats a credit memo, when no built-in skill or configured skill covers it.

A custom skill you upload is attached to one agent. Each project also has a catalog of reusable custom skills, which you can attach to an agent without uploading anything.

## What the folder holds

| Item             | Rule                                                                                            |
| ---------------- | ----------------------------------------------------------------------------------------------- |
| `SKILL.md`       | Exactly one. It describes the skill, and its frontmatter gives the skill's name and description |
| Supporting files | Up to 10                                                                                        |
| File size        | At most 10 KB per file                                                                          |

The frontmatter at the top of `SKILL.md` sets the name and description that Qore shows for the skill:

```markdown
---
name: credit-memo-format
description: Formats a credit memo in the institution's house style. Use when the user asks for a credit memo or a memo summary.
---

# Credit memo format

Write the memo in these sections, in this order: ...
```

{% hint style="info" %}
**Say when to use the skill in the description.** The description tells the agent what the skill is for. "Use when the user asks for a credit memo" works better than "Credit memo helper".
{% endhint %}

### Supported file types

<details>

<summary>Every file type you can upload</summary>

| Kind                   | Extensions                                                                                                                                                                                        |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Code                   | `.py`, `.js`, `.mjs`, `.cjs`, `.ts`, `.mts`, `.cts`, `.jsx`, `.tsx`, `.rb`, `.php`, `.pl`, `.lua`, `.r`, `.go`, `.rs`, `.java`, `.kt`, `.swift`, `.c`, `.h`, `.cpp`, `.hpp`, `.cc`, `.cs`, `.sql` |
| Scripts                | `.sh`, `.bash`, `.zsh`, `.ps1`, `.bat`                                                                                                                                                            |
| Data and configuration | `.json`, `.jsonc`, `.yaml`, `.yml`, `.toml`, `.ini`, `.cfg`, `.conf`, `.env`, `.xml`, `.csv`, `.tsv`                                                                                              |
| Text and web           | `.md`, `.mdx`, `.rst`, `.txt`, `.html`, `.htm`, `.css`                                                                                                                                            |

</details>

{% hint style="warning" %}
**Keep secrets out of the folder.** `.env` files can be uploaded, but a custom skill is a set of files, not a secret store. Put keys and tokens in [Secrets & Variables](/ai-workbench-qore/console/agent-builder/build/secrets-and-variables.md) instead.
{% endhint %}

## Upload a custom skill

1. On the Builder Canvas, select **+ Add Skill**.
2. Open the **Custom Skills** tab.
3. In **Upload a Skill**, select the upload area to choose the skill folder, or drag the folder onto it.

Qore reads the name and description from `SKILL.md` and attaches the skill to the agent.

## Remove a custom skill

Deleting a custom skill from an agent removes the skill and deletes the files you uploaded for it.

## Related pages

* [Skill Library](/ai-workbench-qore/platform-resources/skill-library.md): the built-in skills, and the skills you configure.
* [Adding a skill to the agent](/ai-workbench-qore/console/agent-builder/build/adding-a-skill-to-the-agent.md): every tab in the Add Skill dialog.

***

{% columns %}
{% column width="83.33333333333334%" %}

<p align="right"><em>Maintained by</em> <mark style="color:green;">Abhishek Paul</mark><br><code>AI-assisted, human-approved</code></p>
{% endcolumn %}

{% column width="16.666666666666664%" %}

<div align="left"><img src="https://1326225582-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0qmgQjJ5aArDTj2ACFHG%2Fuploads%2Fgit-blob-d034645b4f8f8ee661985f5306b60ded3289653c%2Fmaintainer-abhishek-paul.png?alt=media" alt="" width="60"></div>
{% endcolumn %}
{% endcolumns %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.uptiq.ai/ai-workbench-qore/platform-resources/skill-library/custom-skills.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
