Список установленных навыков
Что вы сможете сделать после изучения
- Использовать
openskills listдля просмотра всех установленных навыков - Понимать различия между тегами местоположения
(project)и(global) - Быстро подсчитывать количество навыков проекта и глобальных навыков
- Определять, успешно ли установлен навык
Ваша текущая проблема
После установки нескольких навыков вы можете столкнуться со следующими проблемами:
- "Какие навыки я только что установил? Я забыл"
- "Этот навык установлен в проект или глобально?"
- "Почему некоторые навыки видны в проекте A, но не видны в проекте B?"
- "Я хочу удалить неиспользуемые навыки, но не знаю их точных названий"
Команда openskills list создана для решения этих сомнений — она работает как "каталог" навыков, позволяя вам увидеть все установленные навыки и их местоположение с первого взгляда.
Когда использовать этот приём
| Ситуация | Действие |
|---|---|
| Подтверждение успешности установки навыка | Выполните openskills list, чтобы увидеть, появился ли навык |
| Переключение на новый проект, проверка доступных навыков | Выполните openskills list, чтобы увидеть, какие project-навыки есть |
| Инвентаризация перед очисткой навыков | Выполните openskills list, чтобы перечислить все навыки, затем удалите ненужные |
| Отладка проблем загрузки навыков | Подтвердите правильность названия навыка и места установки |
Основная идея
OpenSkills поддерживает установку навыков в 4 местоположения (в порядке приоритета поиска):
- project .agent/skills — каталог общих навыков уровня проекта (многоагентная среда)
- global .agent/skills — каталог общих навыков глобального уровня (многоагентная среда)
- project .claude/skills — каталог навыков Claude Code уровня проекта
- global .claude/skills — каталог навыков Claude Code глобального уровня
openskills list выполнит следующие действия:
- Просканирует эти 4 каталога для поиска всех навыков
- Удалит дубликаты: одно и то же название навыка будет отображено только один раз (с приоритетом project версии)
- Сортирует: project-навыки первыми, global-навыки следом; в пределах одного местоположения — по алфавиту
- Пометит местоположение: с помощью тегов
(project)и(global) - Обобщит статистику: отобразит количество project-навыков, global-навыков и общее количество
Зачем нужно удаление дубликатов?
Если вы установили один и тот же навык (например, pdf) и в project, и в global, OpenSkills будет приоритетно использовать project-версию. Команда list отображает его только один раз, чтобы избежать путаницы.
Следуйте за мной
Шаг 1: Список всех установленных навыков
Зачем Быстро просмотреть, какие навыки доступны в текущей среде
Выполните следующую команду:
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: Проверка тегов местоположения
Зачем Подтвердить, что навык установлен в ожидаемое местоположение, чтобы избежать сомнений "почему этот навык не виден в этом проекте"
Попробуйте следующие операции, чтобы понять теги местоположения:
# 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 ничего не показывает
Шаги по устранению:
- Проверьте, находитесь ли вы в правильном каталоге проекта (project-навыки видны только для текущего проекта)
- Подтвердите, установлен ли навык глобально (с флагом
--global) - Проверьте место установки:
# Проверьте каталог проекта
ls -la .claude/skills/
# Проверьте глобальный каталог
ls -la ~/.claude/skills/Распространённая проблема 2: Видите странные названия навыков
Симптом: Название навыка отличается от ожидаемого (например, название папки vs name в SKILL.md)
Причина: OpenSkills использует поле name из SKILL.md как название навыка, а не название папки
Решение: Проверьте frontmatter в SKILL.md:
---
name: pdf # Это название, которое отображает команда list
description: Comprehensive PDF manipulation toolkit...
---Распространённая проблема 3: Описание отображается не полностью
Симптом: Описание навыка обрезано
Причина: Это ограничение ширины терминала, не влияет на содержимое навыка
Решение: Просмотрите файл SKILL.md напрямую для получения полного описания
Итог урока
openskills list — это команда "каталог" для управления навыками, которая помогает вам:
- 📋 Просматривать все навыки: увидеть установленные навыки с первого взгляда
- 🏷️ Различать теги местоположения:
(project)указывает на уровень проекта,(global)— на глобальный уровень - 📊 Статистическая сводка: быстро узнать количество project- и global-навыков
- 🔍 Диагностика проблем: подтвердить успешную установку навыка, определить местоположение навыка
Основные правила:
- Навыки с одинаковым названием отображаются только один раз (приоритет project)
- Project-навыки первыми, global-навыки следом
- В пределах одного местоположения — по алфавиту
Предпросмотр следующего урока
В следующем уроке мы изучим Обновление навыков.
Вы узнаете:
- Как обновить установленные навыки из исходного репозитория
- Массовое обновление всех навыков
- Обработка старых навыков без метаданных
Приложение: Ссылки на исходный код
Нажмите, чтобы раскрыть местоположение исходного кода
Обновлено: 2026-01-24
| Функция | Путь к файлу | Строка |
|---|---|---|
| Реализация команды list | src/commands/list.ts | 7-43 |
| Поиск всех навыков | src/utils/skills.ts | 30-64 |
| Конфигурация каталогов поиска | src/utils/dirs.ts | 18-25 |
| Определение типа Skill | src/types.ts | 1-6 |
Ключевые функции:
listSkills(): выводит список всех установленных навыков, форматированный выводfindAllSkills(): сканирует 4 каталога поиска, собирает все навыкиgetSearchDirs(): возвращает пути к 4 каталогам поиска (в порядке приоритета)
Ключевые константы:
- отсутствуют (пути каталогов поиска вычисляются динамически)
Основная логика:
- Механизм удаления дубликатов: использует
Setдля записи обработанных названий навыков (skills.ts:32-33, 43, 57) - Определение местоположения: проверка project-каталога через
dir.includes(process.cwd())(skills.ts:48) - Правила сортировки: приоритет project, в пределах одного местоположения — по алфавиту (list.ts:21-26)