ToolsXpo
Workspace & BillingToolsXpo CodeGuides

Skills: procedures the agent loads on demand

Reusable instruction sets the agent activates when a task matches, so a long procedure does not cost context on every request.

Updated September 2, 2026

A skill is a procedure the agent loads only when it is relevant. That is the difference from a rule, which applies to every request.

Why on-demand matters

A twenty-line deployment procedure as a rule costs those tokens on every request, including the ones about CSS. As a skill it costs nothing until a task actually mentions deploying.

For anything long or narrow, this is the right shape.

Where they live

.toolsxpo/skills/<name>/    in your repository
~/.toolsxpo/skills/<name>/  on your machine

Each skill is a folder with a SKILL.md:

MARKDOWN
---
name: release
description: Cut a release — version bump, changelog, tag, publish
---

1. Confirm the working tree is clean and tests pass.
2. Bump the version in `package.json`.
3. Move Unreleased entries in `CHANGELOG.md` under the new version.
4. Commit as `chore(release): vX.Y.Z`, tag `vX.Y.Z`.
5. Stop. Do not push or publish — report what is ready.

The description does the work

The agent decides whether to load a skill from its description alone. That one line is doing all the matching, so it should name the situation, not the skill:

  • Good: "Cut a release — version bump, changelog, tag, publish"
  • Weak: "Release helper"

A description that does not describe a situation is a skill that never loads.

Supporting files

Anything else in the folder is available to the agent when the skill loads — templates, checklists, example configs. Reference them by path from SKILL.md.

Managing them

The Customize button lists every discovered skill and lets you toggle them. A skill that is loading when it should not be is usually a description that is too broad.

See also

skillscustomizationcontext

Related