Skip to main content
A skill is a SKILL.md file. The runtime loads its frontmatter into the model prompt so the model can decide when the skill applies, then reads the body when it needs the instructions. Skills do not run. They do not call tools, and they are not attested. The SOP is the procedure. The plugin is the code. The skill is the explanation that sits beside both.

Where skills live

The runtime loads skills from several places and keeps the first one when names collide: A skill shipped inside a plugin is namespaced, so it cannot hide a workspace skill of the same name. kinetic skills list --agent device shows exactly what the device agent loads.

SKILL.md

SKILL.md
string
required
Lowercase letters and hyphens. This is the identifier read_skill uses.
string
required
What the skill does and when to use it, written in the third person. The model sees this during discovery, so write it as a routing hint, not a summary of the body.
string
An SPDX identifier, such as MIT.
string
A handle or organization.
string
default:"0.1.0"
SemVer. Scaffolded skills start at 0.1.0.
string
A grouping used by skill registries, such as machines or ops.
string[]
Free-form labels. A slash tag exposes the skill as a slash command on channels that support one.
boolean
default:"false"
When true, the full instructions stay in the system prompt even in compact skill mode. Use this for a short policy the model must not be able to skip. Leave it false for ordinary machine guidance, which the model loads with read_skill when the description matches.
The body is ordinary Markdown. Tell the model which tools to call, in what order, and what must never appear in a record.

Create and install

kinetic skills add writes SKILL.md plus scripts/, references/, and assets/. Pass --no-scaffold to skip the extra directories. The name must be lowercase with hyphens, and the description is required. To install a skill someone else wrote:
kinetic skills audit checks a directory or an installed name before you trust it. A skill whose audit fails is dropped at load time and does not reach the model.

Skills inside a plugin package

kinetic plugin create writes skills/<package>/SKILL.md. Keep it when the model needs extra guidance, and delete the directory and the skill capability from manifest.toml when the SOP and tool descriptions are enough on their own. After kinetic plugin install, the runtime discovers that file from the installed plugin and registers it as plugin:<package>/<skill>.
Put the hard sequence in the SOP. Put the judgment in the skill: which questions to ask, which fields belong in a record, and what to refuse.