Skip to main content

Skills

A skill is a folder with a SKILL.md file that teaches the agent one kind of task: how to fill PDF forms, how your team writes release notes, how to deploy. The agent sees every skill's name and description on each turn and reads the full instructions only when a task calls for them. Your prompts stay short and the agent stays focused.

Skills work the same in the CLI, the VS Code extension and the Desktop app. Instructions that should apply to every task in a project belong in AGENTS.md instead.

Create a skill​

  1. Make a folder under .abacusai/skills/ in your project, or under ~/.abacusai/skills/ to use it in every project.
  2. Add a SKILL.md with a description and your instructions.
my-project/.abacusai/skills/release-notes/
└── SKILL.md
---
name: release-notes
description: Write release notes from merged PRs since the last tag. Use when asked for a changelog, release notes, or "what shipped".
---

1. Run `git log --oneline $(git describe --tags --abbrev=0)..HEAD`.
2. Group commits by feature, fix and internal.
3. Write one line per user-visible change, past tense, no commit hashes.
  1. Start a new session. The skill shows up in /skills list in the CLI and in the Skills section of the VS Code settings. Type /release-notes to use it, or just ask for release notes and let the agent pick it.
The Skills section of the extension settings, listing workspace and global skills with marketplace and update buttons

Where skills live​

ScopeFolderWho gets it
Project<project>/.abacusai/skills/Everyone who opens the project. Commit it.
Project<project>/.agents/skills/Same, using the folder name other agent tools also read
Global~/.abacusai/skills/You, in every project on your machine
Global~/.agents/skills/Same, using the shared folder name

All four folders are read and merged. If two skills have the same name, the project copy wins over the global copy, and .abacusai/ wins over .agents/. The marketplace installs into .agents/skills/, so other tools you use can pick those skills up too.

Folder layouts​

LayoutSkill name
skills/<name>/SKILL.mdThe folder name
skills/<name>.mdThe filename, for a skill with no extra files
skills/<group>/<name>/SKILL.mdThe folder that holds SKILL.md. You can group skills in subfolders up to eight levels deep.

Names are lower-cased, and spaces or punctuation become dashes, so My Cool Skill.md becomes /my-cool-skill. A skill folder can hold scripts, reference documents and other files next to SKILL.md. Point at them from the instructions and the agent reads them when needed.

The SKILL.md file​

A SKILL.md starts with a short header between two --- lines, followed by the instructions in Markdown.

FieldRequiredWhat it does
descriptionyesWhen to use the skill. This is what the agent reads to decide, so say what the skill does and name the phrases that should trigger it. A skill without a description is skipped.
namenoDisplay name. Defaults to the folder name.
argument-hintnoHint shown after /skill-name in the pickers, such as <file.pdf>
user-invocablenoSet to false to keep the skill out of the / pickers. The agent can still use it on its own.

Skills written for other tools may carry more fields, such as license or allowed-tools. They load fine; the extra fields are ignored.

There is no size limit on the instructions. The agent reads them from disk only when it uses the skill. The first 100 skills are offered to the agent; the CLI warns you once if you have more.

Use a skill​

The agent gets the name and description of every skill on each turn. When a request matches, it reads the skill and follows it. You can also point at a skill yourself:

You typeWhat happens
"Write the release notes"The agent matches your request against skill descriptions and picks one
/release-notes since v2.1The skill is used for this turn, with the rest of the line as your request
"Fix the bug, then follow /release-notes for the summary"A /skill-name anywhere in a message works too

In the CLI, typing / opens a picker with commands and skills. In VS Code, typing / in the message box opens the skill picker. Built-in commands such as /model always win over a skill with the same name.

Install from the marketplace​

Search and install skills that the community publishes on skills.sh without leaving the CLI or VS Code. Skills that failed a security audit are hidden from results, and the audit badges are shown on the rest.

The Skills Marketplace dialog in the extension with search results and an install destination toggle

CLI​

CommandWhat it does
/skills listShow installed skills grouped by project, global and built-in
/skills add <search>Search as you type and install into the project
/skills add-global <search>Same, but install for all your projects
/skills remove <name>Delete an installed skill
/skills updateUpdate every marketplace skill that changed

No restart needed. The list refreshes after each command.

VS Code​

Open Abacus Settings and scroll to Skills. "Browse Marketplace" opens the search with a Workspace or Global destination toggle. "Check for updates" marks the skills that changed. The pencil icon opens a skill's SKILL.md and the trash icon deletes it.

Built-in skills​

Some Abacus AI products ship skills of their own. They are listed under "Built-in" and cannot be deleted. A project or global skill with the same name replaces a built-in one.

Share skills​

Skills are just files. Commit your project's .abacusai/skills/ folder to share it with your team, or publish a skill on GitHub so others can install it from the marketplace. Keep secrets out of skill files; put credentials in MCP server settings or environment variables instead.

Troubleshooting​

My skill is not listed​

Check that the header has a description, that the file is named SKILL.md inside a folder or <name>.md at the top level, and that you started a new session after adding it. A skill with user-invocable: false is hidden from the pickers on purpose.

Two skills have the same name​

The project copy silently replaces the global one. Rename one of them.

The agent does not use my skill​

The description decides. Say what the skill does and list the phrases that should trigger it. While you refine it, /skill-name forces the skill for one turn.

For further help, reach out at support@abacus.ai.