Skip to content

Список установленных навыков ​

Что вы сможете сделать после изучения ​

  • Использовать openskills list для просмотра всех установленных навыков
  • Понимать различия между тегами местоположения (project) и (global)
  • Быстро подсчитывать количество навыков проекта и глобальных навыков
  • Определять, успешно ли установлен навык

Ваша текущая проблема ​

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

  • "Какие навыки я только что установил? Я забыл"
  • "Этот навык установлен в проект или глобально?"
  • "Почему некоторые навыки видны в проекте A, но не видны в проекте B?"
  • "Я хочу удалить неиспользуемые навыки, но не знаю их точных названий"

Команда openskills list создана для решения этих сомнений — она работает как "каталог" навыков, позволяя вам увидеть все установленные навыки и их местоположение с первого взгляда.

Когда использовать этот приём ​

СитуацияДействие
Подтверждение успешности установки навыкаВыполните openskills list, чтобы увидеть, появился ли навык
Переключение на новый проект, проверка доступных навыковВыполните openskills list, чтобы увидеть, какие project-навыки есть
Инвентаризация перед очисткой навыковВыполните openskills list, чтобы перечислить все навыки, затем удалите ненужные
Отладка проблем загрузки навыковПодтвердите правильность названия навыка и места установки

Основная идея ​

OpenSkills поддерживает установку навыков в 4 местоположения (в порядке приоритета поиска):

  1. project .agent/skills — каталог общих навыков уровня проекта (многоагентная среда)
  2. global .agent/skills — каталог общих навыков глобального уровня (многоагентная среда)
  3. project .claude/skills — каталог навыков Claude Code уровня проекта
  4. global .claude/skills — каталог навыков Claude Code глобального уровня

openskills list выполнит следующие действия:

  1. Просканирует эти 4 каталога для поиска всех навыков
  2. Удалит дубликаты: одно и то же название навыка будет отображено только один раз (с приоритетом project версии)
  3. Сортирует: project-навыки первыми, global-навыки следом; в пределах одного местоположения — по алфавиту
  4. Пометит местоположение: с помощью тегов (project) и (global)
  5. Обобщит статистику: отобразит количество project-навыков, global-навыков и общее количество

Зачем нужно удаление дубликатов?

Если вы установили один и тот же навык (например, pdf) и в project, и в global, OpenSkills будет приоритетно использовать project-версию. Команда list отображает его только один раз, чтобы избежать путаницы.

Следуйте за мной ​

Шаг 1: Список всех установленных навыков ​

Зачем Быстро просмотреть, какие навыки доступны в текущей среде

Выполните следующую команду:

bash
npx openskills list

Что вы должны увидеть

Если не установлено ни одного навыка, будет отображено:

Available Skills:

No skills installed.

Install skills:
  npx openskills install anthropics/skills         # Project (default)
  npx openskills install owner/skill --global     # Global (advanced)

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

Available Skills:

  pdf                         (project)
    Comprehensive PDF manipulation toolkit for extracting text and tables...

  code-analyzer                (project)
    Static code analysis tool for identifying security vulnerabilities...

  email-reader                 (global)
    Read email content and attachments via IMAP protocol...

Summary: 2 project, 1 global (3 total)

Шаг 2: Понимание формата вывода ​

Зачем Чтобы быстро найти нужную информацию, нужно понимать значение каждой строки

Объяснение формата вывода:

ЧастьОписание
pdfНазвание навыка (извлекается из поля name в SKILL.md)
(project)Тег местоположения: синий цвет указывает на project-навык, серый — на global-навык
Comprehensive PDF...Описание навыка (извлекается из поля description в SKILL.md)
Summary: 2 project, 1 global (3 total)Статистическая сводка: количество project-навыков, global-навыков, общее количество

Шаг 3: Проверка тегов местоположения ​

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

Попробуйте следующие операции, чтобы понять теги местоположения:

bash
# 1. Установите project-навык
npx openskills install anthropics/skills -y

# 2. Посмотрите список (должен отображаться тег project)
npx openskills list

# 3. Установите global-навык
npx openskills install anthropics/skills --global -y

# 4. Снова посмотрите список (два навыка pdf, отображается только один раз, тег project)
npx openskills list

Что вы должны увидеть

Available Skills:

  pdf                         (project)
    Comprehensive PDF manipulation toolkit for extracting text...

Summary: 1 project, 0 global (1 total)

Даже если один и тот же навык установлен и глобально, и в проекте, команда list отобразит его только один раз, так как project-версия имеет более высокий приоритет.

Контрольная точка ✅ ​

Подтвердите следующее:

  • [ ] Выполнение openskills list позволяет увидеть список установленных навыков
  • [ ] Можно различать теги (project) и (global) (разные цвета: синий vs серый)
  • [ ] Числа статистики Summary правильные (project-навыки + global-навыки = общее количество)
  • [ ] Понимание правила, что одно и то же название навыка отображается только один раз

Предупреждение о проблемах ​

Распространённая проблема 1: Не удаётся найти только что установленный навык ​

Симптом: Команда install выполнена успешно, но list ничего не показывает

Шаги по устранению:

  1. Проверьте, находитесь ли вы в правильном каталоге проекта (project-навыки видны только для текущего проекта)
  2. Подтвердите, установлен ли навык глобально (с флагом --global)
  3. Проверьте место установки:
bash
# Проверьте каталог проекта
ls -la .claude/skills/

# Проверьте глобальный каталог
ls -la ~/.claude/skills/

Распространённая проблема 2: Видите странные названия навыков ​

Симптом: Название навыка отличается от ожидаемого (например, название папки vs name в SKILL.md)

Причина: OpenSkills использует поле name из SKILL.md как название навыка, а не название папки

Решение: Проверьте frontmatter в SKILL.md:

yaml
---
name: pdf  # Это название, которое отображает команда list
description: Comprehensive PDF manipulation toolkit...
---

Распространённая проблема 3: Описание отображается не полностью ​

Симптом: Описание навыка обрезано

Причина: Это ограничение ширины терминала, не влияет на содержимое навыка

Решение: Просмотрите файл SKILL.md напрямую для получения полного описания

Итог урока ​

openskills list — это команда "каталог" для управления навыками, которая помогает вам:

  • 📋 Просматривать все навыки: увидеть установленные навыки с первого взгляда
  • 🏷️ Различать теги местоположения: (project) указывает на уровень проекта, (global) — на глобальный уровень
  • 📊 Статистическая сводка: быстро узнать количество project- и global-навыков
  • 🔍 Диагностика проблем: подтвердить успешную установку навыка, определить местоположение навыка

Основные правила:

  1. Навыки с одинаковым названием отображаются только один раз (приоритет project)
  2. Project-навыки первыми, global-навыки следом
  3. В пределах одного местоположения — по алфавиту

Предпросмотр следующего урока ​

В следующем уроке мы изучим Обновление навыков.

Вы узнаете:

  • Как обновить установленные навыки из исходного репозитория
  • Массовое обновление всех навыков
  • Обработка старых навыков без метаданных

Приложение: Ссылки на исходный код ​

Нажмите, чтобы раскрыть местоположение исходного кода

Обновлено: 2026-01-24

ФункцияПуть к файлуСтрока
Реализация команды listsrc/commands/list.ts7-43
Поиск всех навыковsrc/utils/skills.ts30-64
Конфигурация каталогов поискаsrc/utils/dirs.ts18-25
Определение типа Skillsrc/types.ts1-6

Ключевые функции:

  • listSkills(): выводит список всех установленных навыков, форматированный вывод
  • findAllSkills(): сканирует 4 каталога поиска, собирает все навыки
  • getSearchDirs(): возвращает пути к 4 каталогам поиска (в порядке приоритета)

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

  • отсутствуют (пути каталогов поиска вычисляются динамически)

Основная логика:

  1. Механизм удаления дубликатов: использует Set для записи обработанных названий навыков (skills.ts:32-33, 43, 57)
  2. Определение местоположения: проверка project-каталога через dir.includes(process.cwd()) (skills.ts:48)
  3. Правила сортировки: приоритет project, в пределах одного местоположения — по алфавиту (list.ts:21-26)