SKILLS

Teach the agent your way of working, and keep the gate

A folder with a SKILL.md: when to use it, the steps, and the files it brings along.

A skill is a procedure an agent loads. The model reads one line about every skill you have turned on and loads the one the task calls for, or you pick it yourself. The format is the one Claude Code, Anthropic's Agent Skills and OpenAI's skills share, so a skill written for them installs here as it is and leaves the same way.

code-review/SKILL.md

---
name: code-review
description: How to review a change for correctness, tests and risk without editing anything.
allowed-tools:
  - source-control.diff
  - source-control.graph
  - source-control.commitFiles
  - fs.readFile
  - fs.list
  - search.query
metadata:
  risk: low
---
  • code-review/checklist.md

Code review, as the marketplace lists it today. See the whole skill

What is in the file

A name

Lower-case words joined by dashes, the same as the folder's name. It is also the id the skill is called by, and the id a policy rule names.

One sentence on when

The description is what the model reads when it decides whether this is the skill for the task, so it says when to use the skill, not what is in it.

The tools it may use

allowed-tools lists the capabilities a run keeps while the skill is active. Leave it out and the run keeps the tools it had.

How careful to be

A risk of low, medium or high sets who is asked before the skill loads. A skill that does not say is medium.

Below the front matter is the procedure itself, in Markdown. A skill can carry up to 32 text files beside it, such as a checklist or a template. Loading the skill hands the model the procedure and a list of those files, and the model reads one when the procedure sends it there.

Where skills are kept

A skill in the project's .punica/skills folder is committed with the code, so the team gets the same one. A skill in your own skills folder is offered in every workspace you open. Some extensions bring one of their own, such as policy-authoring with the policy extension.

When two share a name, the project's copy wins over yours, and yours over the extension's. Remove one and the next comes back without a reload. Turning a skill off keeps the file and takes it out of every run.

How a run picks one up

The model chooses it

Every run that offers tools carries one line per skill you have turned on: its name and its sentence. That works the same on a remote model and a local one.

Or you choose it

Type / in the AI Assistant, or open the Skills entry in the + menu, and the skill is loaded before the model starts. Try in chat in the Skills panel does the same.

It stays for the chat

A skill a chat has loaded is loaded again on the chat's next question, so a follow-up keeps the procedure and its tool list. Remove its token from the composer to end it.

An MCP client can call it

A skill is a capability like any other. List it in the project's serve.yaml and ivyx serve offers it to Claude Code or another MCP client as a tool.

The gate reads skills too

Risk decides who is asked

A low skill loads on its own. A medium one is asked when it loads, and that yes covers reading its files in the same chat. A high one is asked on every call. Say no and the run stops there.

allowed-tools only narrows

While a skill is active, a call to a tool outside its list is refused. A tool on the list still meets every policy rule. In Claude Code the same field approves tools in advance; here it never does.

A rule can name it

A skill is called by its name, so a policy rule can hold, allow or refuse that skill like any other capability, and each load and file read is in the run's record.

Changes ask a person

Writing, moving and switching skills go through the gateway like any other change. Deleting a skill, and installing one from the marketplace, ask a person every time.

Bring the skills you have

A skill folder

Import a folder that holds a SKILL.md, into this project or for every workspace. Its text files come with it.

A folder of skills

Point the import at .claude/skills, or a plugin's skills folder, and each skill in it is imported. One that cannot be a skill is named and the rest still come in.

A single SKILL.md

A SKILL.md saved on its own imports too, with the files beside it you choose. If it names no skill, the import asks for a name.

From the marketplace

Skills published on the IVYX registry open in the app with what they tell the agent, the files they read and the tools they may call. Add one for yourself or for this project.

16 skills are on the marketplace today, each with its instructions, tools and files shown before you add it. Browse them

Every published skill was measured

Thirteen skills were written for four audiences, the data scientist, the ML engineer, the LLM and agent developer and the student, in the week of 15 to 18 October 2026, beside code-review, pr-description and release-notes. Each went through the same steps before it was published.

A baseline first

The same request without the skill, recording what the model got wrong.

Installed and not chosen

Then with the skill installed and not seeded, on a local core and on a remote one, so the model has to find it from its one-line description.

A bar, not a feeling

At least three loads in four, the baseline's mistake gone, and no write the body did not name. A skill that misses after two revisions is parked with the reason, not published.

Fixtures kept as measured

Every measurement is a row in a table and every fixture is kept as it was measured, so a row can be run again.

What it does not do

It runs no scripts

A skill's files are read as text. A script in the folder is something the model can read, never something IVYX runs because the skill was loaded.

Other tools' rules are not enforced

Entries such as Bash(git:*) or Read in allowed-tools are kept in the file and set aside. Only IVYX capability ids narrow a run.

Text files only

A skill carries at most 32 files of up to 256 KB each. Binary and hidden files are left behind at import, and the message names them.

Imports come from your disk

A folder or a file you choose. There is no import from a URL, a Git repository or an archive.

The desktop app for some of it

Skills of your own folder and the marketplace need the desktop app. A project's skills work in both.