Skill files (SKILL.md)

On your computer, a skill is a folder with a SKILL.md file inside, or a single .md file. This page covers the file's shape and its top block, where Oda finds skill files, and what happens when a file fails its checks. To add a skill from a chat, see Create and install skills; to manage the skills on your computer, see Manage your skills.

What a skill file looks like

A skill folder sits directly inside a skills folder, and the SKILL.md inside it is what makes it a skill:

text
<skills folder>/
  review-checklist/
    SKILL.md
    references/
      format.md

The lines at the top of the file

The block between the two --- lines is the skill's frontmatter: settings written as plain line: value pairs.

A true or false line accepts true and false, the spellings yes and no, on and off, and 1 and 0, in any letter case. Oda never guesses at a line it cannot read: the whole skill is dropped, and a warning names the field.

yaml
---
name: review-checklist
description: Check a change against our review checklist. Use when asked to review a change before it is shared.
whenToUse: When the user asks for a review pass, or a check before sharing.
---

When Oda saves a skill from an install, it writes the top block in the current form: a name such as Weekly Report is written as weekly-report, when_to_use becomes whenToUse, and an older invocation key is written its current way. Everything else, including your extra lines and the instructions below the block, is kept. How the two invocation lines play out in a chat is on Skills: loading and running.

Extra files beside the skill file

A skill can bring extra files beside SKILL.md, commonly under folders named references, scripts and assets. The skill points to them by relative path, such as references/format.md; Oda finds them in the skill's own folder and reads each one only when the skill needs it.

Where Oda finds skill files

Skill files can come from more than one place. When the same name exists in more than one of them, the nearer one is used. The places, from nearest to furthest:

Oda keeps its skill list current on its own:

What happens when a file fails its checks

When Oda saves a skill, from a chat or an install, the file is checked first, and a refusal names what to fix:

A file you place in a skills folder yourself meets the same rules. When Oda reads the folder, a file that fails is skipped, so the skill simply does not appear, and a warning records the file and the reason:

Two more checks apply to the settings lines themselves:

Fix the named problem and save the file again; Oda reads it afresh.

Questions, answered

What decides the name I run a skill by?

The name line in the top block. It must be lowercase letters, digits and single hyphens, at most 64 characters, and it becomes /<name>. When Oda saves a skill from an install, it writes the name in this form: Weekly Report becomes weekly-report.

Can I write a skill as a single file?

Yes. A single .md file directly inside a skills folder works in the same way as a folder with SKILL.md: Oda reads its top block and its instructions. The rest of this page applies to both forms.

What happens if two skills have the same name?

The nearer place wins, so the name always means the nearest skill file. From nearest to furthest: a project you work in, a custom skills folder, your skills folder, a shared folder, then the skills that come with Oda.

Do I need to restart Oda after adding or editing a skill file?

No. A new, renamed or removed skill, and an edit to its top block, are picked up without a restart; an edit to the instructions takes effect the next time the skill is loaded. A skills folder you have not created yet is picked up as soon as you create it. If a skill still does not appear, check the file against the rules above.

Which lines can a skill file's top block hold?

name and description are required; whenToUse, disable-model-invocation and user-invocable are optional; other lines, such as metadata, are allowed and kept as you wrote them. A true or false line accepts true, false, yes, no, on, off, 1 and 0.

What is the difference between the description and the when-to-use line?

The description is required, says what the skill does and when to use it, and is the only text Oda sees before loading the skill; Oda chooses from it. The whenToUse line is an optional, longer note, at most 1024 characters, that travels with the skill as a note for people, such as in the save request when Oda writes a skill from a chat.

Why does a skill file I wrote not appear?

Most often the file did not pass its checks: its top block is missing or cannot be read, its name or description line is missing or not in the accepted form, or the SKILL.md sits deeper than one level inside a skill folder. Oda skips the file and records the reason, so the skill does not appear and a small typo can look like a missing skill. Fix the named problem or move the file, and Oda picks it up on its own.

What are the references, scripts and assets folders for?

They carry a skill's extra files: reference notes, scripts and other assets that sit beside SKILL.md. The skill points to them by relative path, such as references/format.md; Oda finds them in the skill's folder and reads each one only when the skill needs it.

Does Oda change a skill file when it saves one for me?

When Oda saves a skill from an install, it writes the top block in the current form: a name such as Weekly Report becomes weekly-report, when_to_use becomes whenToUse, and an older invocation key is written its current way. Your extra lines and the instructions are kept.

Can I keep my own notes in a skill file?

Yes. Extra lines, such as metadata, are allowed and are left as you wrote them; they do not change how the skill runs. When Oda saves a skill, it keeps them.