What is a skill?
A skill is a reusable workflow or playbook that helps an agent handle a class of tasks better. MeshAgent supports the open Agent Skills format, so you can point an agent at one or more skill directories and let it discover and follow those instructions when they are relevant. Skills are useful when you want to package domain knowledge, task steps, output expectations, or review criteria in a reusable format. Skills are packaged as folders that can include instructions, scripts, and other resources that agents can leverage to perform tasks more effectively. Skills allow you to use the model’s context window more effectively by only having agents discover and read skills when they need them instead of always loading the details into the agent’s system prompt.Skills vs tools, rules, and user prompts
These concepts work together, but they are not the same:- System prompt / Rules: the set of instructions or rules the agent sees every turn, this typically contains information about it’s persona or other information to drive consistent behavior across turns.
- User prompt: the task-specific request for the current turn.
- Skill: a reusable task playbook the agent can read and apply when needed.
- Tool: a callable capability such as web search, shell access, storage access, or another app action.
- Tools do work
- Skills explain how to do work
The common Agent Skills format
MeshAgent skills follow the common Agent Skills pattern used by several agent runtimes:- A skill lives in its own directory.
- The directory contains a
SKILL.mdfile. SKILL.mdstarts with a small YAML metadata block such asnameanddescription, followed by the skill instructions written in normal Markdown.- The directory may also include helper resources such as
references/,scripts/,assets/, templates, example files, or other supporting content.
How MeshAgent supports skills
MeshAgent agents accept skills through repeated--skill-dir flags in the CLI, or through skill_dirs in the corresponding Python implementations.
When you provide skill directories:
- MeshAgent reads the skill metadata and instructions.
- The skills are surfaced into the agent’s rules/context.
- The model decides when a skill is relevant.
- The agent carries out the workflow using the tools and room access you have enabled.
Which MeshAgent agents support skills?
MeshAgent agents including ChatBot, Worker, TaskRunner, and MailBot support this pattern. If a MeshAgent CLI runtime exposes--skill-dir, the same mental model applies: skills provide reusable guidance, while tools provide the executable capabilities.
When to use skills
Use skills when you want to:- Package a repeatable workflow once and reuse it across many runs.
- Keep complex task instructions out of long inline
--rulestrings. - Teach an agent how to choose tools, inspect files, and structure its final output.
- Ship domain-specific know-how with a deployed service.
- brand or editorial review workflows
- code generation or refactoring playbooks
- document transformation and reporting procedures
- research, analysis, or QA workflows
When not to use skills
Do not use skills as a replacement for:- tools, when you need the agent to actually gain a new capability
- rules, when the instruction should always apply to every turn
- schemas, when the system needs strict structured inputs or outputs
How skills fit with rules
Use both when it helps:- Put ongoing system behavior in
--ruleor--room-rules. - Put reusable task playbooks in skills.
- Let the user prompt describe the current task.
Where to go next
- Authoring Skills: write a portable
SKILL.mdand organize skill resources. - Using Skills with Agents: load skills into ChatBots, Workers, TaskRunners, and MailBots.
- Packaging and Deploying Skills: ship skills with a service container.
- Tools Overview: understand the callable capabilities that skills often rely on.