Skills
Skills are folders of instructions, scripts, and resources that extend Ante's capabilities. They follow the open Agent Skills format, making them portable across compatible agent products.
Creating a skill
A skill is a directory containing a SKILL.md file:
commit/
└── SKILL.md
SKILL.md uses YAML frontmatter followed by Markdown instructions:
---
name: commit
description: Create a git commit with a descriptive message following conventional commit format.
---
Look at the current git diff and create a commit with a clear,
descriptive message that follows conventional commit format.
Use `git add` to stage relevant files first.
Example: review skill with tools and references
review/
├── SKILL.md
└── references/
└── checklist.md
---
name: review
description: Review code changes for bugs, security issues, and style.
argument-hint: <path>
---
Review the code at $ARGUMENTS for bugs, security vulnerabilities, style issues, and missing error handling.
See [checklist](references/checklist.md) for the full review checklist.
Frontmatter parsing is lenient for common scalar mistakes: unquoted values that
contain : , begin with flow-like characters such as [ or {, or include
inline comments are repaired when they can be interpreted unambiguously.
Malformed nested YAML still fails so broken metadata does not load silently.
The block is capped at 16 KB and 32 levels of nesting; past either limit the
skill fails to load with an explicit error rather than loading partially.
Sub-agent frontmatter goes through the same reader with the same rules.
Skill directories
| Directory | Scope |
|---|---|
~/.claude/skills/ | User-level (Claude Code compatibility) |
~/.agents/skills/ | User-level (compat — loaded before ~/.ante/skills/) |
~/.ante/skills/ | User-level (available in all projects) |
.claude/skills/ | Project-level (Claude Code compatibility) |
.agents/skills/ | Project-level |
.ante/skills/ | Project-level |
SKILL.md frontmatter
| Field | Required | Default | Description |
|---|---|---|---|
name | No | Directory name | Identifier for the skill |
description | No | First paragraph | What this skill does and when to use it |
argument-hint | No | — | Hint text for expected arguments (e.g. <path>) |
user-invocable | No | true | Whether the skill can be invoked via slash command |
disable-model-invocation | No | false | Prevents the model from invoking this skill automatically |
metadata | No | — | Arbitrary key-value pairs |
Unrecognized fields from other agent products (such as allowed-tools) are tolerated but ignored, so existing skills load without modification.
Optional directories
my-skill/
├── SKILL.md # Required — instructions
├── scripts/ # Executable code the agent can run
├── references/ # Additional docs loaded on demand
└── assets/ # Templates, schemas, data files
How skills are discovered
Skills are discovered in precedence order (later overrides earlier by skill name):
- System-level (built-in skills)
~/.claude/skills/(user-level, Claude Code compatibility)~/.agents/skills/(user-level, compat)~/.ante/skills/(user-level).claude/skills/(project-level, Claude Code compatibility).agents/skills/(project-level).ante/skills/(project-level)
Discovered skills are advertised to the model in a reminder attached to the first user message, and sub-agents inherit the parent session's skills.
Start Ante with --no-skills to skip this discovery entirely. No system, user, or project skills are advertised to the model or exposed as slash commands, and /resume preserves that choice for the resumed session. To turn skills off persistently, set "skills": false in settings.json (--skills re-enables them for a run). The built-in --profile bare also disables skills.
Selecting individual skills
To drop or add specific skills instead of all of them, set exclude_skills / include_skills in settings.json:
{
"exclude_skills": ["noisy-skill"],
"include_skills": ["deploy-checklist"]
}
Both take exact skill names. exclude_skills removes the named skills from every session and wins over include_skills; include_skills adds names on top of the session's base skill set, like --include-tools for tools. The selection applies to fresh and resumed sessions alike.
Bundled skills
Ante ships a few skills at the system level:
| Skill | What it does |
|---|---|
ante-guide | Answers questions about Ante itself from the official docs and handles requests to change Ante's own configuration. Model-invoked only |
skill-creator | Creates, improves, and evaluates skills. Model-invoked only |
tmux | Drives interactive terminals, servers, and REPLs in named tmux sessions — see Terminal sessions. Model-invoked only |
resume-claude | Continues a recent Claude Code session in this directory (/resume-claude) |
resume-codex | Continues a recent Codex session in this directory (/resume-codex) |
A user or project skill with the same name overrides the bundled version.
Using skills
/commit
/review src/core/session.rs
Anything you type after the skill name is passed to the skill as arguments. How they land in the instructions depends on which placeholders the skill uses:
| Placeholder | Replaced with |
|---|---|
$ARGUMENTS | The full argument string, verbatim |
${1}, ${2}, … | The first, second, … whitespace-separated argument (quoted values stay grouped) |
${1:default} | The positional argument, or default when it is missing |
If a skill's instructions contain no placeholders, the arguments are appended in an <arguments> block so the agent still sees them.
Learn more
See the full specification for details on naming conventions, progressive disclosure, and validation.