Skip to Content
Tares

How do I write a skill so an AI SRE loads the right steps for high latency?

In Tares, you write a skill as a SKILL.md file with a name and a description that says when to use it, then put your high latency steps in the body. Agents in a project that uses the skill see only the name and description, and they load the body with the skill tool when the task matches. Write the description around the situation, such as a latency alert firing, so the agent picks the skill at the right moment. This is one of the building blocks of an AI SRE setup.

How it works

A skill has three parts:

  • name: 1 to 64 lowercase letters, digits and dashes. It is unique on the instance, and the agent loads the skill by this name.
  • description: one paragraph, up to 1,024 characters. The agent reads it to decide when to load the skill.
  • body: Markdown, up to 64 KB. These are your high latency steps.

When a run is for projects that use skills, Tares adds two things to it. First, a section called Skills available in this project lists every skill as - name: description. Second, a skill tool takes a name and returns that skill’s body. An unknown name returns an error that lists the skill names, so the agent can correct itself.

The agent pays for a body only when it loads one. The list costs one line per skill. Each run records the skills it loaded, in order, and shows them as chips in the runs table and in the project’s activity.

An agent sees the skills of the projects its run is for, not every skill on the instance. Skills are plain instructions, not tools. What an agent can do is still set by its tools and MCP servers, and a skill can tell it how to use them. Details are on the Skills page.

Set it up

  1. Pick a name for the skill, for example high-latency-triage.
  2. Write a description that names the situation, not the content. “Use when a latency alert fires” tells the agent when to load the skill. “Latency knowledge” does not.
  3. Write the body as numbered steps the agent can follow, and end with who owns the follow-up.
  4. Save it as a SKILL.md file with YAML front matter holding name and description between two --- lines. Other front matter keys are ignored.
--- name: high-latency-triage description: How to triage high latency on a service. Use when a latency alert fires or responses get slow. --- # High latency triage 1. Read the last 30 minutes of the service with `read`, then run `stats` to see what moved. 2. Check for a deploy of the service or its dependencies in the hour before latency rose. 3. If the slowness comes from an upstream provider, say so and stop: that is the provider's incident, not ours. 4. End the note with the owning team.
  1. Add it to your project. In the console, open the project, click Skills, then use Upload SKILL.md, or New skill to fill in the form. To pick a skill another project already uses, choose Use one already on Tares.
  2. Or upload the file through the API. Use the project id from GET /api/projects:
curl -s -XPOST localhost:8787/api/projects/uc_1a2b3c/skills/upload \ -H 'content-type: text/markdown' --data-binary @SKILL.md

Uploading a file with a name that already exists replaces that skill in every project that uses it. A skill that breaks a rule, such as a name with capitals, a description with a blank line or an empty body, is refused with a message that says which rule. Creating, changing or deleting a skill through the API needs the admin scope, and reading needs read.

What you get

  • Agents in the project see your high latency skill by name and description in every run, and load the full steps only when the task matches.
  • Each agent’s prompt stays short, because the procedure lives in one place.
  • You edit the skill once and the change applies to every project that uses it.
  • You can check which agents loaded the skill. The project’s Skills overview shows the agents that loaded it in the last 7 days, and each run lists its loaded skills.
  • The skill exports and imports with the catalog under a top-level skills: section, so you can move it between instances.

When something else fits

  • If the task is a quick question about your data, note that Ask does not use skills, so put the steps in the agent’s own prompt or ask directly.
  • If you need an agent to do something new, such as call another system, add a tool or MCP server. A skill can only tell the agent how to use the tools it already has.

Still stuck? Get help

Last updated on