Navigation
ELOWEN · Documentation

Last updated: October 20, 2026

Browse documentation · Skills
Extending

Skills

Manage skills in the Web UI at /p/skills/ or Settings → Plugins → Skills. A skill is a reusable Markdown procedure Elowen can apply in later conversations, such as a deployment checklist or report format. Use Memory for durable facts and the conversation task list for steps in the current request.

Elowen normally sees a skill's name, description and length in lines. When a task matches its description, it loads the full instructions by name, or a part of a long skill at a time.

Before you start

The Skills plugin must be enabled. Every account needs an administrator to grant Skills under Users → account → Granted plugins → Manage; administrators can edit their own grant. A skill contributed by another grantable plugin requires that plugin's grant too. Account tool policy can still deny skill loading.

If the plugin or its SkillLoad tool is unavailable, skills cannot be discovered or loaded. See Plugins.

Use a skill

Write a concise description of when the skill applies. This is the trigger Elowen sees before loading the procedure:

Use when preparing the weekly customer-support report.

Only skills visible to the current turn are considered for automatic use. A skill marked manual only is not selected automatically.

To load a skill explicitly, use its exact name:

/skill:deploy-checklist

This works in the Web UI and CLI. Use /skills to browse and load skills from the picker. Manual-only skills can still be loaded explicitly.

Each skill that can be loaded explicitly also has a shortcut, /<skill-name>, that loads it the same way. The shortcut is available only for names of up to 32 characters that do not match a built-in command; otherwise use /skill:<name>.

The tools offer the same operations: ListSkills lists available skills, SkillLoad loads one by exact name, CreateSkill saves one for later, and DeleteSkill removes a custom skill you are allowed to manage.

Changes to grants, ownership, or tool policy apply on a later turn. Changes to enabled plugins apply after the daemon restarts.

Create and manage a skill

Use the manager to create a skill, or call CreateSkill to save one for later. For example:

CreateSkill({
  name: "deploy-checklist",
  description: "Use before deploying a new service version.",
  content: "# Deployment checklist\\n\\n1. Run the focused tests.\\n2. Verify the health endpoint.",
  scope: "personal"
})

The tool requires:

  • name: 2 to 64 characters: lowercase letters, digits, and dashes, starting with a letter or digit; this is also the skill identifier.
  • description: one line explaining when to use it.
  • content: the Markdown instructions and examples.
  • scope: personal or instance.

A personal skill is available to its owner's sessions, not other accounts. An instance skill is available across the instance. Creating an instance skill requires administrator authority. A personal definition takes precedence over an instance definition with the same name; shared or accountless work sees only eligible instance skills.

Saving a personal skill with an existing name updates it. A skill cannot shadow a bundled skill or a conflicting definition; choose another name if Elowen reports a collision. Successful changes take effect from the next message without a restart.

Open the Skills workspace at /p/skills/, or go to Settings → Plugins → Skills. The manager lets you add or edit custom skills, choose Only me or Everyone when authorized, turn Show to agent automatically on or off, and delete custom skills after confirmation. Bundled skills are read-only. Administrators can manage instance skills and, where permitted, other accounts' custom skills; other accounts can manage their own personal skills. Deleting an account also deletes its personal skills.

Turning Show to agent automatically off keeps the skill available through /skill:<name> and /<skill-name> but removes it from automatic discovery.

Automatic skill learning

Turn on Learn skills from completed work under Account → Memory if you want Elowen to save reusable procedures from completed personal web and CLI work. The switch is off by default and is available only with an enabled reviewer, a non-zero change budget and permission to create skills. Under it, one muted line reports the last review with its outcome and running totals, and how many successful tool calls remain before the next one, or that no review has run yet. No automatic review runs for scheduled, internal, steered or platform-channel turns.

A review considers the completed conversation context using the same model and provider account. The default interval is 100 successful tool calls across eligible exchanges; an explicitly saved interval stays unchanged. Reviews may be skipped when the exact conversation request cannot be safely extended, when capacity is unavailable, or when the provider account's weekly subscription usage is at least 90% or unknown. The count remains pending until a later eligible exchange. A review has no tool access, and its model usage is charged to your account, including reading the cached conversation context.

New learned skills are ordinary personal skills: they belong only to your account and are available like any skill you save yourself, with no approval step. Turn Show to agent automatically off in the Skills manager if you only want to start one with /skill:<name>. Any change you make in the manager, that switch included, removes its agent provenance and protects it from later automatic changes. Only a personal skill the agent wrote, still unedited by you and loaded successfully in the reviewed turn, can be improved automatically; bundled, shared and manually authored or edited skills are never changed.

An administrator sets under Settings → <assistant name> AI → Runtime how many successful tool calls one exchange needs to count (Minimum tool calls for a skill review), how often the review runs (Skill review every N tool calls) and how many changes one review may make (Maximum skill changes per exchange). The Skills plugin validates every proposal; see its guide for the limits. Memory continues to store facts separately.

Skill file format

A skill can be a flat Markdown file or a directory with a SKILL.md file and optional support files:

deploy-checklist.md

deploy-checklist/
  SKILL.md
  references/
  scripts/

A skill file starts with YAML frontmatter:

---
name: deploy-checklist
description: Use before deploying a new service version.
---

# Deployment checklist

1. Run the focused tests.
2. Verify the health endpoint.

A description is needed for automatic discovery. Without one, a skill can still load by exact name, but Elowen logs a warning. Add disable-model-invocation: true to make a skill manual only. Relative paths in its instructions resolve from a directory skill's own folder; a flat skill file has no support directory, so it cannot reference files beside it.

Ownership and safety

Skills can come from the Skills plugin or another enabled plugin. The available catalog and loader apply the same account, grant, and tool-policy checks.

A skill's support files must remain inside its registered directory. Missing, unreadable, or escaping paths are rejected. Do not put secrets in a skill or use one as a substitute for access control; project, tool, and plugin permissions still apply.

Troubleshoot skills

  • No skills or picker: enable the Skills plugin and check the account's plugin grant.
  • A plugin-contributed skill is missing: check that plugin is enabled, granted if required, and has registered the skill.
  • A skill is never selected automatically: improve its description and make sure Show to agent automatically is on.
  • /skill:<name> fails: use ListSkills or /skills to confirm the exact name and availability.
  • A new or edited skill is missing: changes appear from the next message; an active turn is not rewritten.

Next: MCP Integration