Features
Skills
Skills are custom automations defined as Markdown files with YAML frontmatter. They provide high-level instructions that guide the LLM's behavior in specific scenarios.
Skill Structure
A skill file (e.g., greeting.md) consists of two parts:
- Frontmatter: Meta-data, triggers, and filters.
- Instructions: Detailed guidance for the LLM.
File Location: ~/.ubot/skills/<skill-name>/SKILL.md
YAML Frontmatter
name: Greeting
description: Respond to greetings warmly
triggers: [message]
filter_dms_only: true
condition: "the message is a greeting like hi, hello, hey"
outcome: reply
enabled: true
triggers: What event should activate this skill. (Currently onlymessageis supported).condition: A natural language description of when the skill should run.outcome: The primary goal of the skill (e.g.,reply,tool_call).enabled: Iffalse, the skill will be ignored.
Instructions
The Markdown body contains the instructions for the LLM:
# Instructions
Respond warmly and ask how you can help today.
Mention the person's name if you know it from the "Soul" data.
If they ask for specific help, acknowledge it and proceed.
Creating Skills
You can create skills in three ways:
- Dashboard: Go to the Skills page and use the visual editor.
- Conversational: Ask Ubot to create a skill for you:
"Ubot, create a skill that always reminds me to drink water when I say 'I'm thirsty'."
- Manual: Write the
SKILL.mdfile directly in~/.ubot/skills/.
How Skills work
Skills are injected as context into the LLM prompt when their conditions match. The LLM decides whether and how to follow them based on the conversation flow. This differs from traditional if-else logic; it's probabilistic and context-aware.