Skills

Reuse one set of instructions as LLM system context and as MCP prompts.

A skill is a reusable set of instructions for AI - the steps to follow, the formats to keep to and the examples to work from - kept in the platform rather than hardcoded in services. One skill serves both directions of AI traffic:

  • An LLM connection call that names a skill sends its instructions as the system context of that call.
  • An MCP gateway with the skill on its list serves it as a prompt of the same name, and MCP clients read it with prompts/get.

Skills are managed in the Dashboard under AI > Agent skills.

Skill files

Each skill is one directory under the server's config/repo/skills, with a SKILL.md file in it. The file starts with a frontmatter naming the skill and saying what it is for, and everything after the frontmatter is the instructions:

---
name: support-agent
description: How to answer customer support questions
---

You are a support agent for an electronics retailer.

* Answer in the customer's language.
* Keep replies under three sentences.
* When you do not know, say so and point to support@example.com.

Use a skill

Name the skill's directory in an invoke or chat call:

conn = self.llm['My OpenAI']

# One-shot, with the skill's instructions as the system context
response = conn.invoke(text, skill='support-agent')

# The same in a conversation - the instructions accompany every call
# and are never written into the chat's history
response = conn.chat(text, chat_id=chat_id, skill='support-agent')

Naming a skill that does not exist raises an exception - a call with a misspelt name is never sent to the provider without its instructions.

Live edits

A skill is read from disk on each call, never cached, so editing its SKILL.md - on the Dashboard's skills screen or straight in the file - changes the next call, with no restarts and no redeployments. Since skills are plain files in the server's repository, they version, diff and deploy like the rest of your configuration - the GitOps page shows skills alongside the rest of the AI configuration.

The built-in diagnostic skills

Beyond the skills you write, the platform ships its own - the diagnostic skills that the LLM-driven alert diagnosis described under observability uses when it investigates a failing connection. There is one per connection type - mcp-diagnostics, llm-diagnostics, rest-outgoing-diagnostics, sql-outgoing-diagnostics, email-imap-diagnostics, email-smtp-diagnostics, file-outgoing-diagnostics, microsoft-cloud-diagnostics, odoo-diagnostics and scheduler-diagnostics - and each teaches the model how to read that connection type's configuration and audit trail when an alert fires. They are part of the product, are not listed on the Agent skills screen and require nothing from you - they are named here so their appearances in diagnosis output are recognizable.

See also

FeatureWhat it does
Invoking LLMsOne-shot calls that send a skill as their system context
Multi-turn conversationsSkills that accompany every call of a conversation
MCP promptsThe same skills served to agents through a gateway
GitOpsSkills versioned and deployed with the rest of the AI configuration