Skip to content

Подробное описание источников установки

Чему вы научитесь

  • Использовать три способа установки навыков: репозитории GitHub, локальные пути, частные Git-репозитории
  • Выбирать наиболее подходящий источник установки для конкретной ситуации
  • Понимать преимущества и недостатки разных источников
  • Освоить форматы GitHub shorthand, относительных путей, URL-адресов частных репозиториев

Предварительные знания

Этот учебник предполагает, что вы уже выполнили Установку первого навыка и знакомы с базовым процессом установки.


Ваша текущая ситуация

Вы, возможно, уже научились устанавливать навыки из официального репозитория, но:

  • Доступен только GitHub?: Хотите использовать внутренний репозиторий GitLab компании, но не знаете, как настроить
  • Как установить локально разрабатываемые навыки?: Разрабатываете свой навык и хотите протестировать его на локальном компьютере
  • Хотите указать конкретный навык: В репозитории много навыков, не хотите каждый раз выбирать через интерактивный интерфейс
  • Как получить доступ к частному репозиторию?: Репозиторий навыков компании является частным, не знаете, как аутентифицироваться

На самом деле OpenSkills поддерживает множество источников установки. Давайте рассмотрим их один за другим.


Когда использовать этот метод

Сценарии использования разных источников установки:

Источник установкиСценарий использованияПример
Репозиторий GitHubИспользование навыков из сообщества с открытым исходным кодомopenskills install anthropics/skills
Локальный путьРазработка и тестирование собственных навыковopenskills install ./my-skill
Частный Git-репозиторийИспользование внутренних навыков компанииopenskills install [email protected]:my-org/private-skills.git

Рекомендация

  • Навыки с открытым исходным кодом: Приоритет установки из репозитория GitHub для удобства обновлений
  • Этап разработки: Установка из локального пути для тестирования изменений в реальном времени
  • Командная работа: Использование частных Git-репозиториев для унифицированного управления внутренними навыками

Основная концепция: три источника, один механизм

Хотя источники установки различаются, базовый механизм OpenSkills одинаков:

[Идентификация типа источника] → [Получение файлов навыка] → [Копирование в .claude/skills/]

Логика идентификации источника (исходный код install.ts:25-45):

typescript
function isLocalPath(source: string): boolean {
  return (
    source.startsWith('/') ||
    source.startsWith('./') ||
    source.startsWith('../') ||
    source.startsWith('~/')
  );
}

function isGitUrl(source: string): boolean {
  return (
    source.startsWith('git@') ||
    source.startsWith('git://') ||
    source.startsWith('http://') ||
    source.startsWith('https://') ||
    source.endsWith('.git')
  );
}

Приоритет проверки:

  1. Сначала проверяется, является ли это локальным путём (isLocalPath)
  2. Затем проверяется, является ли это Git URL (isGitUrl)
  3. В последнюю очередь обрабатывается как GitHub shorthand (owner/repo)

Следуйте инструкциям

Способ 1: Установка из репозитория GitHub

Сценарий использования: Установка навыков из сообщества с открытым исходным кодом, например официальный репозиторий Anthropic, сторонние пакеты навыков.

Базовое использование: установка всего репозитория

bash
npx openskills install owner/repo

Пример: Установка навыков из официального репозитория Anthropic

bash
npx openskills install anthropics/skills

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

Installing from: anthropics/skills
Location: project (.claude/skills)

Cloning repository...
✓ Repository cloned

Found 4 skill(s)

? Select skills to install:
❯ ◉ pdf (24 KB)
  ◯ git-workflow (12 KB)
  ◯ check-branch-first (8 KB)
  ◯ skill-creator (16 KB)

Расширенное использование: указание подпути (прямая установка конкретного навыка)

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

bash
npx openskills install owner/repo/skill-name

Пример: Прямая установка навыка обработки PDF

bash
npx openskills install anthropics/skills/pdf

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

Installing from: anthropics/skills/pdf
Location: project (.claude/skills)

Cloning repository...
✓ Repository cloned
✅ Installed: pdf
   Location: /path/to/project/.claude/skills/pdf

Рекомендация

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

Правила GitHub shorthand (исходный код install.ts:131-143)

ФорматПримерРезультат преобразования
owner/repoanthropics/skillshttps://github.com/anthropics/skills
---------

Способ 2: Установка из локального пути

Сценарий использования: Разрабатываете свой навык и хотите протестировать его на локальном компьютере перед публикацией в GitHub.

Использование абсолютного пути

bash
npx openskills install /absolute/path/to/skill

Пример: Установка из каталога навыков в домашнем каталоге

bash
npx openskills install ~/dev/my-skills/pdf-processor

Использование относительного пути

bash
npx openskills install ./local-skills/my-skill

Пример: Установка из подкаталога local-skills/ в каталоге проекта

bash
npx openskills install ./local-skills/web-scraper

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

Installing from: ./local-skills/web-scraper
Location: project (.claude/skills)
✅ Installed: web-scraper
   Location: /path/to/project/.claude/skills/web-scraper

Важные замечания

Установка из локального пути копирует файлы навыка в .claude/skills/, последующие изменения исходных файлов не будут автоматически синхронизироваться. Для обновления необходимо переустановить.

Установка локального каталога, содержащего несколько навыков

Если структура вашего локального каталога выглядит так:

local-skills/
├── pdf-processor/SKILL.md
├── web-scraper/SKILL.md
└── git-helper/SKILL.md

Вы можете установить весь каталог напрямую:

bash
npx openskills install ./local-skills

Это запустит интерфейс интерактивного выбора, позволяющий выбрать устанавливаемые навыки.

Поддерживаемые форматы локальных путей (исходный код install.ts:25-32)

ФорматОписаниеПример
/absolute/pathАбсолютный путь/home/user/skills/my-skill
./relative/pathОтносительный путь от текущего каталога./local-skills/my-skill
../relative/pathОтносительный путь от родительского каталога../shared-skills/common
~/pathОтносительный путь от домашнего каталога~/dev/my-skills

Советы по разработке

Использование сокращения ~ позволяет быстро ссылаться на навыки в домашнем каталоге, подходит для среды личной разработки.


Способ 3: Установка из частного Git-репозитория

Сценарий использования: Использование внутренних репозиториев GitLab/Bitbucket компании или частных репозиториев GitHub.

Метод SSH (рекомендуется)

bash
npx openskills install [email protected]:owner/private-skills.git

Пример: Установка из частного репозитория GitHub

bash
npx openskills install [email protected]:my-org/internal-skills.git

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

Installing from: [email protected]:my-org/internal-skills.git
Location: project (.claude/skills)

Cloning repository...
✓ Repository cloned

Found 3 skill(s)
? Select skills to install:

Настройка аутентификации

Метод SSH требует, чтобы вы уже настроили SSH-ключи. Если клонирование не удалось, проверьте:

bash
# Тест SSH-подключения
ssh -T [email protected]

# Если отображается "Hi username! You've successfully authenticated...", настройка выполнена правильно

Метод HTTPS (требуются учётные данные)

bash
npx openskills install https://github.com/owner/private-skills.git

Аутентификация HTTPS

При клонировании частного репозитория методом HTTPS Git запросит имя пользователя и пароль (или Personal Access Token). Если вы используете двухфакторную аутентификацию, необходимо использовать Personal Access Token, а не пароль учётной записи.

Другие платформы хостинга Git

GitLab (SSH):

bash
npx openskills install [email protected]:owner/skills.git

GitLab (HTTPS):

bash
npx openskills install https://gitlab.com/owner/skills.git

Bitbucket (SSH):

bash
npx openskills install [email protected]:owner/skills.git

Bitbucket (HTTPS):

bash
npx openskills install https://bitbucket.org/owner/skills.git

Рекомендация

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

  • Все участники могут установить из одного источника
  • При обновлении навыков достаточно выполнить openskills update
  • Удобно управление версиями и правами доступа

Правила идентификации Git URL (исходный код install.ts:37-45)

Префикс/суффиксОписаниеПример
git@Протокол SSH[email protected]:owner/repo.git
git://Протокол Gitgit://github.com:owner/repo.git
http://Протокол HTTPhttp://github.com/owner/repo.git
https://Протокол HTTPShttps://github.com/owner/repo.git
Суффикс .gitGit-репозиторий (любой протокол)owner/repo.git

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

После завершения этого урока, пожалуйста, подтвердите:

  • [ ] Знаете, как устанавливать навыки из репозитория GitHub (формат owner/repo)
  • [ ] Знаете, как напрямую установить конкретный навык из репозитория (формат owner/repo/skill-name)
  • [ ] Знаете, как устанавливать навыки из локального пути (./, ~/ и т. д.)
  • [ ] Знаете, как устанавливать навыки из частного Git-репозитория (SSH/HTTPS)
  • [ ] Понимаете сценарии использования разных источников установки

Предупреждение о распространённых проблемах

Проблема 1: Локальный путь не существует

Симптом:

Error: Path does not exist: ./local-skills/my-skill

Причина:

  • Ошибка в написании пути
  • Ошибка вычисления относительного пути

Решение:

  1. Проверьте, существует ли путь: ls ./local-skills/my-skill
  2. Используйте абсолютный путь для избежания путаницы с относительными путями

Проблема 2: Ошибка клонирования частного репозитория

Симптом:

✗ Failed to clone repository
fatal: repository '[email protected]:owner/private-skills.git' does not appear to be a git repository

Причина:

  • SSH-ключ не настроен
  • Нет доступа к репозиторию
  • Ошибка адреса репозитория

Решение:

  1. Проверьте SSH-подключение: ssh -T [email protected]
  2. Убедитесь, что у вас есть доступ к репозиторию
  3. Проверьте правильность адреса репозитория

Подсказка

Для частных репозиториев инструмент отображает следующее сообщение (исходный код install.ts:167):

Tip: For private repos, ensure git SSH keys or credentials are configured

Проблема 3: SKILL.md не найден в подпути

Симптом:

Error: SKILL.md not found at skills/my-skill

Причина:

  • Ошибка в подпути
  • Структура каталогов в репозитории отличается от ожидаемой

Решение:

  1. Сначала установите весь репозиторий без подпути: npx openskills install owner/repo
  2. Посмотрите доступные навыки через интерактивный интерфейс
  3. Переустановите с правильным подпутем

Проблема 4: Ошибка идентификации GitHub shorthand

Симптом:

Error: Invalid source format
Expected: owner/repo, owner/repo/skill-name, git URL, or local path

Причина:

  • Формат не соответствует ни одному правилу
  • Ошибка в написании (например, пробел между owner / repo)

Решение:

  • Проверьте правильность формата (без пробелов, правильное количество косых черт)
  • Используйте полный Git URL вместо shorthand

Итог урока

В этом уроке вы научились:

  • Три источника установки: репозитории GitHub, локальные пути, частные Git-репозитории
  • GitHub shorthand: два формата owner/repo и owner/repo/skill-name
  • Форматы локальных путей: абсолютный путь, относительный путь, сокращение домашнего каталога
  • Установка частных репозиториев: два метода SSH и HTTPS, форматы для разных платформ
  • Логика идентификации источников: как инструмент определяет тип источника установки

Краткий справочник по основным командам:

КомандаДействие
npx openskills install owner/repoУстановка из репозитория GitHub (интерактивный выбор)
npx openskills install owner/repo/skill-nameПрямая установка конкретного навыка из репозитория
npx openskills install ./local-skills/skillУстановка из локального пути
npx openskills install ~/dev/my-skillsУстановка из домашнего каталога
npx openskills install [email protected]:owner/private-skills.gitУстановка из частного Git-репозитория

Объявление следующего урока

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

Вы узнаете:

  • Назначение и расположение флага --global
  • Различия между глобальной установкой и локальной установкой проекта
  • Выбор подходящего места установки в зависимости от сценария
  • Лучшие практики для обмена навыками между несколькими проектами

Источник установки — это лишь часть управления навыками, далее нужно понять влияние места установки навыков на проект.


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

Нажмите для отображения расположения исходного кода

Время обновления: 2026-01-24

ФункцияПуть к файлуНомер строки
Точка входа команды установкиsrc/commands/install.ts83-184
Проверка локального путиsrc/commands/install.ts25-32
Проверка Git URLsrc/commands/install.ts37-45
Разбор GitHub shorthandsrc/commands/install.ts131-143
Установка из локального путиsrc/commands/install.ts199-226
Клонирование Git-репозиторияsrc/commands/install.ts155-169
Сообщение об ошибке частного репозиторияsrc/commands/install.ts167

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

  • isLocalPath(source) — Проверка, является ли путь локальным (строки 25-32)
  • isGitUrl(source) — Проверка, является ли URL Git URL (строки 37-45)
  • installFromLocal() — Установка навыков из локального пути (строки 199-226)
  • installSpecificSkill() — Установка навыка из указанного подпути (строки 272-316)
  • getRepoName() — Извлечение имени репозитория из Git URL (строки 50-56)

Ключевая логика:

  1. Приоритет проверки типа источника: локальный путь → Git URL → GitHub shorthand (строки 111-143)
  2. GitHub shorthand поддерживает два формата: owner/repo и owner/repo/skill-name (строки 132-142)
  3. При ошибке клонирования частного репозитория выводится подсказка о настройке SSH-ключей или учётных данных (строка 167)