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. 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

DirectoryScope
~/.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

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. ~/.claude/skills/ (user-level, Claude Code compatibility)
  3. ~/.agents/skills/ (user-level, compat)
  4. ~/.ante/skills/ (user-level)
  5. .claude/skills/ (project-level, Claude Code compatibility)
  6. .agents/skills/ (project-level)
  7. .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:

SkillWhat it does
ante-guideAnswers questions about Ante itself from the official docs and handles requests to change Ante's own configuration. Model-invoked only
skill-creatorCreates, improves, and evaluates skills. Model-invoked only
tmuxDrives interactive terminals, servers, and REPLs in named tmux sessions — see Terminal sessions. Model-invoked only
resume-claudeContinues a recent Claude Code session in this directory (/resume-claude)
resume-codexContinues 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:

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.