Skip to content

Навыки (Skills) ​

Command Code поддерживает Agent Skills — лёгкий открытый стандарт расширения ИИ-агентов специализированными знаниями и рабочими процессами.

Что такое навыки агента ​

Навыки агента — это модульные самодостаточные наборы инструкций, которые учат Command Code выполнять конкретные задачи. Каждый навык — это папка с файлом skill.md, в котором лежат метаданные и пошаговое руководство.

Думайте о навыках как об экспертных плейбуках, к которым Command Code обращается при необходимости. Вместо того чтобы объяснять один и тот же процесс каждый раз, вы описываете его один раз в навыке, и Command Code автоматически применяет его, когда нужно.

Как работают навыки ​

Навыки используют прогрессивное раскрытие (progressive disclosure), чтобы эффективно расходовать контекст:

  1. Обнаружение: при запуске Command Code загружает только имя, описание и путь к файлу каждого навыка.
  2. Активация: когда задача соответствует навыку или его вызывают напрямую через /skill-name, Command Code читает полные инструкции из его SKILL.md.
  3. Выполнение: Command Code следует инструкциям и при необходимости загружает указанные в них файлы.

Так Command Code остаётся быстрым, но получает больше контекста по требованию.

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

Давайте создадим первый навык уровня пользователя и навык уровня проекта.

Навык уровня пользователя ​

bash
mkdir -p ~/.commandcode/skills/code-review
cat > ~/.commandcode/skills/code-review/SKILL.md << 'EOF'
---
name: code-review
description: Perform thorough code reviews checking for bugs, security issues, and best practices
---
# Code Review Checklist

When reviewing code, check:

## Security

- [ ] No hardcoded credentials or API keys
- [ ] Input validation on all user data
- [ ] Proper authentication and authorization

## Code Quality

- [ ] Clear, descriptive variable names
- [ ] Functions do one thing well
- [ ] No code duplication
- [ ] Edge cases handled

## Performance

- [ ] No unnecessary loops or operations
- [ ] Efficient data structures
- [ ] Database queries optimized

## Testing

- [ ] Unit tests cover main functionality
- [ ] Edge cases tested
- [ ] Error conditions tested
EOF

Навык уровня проекта ​

bash
mkdir -p .commandcode/skills/api-guidelines
cat > .commandcode/skills/api-guidelines/SKILL.md << 'EOF'
---
name: api-guidelines
description: API design patterns and conventions for this project
---
# API Guidelines

## Endpoint naming

- Use plural nouns: `/users`, `/posts`
- Use kebab-case: `/user-profiles`
- Version in URL: `/v1/users`

## Response format

```json
{
  "data": { ... },
  "meta": { "count": 10, "page": 1 }
}
```

## Error handling

- 400: Bad request (validation errors)
- 401: Unauthorized
- 403: Forbidden
- 404: Not found
- 500: Server error
EOF

Если вы используете .agents/skills/ ​

Если навыки у вас уже лежат в .agents/skills/, Command Code подхватит их автоматически. Миграция не нужна.

.commandcode/skills/ имеет приоритет при совпадении имён. Навыки из .agents/ показываются с бейджем [.agents] в интерфейсе /skills.

Где хранятся навыки ​

Command Code полностью реализует открытый стандарт Agent Skills и использует два места хранения.

Навыки уровня пользователя (глобальные) ​

Хранятся в ~/.commandcode/skills/ и доступны во всех ваших проектах.

Идеально подходят для:

  • общих процессов разработки;
  • исследовательских сценариев работы;
  • лучших практик, общих для разных проектов.

Навыки уровня проекта (локальные) ​

Хранятся в .commandcode/skills/ внутри проекта и доступны только в этом проекте.

Идеально подходят для:

  • паттернов, специфичных для проекта;
  • соглашений команды;
  • архитектурных правил;
  • процессов, специфичных для предметной области.

Примечание

Подробнее о том, как создавать навыки уровня пользователя и уровня проекта, — в разделе Создание навыков ниже.

Совместимость с .agents/skills/ ​

Command Code также находит навыки в .agents/skills/ (проект) и ~/.agents/skills/ (пользователь). Если другой инструмент уже хранит ваши навыки в .agents/, они загружаются автоматически и показываются с бейджем [.agents] в меню /skills.

Приоритет: .commandcode/skills/ побеждает при совпадении имён. Если один и тот же навык есть в обоих местах, используется версия из .commandcode/, а версия из .agents/ пропускается. Полный порядок из четырёх уровней — в разделе Приоритет выбора.

Обнаружение: Command Code поднимается от вашего рабочего каталога на 10 уровней вверх в поисках .agents/skills/ и останавливается на вашей домашней папке. Это не позволяет ~/.agents/skills/ попасть в источники уровня проекта.

Дополнительные расположения ​

Помимо стандартных каталогов, вы можете указать Command Code на любую папку с навыками — каталог навыков или одну папку навыка с SKILL.md.

В настройках — добавьте массив skills в settings.json (глобальный для пользователя ~/.commandcode/settings.json, проектный .commandcode/settings.json или .commandcode/settings.local.json):

json
{
  "skills": ["~/team/shared-skills", "./vendor/skills", "/opt/company/skills"]
}

~/ разворачивается в вашу домашнюю папку; относительные пути считаются от корня проекта (корень git-репозитория или рабочий каталог вне репозитория). Слои настроек перезаписывают массив целиком — побеждает самый высокий слой, в котором определён skills. Это же способ загрузить папку с навыками, которая лежит вне стандартных мест вроде ~/.commandcode/skills: общий командный диск или папку, которую поддерживают для другого инструмента Agent Skills.

При запуске — флаг --skill добавляет расположение на одну сессию и может повторяться; --no-skills полностью пропускает обнаружение (пути, указанные через --skill, всё равно загружаются):

bash
cmd --skill ./my-skill --skill ~/team/shared-skills
cmd --no-skills # run with no skills at all
cmd --no-skills --skill ./only-this # run with exactly one skill

Вложенные папки навыков ​

Обнаружение рекурсивное: расположение может группировать навыки в промежуточных каталогах, и каждый навык всё равно остаётся каталогом, который напрямую содержит SKILL.md.

text
.commandcode/skills/
├── docs/
│   ├── changelog-writer/
│   │   └── SKILL.md
│   └── release-notes/
│       └── SKILL.md
└── code-review/
    └── SKILL.md

Поле name по-прежнему соответствует собственному каталогу навыка (changelog-writer), а не группирующей папке. Собственные подпапки навыка (scripts/, references/, assets/) никогда не сканируются в поисках других навыков.

Приоритет выбора ​

Навыки, пользовательские команды и встроенные команды делят одно меню /. Расположения навыков проверяются в таком порядке:

  1. .commandcode/skills/ (проект)
  2. .agents/skills/ (проект)
  3. ~/.commandcode/skills/ (пользователь)
  4. ~/.agents/skills/ (пользователь)
  5. Дополнительные расположения (сначала флаги --skill, затем записи skills из настроек)
  6. Встроенные навыки, которые поставляются с Command Code

Проще говоря: уровень проекта всегда важнее уровня пользователя, а внутри одного уровня .commandcode/ предпочтительнее .agents/.

Command Code включает несколько готовых навыков. Например, /skill-builder создаёт и проверяет новый навык, /design даёт рабочий процесс для UI, а /loop запускает задачу сейчас и планирует следующие итерации. Проектный или пользовательский навык с тем же именем может переопределить встроенный навык по обычным правилам приоритета.

Когда два расположения дают одно и то же имя навыка, побеждает копия с более высоким приоритетом, а каждая перекрытая копия показывается как предупреждение Duplicate names в представлении проблем /skills и в cmd skills list --debug — перекрытый навык никогда не теряется молча.

Что происходит при коллизии. Когда имя навыка совпадает со встроенной командой или пользовательской командой:

  • ввод /<name> всегда попадает на владельца с более высоким приоритетом — навык не вызывается;
  • запускайте навык как /skill:<name>. Пространство имён skill: полностью обходит лестницу приоритетов и может указывать только на навык, поэтому работает для любого навыка, перекрытого или нет. Ввод /skill: без аргумента перечисляет их все;
  • навык всё равно появляется в меню / с бейджем [skill] и пометкой - shadowed by /<owner>, runs as /skill:<name>, а выбор этой строки подставляет форму с пространством имён. Command Code предпочитает видимость с пометкой молчаливому удалению строки.

Просмотр и использование навыков ​

Используйте слэш-команду /skills, чтобы посмотреть все ваши навыки:

bash
# In Command Code session
/skills

Откроется интерактивное меню, которое показывает:

  • все навыки уровня пользователя с меткой (user);
  • все навыки уровня проекта с меткой (project);
  • навыки из .agents/skills/ (пользователь или проект) показываются с бледным бейджем [.agents];
  • стрелки перемещают по списку;
  • Enter открывает навык в вашем редакторе (или переключает его — см. Включение и выключение навыков);
  • Esc закрывает меню и возвращает вас в сессию.

Каждый установленный навык также доступен как полноценная слэш-команда в меню /. Если вы установите навык с именем pr-desc, вы увидите /pr-desc, отсортированный после встроенных команд и любых пользовательских команд в слэш-меню.

Если имя навыка совпадает со встроенной или пользовательской командой, навык всё равно появляется в меню / с бейджем [skill] и пометкой - shadowed by /<owner>. Ввод /<name> всегда попадает на владельца с более высоким приоритетом, а не на навык — чтобы запустить сам навык, используйте /skill:<name>. Полный порядок — в разделе Приоритет выбора выше.

Вызов навыка ​

Command Code поддерживает три способа использовать навык в диалоге. Выберите тот, который подходит к задаче.

1. Точный вызов слэш-командой ​

Наберите /skill-name в начале промпта, чтобы выполнить этот навык в текущем ходу:

bash
# In Command Code session
/pr-desc update the description based on new changes

Каждый навык также отвечает на форму с пространством имён /skill:<name>, которая никогда не указывает ни на что, кроме навыка:

bash
# In Command Code session
/skill:changelog # the changelog skill, not the built-in /changelog
/skill changelog # same thing, space instead of colon
/skill: # browse every skill in the menu

Используйте её, когда имя навыка занято встроенной или пользовательской командой — см. Что происходит при коллизии.

2. Ссылка на слэш-команду внутри промпта ​

Вставьте /skill-name в любое место длинного промпта, чтобы закрепить этот навык, не теряя естественной формулировки. В одном промпте можно смешать несколько навыков:

bash
# In Command Code session
Please follow /code-conv when writing the new module and /pr when opening the review PR.

3. Подсказка по контексту ​

Command Code просматривает ваш промпт и предлагает подходящий навык, если он явно подходит. Обычные промпты работают в точности как раньше — подсказки лишь помогают узнать, что доступно.

Создание навыков ​

Совет

Самый быстрый способ создать навык — попросить Command Code сделать это за вас. Встроенный навык skill-builder проводит агента через определение задачи, выбор корректного имени и расположения, написание frontmatter по спецификации и проверку того, что результат загружается. Просто опишите процесс, который хотите зафиксировать, или вызовите /skill-builder напрямую.

Навыки уровня пользователя ​

Навыки уровня пользователя доступны во всех ваших проектах.

Расположение: ~/.commandcode/skills/

bash
# Create the directory
mkdir -p ~/.commandcode/skills/my-skill

# Create the SKILL.md file
cat > ~/.commandcode/skills/my-skill/SKILL.md << 'EOF'
---
name: my-skill
description: What this skill does and when to use it
---
# My Skill

Instructions for Claude...
EOF

Сценарии использования:

  • личные предпочтения в коде;
  • общие процессы разработки;
  • лучшие практики, общие для разных проектов;
  • ваши собственные правила стиля кода.

Пример:

bash
mkdir -p ~/.commandcode/skills/code-review
cat > ~/.commandcode/skills/code-review/SKILL.md << 'EOF'
---
name: code-review
description: Perform thorough code reviews checking for bugs, security issues, and best practices
---
# Code Review Checklist

## Security

- [ ] No hardcoded credentials or API keys
- [ ] Input validation on all user data
- [ ] Proper authentication and authorization

## Code Quality

- [ ] Clear, descriptive variable names
- [ ] Functions do one thing well
- [ ] No code duplication

## Performance

- [ ] No unnecessary loops
- [ ] Efficient data structures
- [ ] Optimized queries

## Testing

- [ ] Unit tests cover main functionality
- [ ] Edge cases tested
- [ ] Error conditions handled
EOF

Навыки уровня проекта ​

Навыки уровня проекта доступны только в этом конкретном проекте.

Расположение: .commandcode/skills/ (в корне проекта)

bash
# Create the directory
mkdir -p .commandcode/skills/my-skill

# Create the SKILL.md file
cat > .commandcode/skills/my-skill/SKILL.md << 'EOF'
---
name: my-skill
description: What this skill does and when to use it
---
# My Skill

Instructions for Claude...
EOF

Сценарии использования:

  • паттерны, специфичные для проекта;
  • соглашения команды;
  • архитектурные правила;
  • процессы, специфичные для предметной области.

Пример:

bash
mkdir -p .commandcode/skills/api-guidelines
cat > .commandcode/skills/api-guidelines/SKILL.md << 'EOF'
---
name: api-guidelines
description: API design patterns and conventions for this project
---
# API Guidelines

## Endpoint naming

- Use plural nouns: `/users`, `/posts`
- Use kebab-case: `/user-profiles`
- Version in URL: `/v1/users`

## Response format

Always return JSON with this structure:

```json
{
  "data": { ... },
  "meta": { "count": 10, "page": 1 },
  "errors": []
}
```

## Error codes

- 400: Bad request (validation errors)
- 401: Unauthorized (missing/invalid token)
- 403: Forbidden (insufficient permissions)
- 404: Not found
- 500: Server error

## Authentication

All endpoints require Bearer token in Authorization header except:

- POST /v1/auth/login
- POST /v1/auth/register
EOF

Вы также можете устанавливать навыки сообщества прямо с GitHub, не создавая файлы вручную, — см. cmd skills add в справочнике команд.

Редактирование навыков ​

Редактировать навыки можно командой /skills.

  1. Введите /skills в Command Code.
  2. Перейдите к навыку, который хотите изменить.
  3. Нажмите Enter.

Откроется файл SKILL.md в вашем редакторе по умолчанию (он задаётся переменной окружения $EDITOR).

Правка вручную ​

Навыки можно редактировать и напрямую, по таким путям:

bash
# Edit user-level skill
code ~/.commandcode/skills/my-skill/SKILL.md

# Edit project-level skill
code .commandcode/skills/my-skill/SKILL.md

# Edit a skill from .agents/ (if you use that convention)
code .agents/skills/my-skill/SKILL.md

После правки изменения применяются сразу и готовы к использованию. Перезапуск не требуется.

Настройка редактора ​

Команда /skills использует переменную окружения $EDITOR, чтобы открывать файлы. Инструкции по настройке — в разделе настройка редактора.

Включение и выключение навыков ​

Навык можно включить или выключить, не удаляя его. Выключенные навыки скрыты от модели и не вызываются.

В списке /skills выделите навык и нажмите Enter, чтобы переключить его.

Где хранится настройка ​

Выключенные навыки учитываются под ключом disabledSkills в файле settings.json. Command Code ищет settings.json по таким путям:

ОбластьФайл конфигурацииДействует на
Пользователь~/.commandcode/settings.jsonВсе проекты
Проект.commandcode/settings.jsonВсех, кто работает с проектом

Формат одинаков в обоих файлах настроек:

json
{
  "disabledSkills": ["blogster", "r0"]
}

Чтобы выключить навык во всех проектах на вашей машине, отредактируйте ~/.commandcode/settings.json напрямую. Следующая сессия это подхватит.

Организация навыков ​

Организовать навыки помогут следующие практики.

Один навык на папку ​

Каждый навык должен лежать в собственной папке:

text
.commandcode/skills/
├── code-review/
│   └── SKILL.md
├── api-guidelines/
│   └── SKILL.md
└── testing-patterns/
    └── SKILL.md

Навыки также можно группировать в промежуточных папках — см. Вложенные папки навыков.

Дополнительные файлы ​

Навыки могут включать дополнительные файлы:

text
my-skill/
├── SKILL.md          # Required
├── scripts/          # Executable code
│   ├── process.py
│   └── validate.sh
├── references/       # Additional docs
│   ├── API_REFERENCE.md
│   └── EXAMPLES.md
└── assets/           # Templates, resources
    ├── template.json
    └── schema.sql

Ссылайтесь на эти файлы в SKILL.md:

md
See [API Reference](references/API_REFERENCE.md) for details.

Run the validation script:

```bash
scripts/validate.sh
```

Соглашения об именовании ​

Имена навыков ​

  • только строчные буквы, цифры и дефисы;
  • максимум 64 символа;
  • имя не начинается и не заканчивается дефисом;
  • без двух дефисов подряд.

Хорошие имена:

text
code-review
api-guidelines
testing-patterns
commit-messages

Плохие имена:

text
CodeReview   # uppercase not allowed
code_review  # underscores not allowed
-code-review # cannot start with hyphen
code--review # consecutive hyphens

Имена папок ​

Имя папки должно совпадать с полем name навыка:

text
code-review/   # Directory name
└── SKILL.md   # Must have: name: code-review

Спецификация навыков ​

Каждый файл SKILL.md должен начинаться с блока frontmatter, за которым в теле идут markdown-инструкции.

Frontmatter (обязателен) ​

md
---
name: skill-name
description: A description of what this skill does and when to use it.
---

При необходимости во frontmatter можно добавить следующие необязательные поля:

md
---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents.
license: Apache-2.0
compatibility: Requires pdfplumber and PyPDF2 packages
metadata:
  author: example-org
  version: '1.0'
allowed-tools: Read Bash(python:*)
---
ПолеОбязательноОграничения
nameДаМаксимум 64 символа. Только строчные буквы, цифры и дефисы. Не должно начинаться или заканчиваться дефисом.
descriptionДаМаксимум 1024 символа. Описывает, что делает навык и когда его использовать.
licenseНетНазвание лицензии или ссылка на приложенный файл лицензии.
compatibilityНетМаксимум 500 символов. Описывает требования к окружению (пакеты, системные инструменты, доступ к сети и т. п.).
metadataНетПроизвольное отображение «ключ — значение» для дополнительных метаданных (автор, версия и т. п.).
allowed-toolsНетСписок предварительно одобренных инструментов, разделённый пробелами (или YAML-массив). (Экспериментально)

Command Code также учитывает эти расширенные поля. Некоторые из них повторяют frontmatter Agent Skills / Claude Code, поэтому навык, написанный для другого агента, загружается без изменений; инструменты, которые не знают поле, безопасно его игнорируют:

ПолеОбязательноПоведение
argument-hintНетПоказывается рядом с навыком в меню /, чтобы вы знали, какие аргументы он ждёт (например, argument-hint: "<branch> [--draft]").
when_to_useНетДополнительный контекст срабатывания (фразы-триггеры, примеры запросов), который дописывается к описанию в каталоге, видимом модели, — чтобы авто-вызов срабатывал и по нему.
disable-model-invocationНетЕсли true, навык полностью скрыт от модели: он не появляется в каталоге навыков и не может загружаться автоматически. Его запускает только явный вызов /skill-name. Используйте для разрушительных или сильно контекстных процессов.
user-invocableНетЕсли false, навык остаётся доступным модели, но скрыт из меню /. Используйте для фоновых знаний, которые не являются командой для ручного запуска.
disallowed-toolsНетСписок инструментов, которые навык не должен использовать, разделённый пробелами (или YAML-массив). Разбирается и показывается рядом с allowed-tools.
argumentsНетУпорядоченные имена позиционных аргументов (arguments: issue branch), включающие в теле подстановки $issue / $branch.
modelНетЗакрепляет модель для работы навыка.
effortНетПодсказка уровня рассуждений для работы навыка (low, medium, high, xhigh, max или inherit).

Содержимое тела ​

Markdown-тело после frontmatter содержит инструкции навыка. Ограничений на формат нет. Пишите то, что помогает Command Code эффективно выполнить задачу.

Рекомендуемые разделы:

  • Когда использовать навык: понятные триггеры срабатывания.
  • Пошаговые инструкции: подробные указания.
  • Примеры: примеры входа и выхода.
  • Частые крайние случаи: известные подводные камни и решения.

Примечание

Держите основной SKILL.md короче 500 строк. Подробный справочный материал выносите в отдельные файлы в references/.

Подстановка аргументов и контекста ​

Когда вы вызываете навык как /skill-name <args>, Command Code подставляет в тело такие плейсхолдеры ещё до того, как тело увидит модель:

ПлейсхолдерВо что превращается
$ARGUMENTSВсе аргументы одной строкой. Если в теле нет плейсхолдера, непустые аргументы дописываются в конец как футер ARGUMENTS: ….
$ARGUMENTS[N] / ${N}N-й аргумент с индексом от нуля ($ARGUMENTS[0] / ${0} — первый).
$nameОбъявленный именованный аргумент. При arguments: issue branch $issue — первый аргумент, а $branch — второй. Заменяются только объявленные имена.
${COMMANDCODE_SKILL_DIR}Абсолютный путь к каталогу самого навыка — используйте его для ссылок на приложенные scripts/ или references/ независимо от рабочего каталога.
${COMMANDCODE_PROJECT_DIR}Корень проекта (корень git, иначе текущий каталог).
${COMMANDCODE_SESSION_ID}Идентификатор текущей сессии, если он доступен.
${COMMANDCODE_EFFORT}Активный уровень рассуждений, если он доступен.

Алиасы ${CLAUDE_SKILL_DIR}, ${CLAUDE_PROJECT_DIR}, ${CLAUDE_SESSION_ID} и ${CLAUDE_EFFORT} дают те же значения, поэтому навык, написанный для Claude Code, работает без изменений. Заменяются только эти известные токены — любой другой ${...} (например, литеральный ${HOME}) остаётся нетронутым.

Все плейсхолдеры подставляются за один проход, а аргументы вставляются буквально: текст аргумента, который сам выглядит как плейсхолдер ($ARGUMENTS, $$, объявленный $name), попадает как есть и больше не разворачивается.

Динамическая подстановка контекста ​

Тело навыка может выполнять shell-команды и вставлять их вывод ещё до того, как тело дойдёт до модели, — так модель читает живые данные вместо команды. Распознаются две формы:

  • Строчная — !`git status --short` выполняет одну команду. ! учитывается только в начале строки или сразу после пробела, поэтому KEY=!`cmd` остаётся литералом.
  • Блоком — код-блок с языком ! выполняет многострочный скрипт:
text
node --version
git rev-parse --short HEAD

Каждый плейсхолдер заменяется выводом команды один раз, слева направо — вывод никогда не пересканируется на новые плейсхолдеры. Команды выполняются из каталога проекта, а значения COMMANDCODE_SKILL_DIR / COMMANDCODE_PROJECT_DIR (и алиасы CLAUDE_*) экспортируются в их окружение.

Чтобы это отключить — чтобы открытие навыка никогда не запускало оболочку, — установите disableSkillShellExecution: true в settings.json. Тогда каждый плейсхолдер заменяется на [shell command execution disabled by policy] вместо выполнения.

Дополнительные папки ​

Папка навыка может также содержать эти необязательные подкаталоги, чтобы упорядочить связанные файлы.

scripts/ ​

Содержит исполняемый код, который могут запускать агенты. Скрипты должны:

  • быть самодостаточными или явно описывать зависимости;
  • выдавать понятные сообщения об ошибках;
  • аккуратно обрабатывать крайние случаи.
text
my-skill/
├── SKILL.md
└── scripts/
    ├── extract.py
    └── process.sh

references/ ​

Содержит дополнительную документацию, которую агенты читают при необходимости:

text
my-skill/
├── SKILL.md
└── references/
    ├── API_REFERENCE.md
    ├── FORMS.md
    └── TROUBLESHOOTING.md

Держите отдельные справочные файлы сфокусированными. Command Code загружает их по требованию, поэтому меньшие файлы означают меньший расход контекста.

assets/ ​

Содержит статические ресурсы:

text
my-skill/
├── SKILL.md
└── assets/
    ├── template.json
    ├── diagram.png
    └── schema.sql

Справочник команд ​

Полный справочник по всем командам cmd skills. Установка, список и удаление навыков агента.

КомандаОписание
cmd skills addУстановить навык из репозитория GitHub
cmd skills listПоказать все установленные навыки
cmd skills removeУдалить установленный навык

cmd skills add ​

Устанавливает навык из репозитория GitHub в проектный или глобальный каталог навыков.

bash
cmd skills add <owner/repo> [options]

Опции:

ОпцияКороткаяОписание
--global-gУстановить в глобальные навыки (~/.commandcode/skills/)
--force-fПерезаписать, если навык уже существует
--skill <name>-sВыбрать конкретный навык из репозитория с несколькими навыками

Репозиторий с одним навыком:

bash
cmd skills add acme/my-skills

Конкретный путь в репозитории:

bash
cmd skills add acme/skills/path/to/skill

Один навык из репозитория с несколькими навыками:

bash
cmd skills add acme/multi-skills -s my-skill

Конкретная ветка:

bash
cmd skills add acme/repo@branch

Установка глобально:

bash
cmd skills add acme/repo --global

Установка из сообщества:

bash
cmd skills add https://github.com/remotion-dev/skills --skill remotion-best-practices

Каталоги установки:

ФлагРасположениеДоступность
(по умолчанию).commandcode/skills/<skill-name>/Только текущий проект
--global~/.commandcode/skills/<skill-name>/Все проекты на вашей машине

Репозитории с несколькими навыками. Когда репозиторий содержит несколько навыков и --skill не указан, Command Code показывает интерактивный запрос, какие навыки установить.

Совпадения имён. Имена навыков делят меню / со встроенными командами (/clear, /help, /share, /rewind, …) и с пользовательскими командами в .commandcode/commands/. Встроенные и пользовательские команды имеют приоритет: ввод /<name> попадает на владельца, а не на навык.

Если вы устанавливаете навык, имя которого совпадает с одной из них, cmd skills add всё равно выполняется нормально — установку ничего не блокирует. Дальше навык появляется в меню / с бейджем [skill] и пометкой shadowed by /<owner>, запускается как /skill:<name>, а обычный /<name> продолжает вести на владельца с более высоким приоритетом. Полный порядок — в разделе Приоритет выбора.

cmd skills list ​

Показывает все установленные навыки, сгруппированные по расположению.

bash
cmd skills list

Опции:

ОпцияОписание
--debugПоказать каждый навык, который не удалось загрузить, сгруппированный по категории ошибки

Вывод:

Показывает все установленные навыки, разбитые на разделы Project и Global:

text
Skills (3 installed)

Project (1)
  remotion-best-practices · Best practices for building Remotion video...

Global (2)
  frontend-design · Guidelines for building accessible, responsive UIs
  code-review · Comprehensive code review checklist for security and q...

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

С пропущенными навыками:

text
5 skills skipped · run with --debug to see issues

Повторите запуск с --debug, чтобы увидеть сгруппированный отчёт. Каждая строка получает категорию, путь и причину в одну строку:

bash
cmd skills list --debug

Если навыки не установлены, команда показывает, где она искала и как установить навык:

Пустой вывод:

text
No skills installed.

Looking in:
  ~/.commandcode/skills/ (global)
  .commandcode/skills/ (project)
  ~/.agents/skills/ (global, .agents)
  .agents/skills/ (project, .agents)

Install a skill: cmd skills add <owner/repo>

cmd skills remove ​

Удаляет установленный навык по имени. Перед удалением запрашивает подтверждение.

bash
cmd skills remove <skill-name> [options]

Опции:

ОпцияКороткаяОписание
--global-gУдалить из глобальных навыков (~/.commandcode/skills/)
--yes-yПропустить запрос подтверждения

Удаление из проекта:

bash
cmd skills remove remotion-best-practices

Удаление из глобальных:

bash
cmd skills remove frontend-design --global

Без подтверждения:

bash
cmd skills remove my-skill --yes

Правила имён навыков. Имена навыков должны состоять только из строчных букв, цифр и дефисов — без разделителей пути, точек и заглавных букв.

Лучшие практики ​

Следуйте этим практикам, чтобы навыки были эффективными и поддерживаемыми.

Как писать описания ​

Хорошие описания помогают Command Code понять, когда использовать навык:

Конкретно и с ключевыми словами:

text
description: Extract text and tables from PDF files using pdfplumber. Use when user mentions PDFs, pdf files, document extraction, or needs to read PDF content.

Слишком размыто:

text
description: PDF tools

Держите навыки узкими ​

Каждый навык должен хорошо делать одно дело:

Узко:

  • code-review — чек-лист код-ревью
  • commit-messages — формат сообщений коммита
  • testing-patterns — соглашения тестирования

Слишком широко:

  • development — все задачи разработки

Выбирайте имя без коллизий ​

Имена навыков делят меню / со встроенными командами вроде /clear, /help, /share и /rewind, а также с любыми пользовательскими командами, которые вы определяете в .commandcode/commands/. Они имеют приоритет: ввод /<name> ведёт на владельца, а навык отображается с пометкой shadowed by рядом с бейджем [skill].

Предпочитайте имена, привязанные к задаче, — они редко пересекаются:

Безопасно: pr-desc, api-guidelines, release-notes, code-review

Рискованно: clear, help, share, rewind — это встроенные команды.

Используйте прогрессивное раскрытие ​

Держите SKILL.md кратким. Подробный материал переносите в references/, например:

md
# API Guidelines

Quick reference of our API patterns.

For complete documentation, see:

- [Authentication details](references/AUTH.md)
- [Error handling guide](references/ERRORS.md)
- [Versioning strategy](references/VERSIONING.md)

Контроль версий ​

Храните навыки в Git:

bash
# Add skills to git
git add .commandcode/skills/

# Commit
git commit -m "Add API guidelines skill"

# Share with team
git push

Не игнорируйте .commandcode/skills/ — эти навыки стоит делить с командой.

Соответствие стандарту ​

Command Code полностью реализует открытый стандарт Agent Skills. Созданные вами навыки:

  • Переносимы: работают с любым агентом, который поддерживает стандарт.
  • Версионируемы: изменения отслеживаются в Git.
  • Разделяемы: публикуйте их для команды или сообщества.
  • Проверяемы: обычные текстовые файлы, которые может прочитать каждый.

Валидация строго следует стандарту — включая правило, что name навыка должно совпадать с именем его каталога. Навыки, нарушающие правило, пропускаются с предупреждением по категории (видно в /skills и в cmd skills list --debug), а не роняют сессию; отсутствующее или пустое description всегда мешает загрузке. Расширенные поля Command Code (argument-hint, disable-model-invocation, model) живут рядом со стандартными и игнорируются другими реализациями; незнакомые поля frontmatter от других инструментов, в свою очередь, игнорируются.

Навыки и вкус (taste) ​

Навыки — это явные плейбуки, которые вы пишете и которыми делитесь; вкус (taste) — это неявный, непрерывно обучаемый профиль ваших предпочтений. Полное руководство — в блоге commandcode.ai/blog/taste-skills-rules.

Дальнейшие шаги ​

Источник

Сверено с оригиналом 13 ноября 2026.