# Skills & Knowledge

You can upload Skills and give Knowledge to your files via Agent Files.

Agent Files are knowledge files you can attach to your worker. They can contain skills, guidelines, process descriptions, templates, and anything else your worker needs to keep in mind in order to complete its tasks effectively.

***

### How files work

When you add a file, its contents are added directly to your worker's instructions. Your worker can then reference that knowledge at any point during a task — without you needing to repeat it in every prompt.

Files typically fall into one of three categories:

**Skill files (`SKILLS.md`)** teach your worker how to perform specific tasks. A skill file is a collection of capabilities, each with precise instructions on how to carry it out. For example, a skill file for a writing worker might describe how to format a blog post, how to write a subject line, or how to adapt tone for different audiences.

**Templates** give your worker a blueprint to follow when generating output. For example, if you build a worker that produces email campaigns, you can upload the HTML template you always send to your contacts — and the worker will use it as the basis for every email it generates.

**Guidelines** capture rules, processes, and standards your worker should always follow. This includes standard operating procedures, brand voice guidelines, compliance requirements, or any other instructions that apply across tasks.

***

### Adding files

You can add any text file or PDF to your worker. Supported file types are:

* `.md`&#x20;
* `.txt`&#x20;
* `.csv`&#x20;
* `.html`&#x20;
* `.pdf`&#x20;
* `.js`&#x20;
* `.ts`&#x20;
* `.tsx`&#x20;
* `.c`&#x20;
* `.cc`&#x20;
* `.cpp`

If you upload a file in a format not listed above, Toolhouse will attempt to convert it to text first. If the conversion succeeds, the file will be added to your worker. If it fails, you'll be prompted to upload a supported format instead.

***

### Tips for writing effective files

**Be explicit.** Your worker follows instructions literally. If a guideline has exceptions, write them down — don't assume the worker will infer them.

**Keep files focused.** One file per topic is easier for your worker to apply than a single large file covering everything. For example, keep your tone guidelines separate from your formatting rules.

**Use Markdown for structure.** Even for non-skill files, using headings, lists, and bold text helps your worker navigate the content and apply the right section at the right time.

**Name your files clearly.** File names are visible to your worker and help it understand what each file is for. Prefer descriptive names like `email-template.html` or `brand-voice-guidelines.md` over generic ones like `file1.txt`.

***

### Example

You're building a worker that generates weekly email newsletters. You want every email to use the same layout and follow your brand's tone of voice. You add two files:

* `newsletter-template.html` — the HTML layout your team always uses, with placeholder sections for the headline, body, and footer
* `brand-guidelines.md` — a document describing your tone of voice, words to avoid, and formatting rules

At runtime, the worker reads both files and uses them together to produce an email that matches your layout and sounds like your brand — without you needing to explain any of this in your prompt.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/capabilites/skills-and-knowledge.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
