OpenSkills — единый загрузчик навыков SKILL.md для любого AI-кодинг-агента

· 7 мин чтения
agent-skills skills cli claude-code open-source
📂 Исходный код на GitHub

Универсальный загрузчик навыков для AI-кодинг-агентов: ставит и подключает навыки в формате Anthropic SKILL.md в любом агенте, который читает AGENTS.md

OpenSkills — единый загрузчик навыков SKILL.md для любого AI-кодинг-агента

Навык для агента — это папка с файлом SKILL.md: в начале файла короткое описание, дальше инструкции, скрипты и справочные материалы. Claude Code умеет такие навыки сам: он показывает агенту список навыков и подгружает нужный, когда задача подходит. Остальные агенты — Cursor, Windsurf, Aider, Codex и любой другой, кто умеет читать AGENTS.md, — такой возможности обычно не имеют.

OpenSkills — это npm-пакет и CLI, который закрывает этот разрыв. Он ставит навыки в формате Anthropic и подключает их к любому агенту. Проект написан на TypeScript, распространяется через npm под именем openskills, требует Node.js 20.6+ и Git, лицензия — Apache 2.0. Репозиторий numman-ali/openskills собрал около 10 800 звёзд.

Смысл в том, чтобы набор навыков был один и тот же для всех инструментов на машине, а формат оставался тем же, что у Claude Code. Навыки при этом лежат в проекте, их можно закоммитить в свой репозиторий, обновлять одной командой и ставить из приватных репозиториев.

Как это работает

Claude Code отдаёт агенту список навыков прямо в системном промпте — блок <available_skills> в формате XML:

<available_skills>
<skill>
<name>pdf</name>
<description>Comprehensive PDF manipulation toolkit for extracting text and tables...</description>
<location>project</location>
</skill>
</available_skills>

Когда задача подходит под какой-то навык, агент подгружает его содержимое. Загрузка происходит по требованию, поэтому контекст не засоряется описаниями всех навыков подряд.

OpenSkills делает то же самое для любого агента. Команда sync записывает в AGENTS.md ровно такой же XML-блок, а сам навык читается через CLI:

npx openskills read <skill-name>

Агент сам решает, что задача подходит под навык, и вызывает эту команду в своей оболочке. Claude Code для этого не нужен — достаточно, чтобы агент умел читать AGENTS.md и запускать команды.

Вот как выглядит блок, который OpenSkills пишет в AGENTS.md:

<skills_system priority="1">

## Available Skills

<!-- SKILLS_TABLE_START -->
<usage>
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively.

How to use skills:
- Invoke: `npx openskills read <skill-name>` (run in your shell)
- The skill content will load with detailed instructions
- Base directory provided in output for resolving bundled resources

Usage notes:
- Only use skills listed in <available_skills> below
- Do not invoke a skill that is already loaded in your context
</usage>

<available_skills>

<skill>
<name>pdf</name>
<description>Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms...</description>
<location>project</location>
</skill>

</available_skills>
<!-- SKILLS_TABLE_END -->

</skills_system>

Сравнение с Claude Code:

Что Claude Code OpenSkills
Формат промпта <available_skills> в XML тот же самый XML
Где лежат навыки .claude/skills/ .claude/skills/ (по умолчанию)
Как вызвать навык инструмент Skill("name") npx openskills read <name>
Каталог навыков каталог Anthropic GitHub, например anthropics/skills
Подгрузка по требованию да да

Быстрый старт

npx openskills install anthropics/skills
npx openskills sync

Первая команда ставит навыки, вторая обновляет AGENTS.md. По умолчанию установка идёт внутрь проекта, в папку ./.claude/skills. Флаг --universal меняет путь на ./.agent/skills, а --global ставит навыки глобально, в ~/.claude/skills.

Глобальная установка не обязательна: все команды и так запускаются через npx.

Откуда можно ставить навыки

Источник навыка — это адрес, который понимает install:

# Каталог Anthropic
npx openskills install anthropics/skills

# Любой репозиторий на GitHub
npx openskills install your-org/your-skills

# Локальная папка
npx openskills install ./local-skills/my-skill

# Приватный git-репозиторий
npx openskills install git@github.com:your-org/private-skills.git

Приватные репозитории работают по SSH-ключам системы или по HTTPS с авторизацией.

Универсальный режим

Если в проекте работают и Claude Code, и другие агенты с одним и тем же AGENTS.md, ставьте навыки в .agent/skills/. Так они не будут конфликтовать с плагинами Claude Code.

Приоритет папок, от большего к меньшему:

  1. ./.agent/skills/
  2. ~/.agent/skills/
  3. ./.claude/skills/
  4. ~/.claude/skills/

Команды и флаги

npx openskills install <source> [options]  # поставить навыки из GitHub, папки или приватного репозитория
npx openskills sync [-y] [-o <path>]       # обновить AGENTS.md или другой файл
npx openskills list                        # показать установленные навыки
npx openskills read <name>                 # загрузить навык (для агента)
npx openskills update [name...]            # обновить навыки (по умолчанию все)
npx openskills manage                      # удалить навыки (интерактивно)
npx openskills remove <name>               # удалить конкретный навык

Флаги:

  • --global — установка в ~/.claude/skills вместо папки проекта;
  • --universal — установка в .agent/skills/ вместо .claude/skills/;
  • -y, --yes — без вопросов, удобно для CI;
  • -o, --output <path> — куда писать результат sync (по умолчанию AGENTS.md). Файл создаётся, если его нет, вместе с нужными папками.

Если нужно прочитать сразу несколько навыков, имена можно перечислить через запятую: npx openskills read foo,bar.

Формат навыка

Формат навыка — тот же, что у Anthropic. В начале SKILL.md идёт короткий заголовок с именем и описанием, дальше обычный текст с инструкциями:

---
name: pdf
description: Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms.
---

# PDF Skill Instructions

When the user asks you to work with PDFs, follow these steps:
1. Install dependencies: `pip install pypdf2`
2. Extract text using scripts/extract_text.py
3. Use references/api-docs.md for details

Минимальная папка навыка — это один файл:

my-skill/
└── SKILL.md

Если навыку нужны дополнительные материалы, рядом кладут три стандартные папки:

my-skill/
├── SKILL.md
├── references/
├── scripts/
└── assets/

Пример готового навыка лежит в репозитории: examples/my-first-skill.

Свои навыки

Свой навык ставится из локальной папки:

npx openskills install ./my-skill

Если навык пишется и меняется вместе с проектом, удобнее не копировать его, а подключить символической ссылкой на клон репозитория:

git clone git@github.com:your-org/my-skills.git ~/dev/my-skills
mkdir -p .claude/skills
ln -s ~/dev/my-skills/my-skill .claude/skills/my-skill

Правки в клоне сразу видны агенту. Битые ссылки CLI пропускает и не падает на них.

Подробности о том, как писать навыки, лежат в самом каталоге Anthropic — поставить его можно так:

npx openskills install anthropics/skills
npx openskills read skill-creator

Обновление навыков

Навыки, поставленные из git-репозитория, обновляются одной командой:

npx openskills update

Для конкретных навыков имена перечисляются через запятую:

npx openskills update git-workflow,check-branch-first

Команда update появилась в версии 1.5.0 вместе с записью источника установки. Если навык был поставлен до этого, обновить его не получится — нужно поставить его заново, чтобы CLI запомнил, откуда он взялся. Подробный список изменений — в CHANGELOG.md.

Почему CLI, а не MCP

Вопрос, который задают чаще всего: может, сделать это через MCP? Авторы отвечают так: MCP — это про динамические инструменты, а навык — это статический текст с инструкциями и файлы по соседству.

  • навык — это просто файлы, сервер не нужен;
  • работает с любым агентом, поддержка MCP не требуется;
  • SKILL.md — это спецификация, и OpenSkills следует ей в точности.

Проект реализует спецификацию Agent Skills от Anthropic и не связан с компанией Anthropic — Claude, Claude Code и Agent Skills остаются их торговыми марками.

Требования и лицензия

Нужен Node.js версии 20.6 или новее и Git — он нужен, чтобы клонировать репозитории с навыками. Лицензия Apache 2.0, текст лежит в LICENSE.

Источник: https://github.com/numman-ali/openskills