Skills and mentions are two ways to give agents structured, reusable context without copying and pasting the same instructions into every message. Skills are Markdown files containing prompt instructions that get injected into a session when you select them. Mentions areDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Emanuele-web04/synara/llms.txt
Use this file to discover all available pages before exploring further.
@-style references that direct a message to a specific provider or file path. Both are selected from the composer using autocomplete pickers.
What skills are
A skill is a Markdown file containing instructions for an agent — a coding style guide, a project architecture overview, a testing convention, or any other reusable guidance you want the agent to follow. Skills are named and scoped so you can have provider-specific variants and project-local overrides. Skills are described byProviderSkillDescriptor:
scope field identifies where the skill came from: "synara" (portable, from ~/.synara/skills), "codex", "claude", "cursor", "gemini", "grok", "kilo", "opencode", "pi", "agents", or "project" (from a .synara/skills or .codex/skills folder in the repository).
How skills are discovered
Synara walks a priority-ordered set of directories to build the skills catalog. The order is designed so that provider-native skill copies win over portable ones for the active provider, and earlier entries in the list take precedence over later ones on name conflicts. The catalog aggregates skills from all configured origins in this default order:claude origin is promoted first, so .claude/skills entries shadow same-named skills from ~/.synara/skills.
Home-directory roots:
| Origin | Path |
|---|---|
synara | ~/.synara/skills |
codex | ~/.codex/skills |
claude | ~/.claude/skills |
cursor | ~/.cursor/skills-cursor, ~/.cursor/skills |
gemini | ~/.gemini/skills |
grok | ~/.grok/skills |
kilo | ~/.kilo/skills |
opencode | ~/.config/opencode/skills |
pi | ~/.pi/agent/skills |
agents | ~/.agents/skills |
.<origin>/skills folders inside each ancestor directory.
Skill file format
Each skill is a Markdown file namedSKILL.md (or any .md file when the root allows plain Markdown files, as Pi does). Synara reads a small YAML frontmatter block to extract metadata:
| Key | Description |
|---|---|
name | Canonical identifier; used for deduplication (case-insensitive) |
description | Full description shown in detail views |
display-name | Human-readable label shown in the picker |
short-description | One-line summary shown beneath the skill name in the picker |
disable-model-invocation | Set to true to disable this skill by default |
How skills are injected into provider sessions
When you select a skill in the composer and send a message, theProviderSkillReference is attached to the turn:
.claude/skills or Codex reading .codex/skills), Synara passes the file path directly and the provider loads it. For providers without native skill support — including Gemini, Grok, Kilo, and OpenCode — Synara reads the skill file and inlines its content into the turn as an XML-tagged block:
Disabling skills with SkillsServerSettings
Skills can be disabled globally in settings so they never appear in the picker and are never injected. TheSkillsServerSettings.disabled array holds a list of skill names (matched case-insensitively):
settings.skills.disabled. You can also edit ~/.dpcode/userdata/settings.json directly:
Slash commands in the composer
The composer supports/command triggers for built-in Synara actions. Type / in the composer to open the slash command menu:
| Command | Description |
|---|---|
/clear | Start a fresh thread and clear the current conversation context |
/compact | Compact the current thread context to free space |
/model | Switch the response model for this thread |
/plan | Switch this thread into plan mode |
/default | Switch this thread back to normal chat mode |
/review | Start a code review for current changes |
/fork | Fork this thread into local or a new worktree |
/side | Open a guarded Side from this thread |
/status | Show context usage and rate-limit status |
/subagents | Insert a prompt that asks the assistant to delegate work |
/fast | Turn fast mode on or off for this thread |
The available slash commands vary by provider. Claude Code handles most slash commands natively (via its own
/ UX), so Synara only surfaces /side as an app-level command when Claude Code is active. Other providers like Codex get the full list above.Mentions in the composer
Mentions let you reference a provider or a path directly in a message using@name syntax. When you type @ in the composer, the mention picker opens and shows discoverable items.
A mention resolves to a ProviderMentionReference:
ProviderComposerCapabilities:
supportsSkillMentions controls whether the @skill picker is shown. supportsPluginMentions controls whether installed plugins can be mentioned.
How to use skills and mentions in a message
Open the skill picker
Click the skill icon in the composer toolbar (the wand icon) or type
@ to open the mention/skill picker. Start typing to filter by name or description.Select one or more skills
Click a skill to add it to the composer. Selected skills appear as inline chips. You can add multiple skills to a single message.
Write your message
Type your prompt as normal. The selected skills will be injected into the provider session automatically when you send.
Related
- Providers Overview — which providers support native skill discovery and mentions
- Configuration / Settings — managing
skills.disabledand other skill settings - Parallel Agents — using skills consistently across multiple threads