Skip to main content

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.

Skill directories

DirectoryScope
~/.agents/skills/User-level (compat — loaded before ~/.ante/skills/)
~/.ante/skills/User-level (available in all projects)
.agents/skills/Project-level
.ante/skills/Project-level
.claude/skills/Project-level (Claude Code compatibility)

SKILL.md frontmatter

FieldRequiredDefaultDescription
nameNoDirectory nameIdentifier for the skill
descriptionNoFirst paragraphWhat this skill does and when to use it
argument-hintNoHint text for expected arguments (e.g. <path>)
user-invocableNotrueWhether the skill can be invoked via slash command
disable-model-invocationNofalsePrevents the model from invoking this skill automatically
metadataNoArbitrary 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):

  1. System-level (built-in skills)
  2. ~/.agents/skills/ (user-level, compat)
  3. ~/.ante/skills/ (user-level)
  4. .claude/skills/ (project-level, Claude Code compatibility)
  5. .agents/skills/ (project-level)
  6. .ante/skills/ (project-level)

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:

PlaceholderReplaced with
$ARGUMENTSThe 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.