Skip to main content

CocoaSkills

PyPI Python versions License CI

Установщик csk управляет локальными пакетами скиллов для AI-агентов. Инструмент загружает скиллы из git-репозиториев и подготавливает файлы для шести сред: Claude Code, Codex CLI, Cursor, Gemini, OpenCode и Windsurf.

Зачем

Ручное управление скиллами в нескольких проектах создаёт проблемы при командной разработке. Содержимое файлов на компьютерах разработчиков расходится со временем. Без фиксации версий по тегам и коммитам обновления ломают рабочие окружения. Вспомогательные файлы, такие как README, тесты и файлы сборки, попадают в контекст агента и расходуют лимиты токенов. При удалении скилла из конфигурации неиспользуемые файлы остаются на диске.

Установщик csk решает эти проблемы декларативным описанием скиллов в Skillfile.json. Инструмент фиксирует версии git-репозиториев, копирует в контекст агента только SKILL.md и объявленные каталоги (references/, assets/, agents/, data/), исключая tests, README, файлы сборки и метаданные git, и удаляет устаревшие файлы при обновлении состава скиллов.

Рынок и позиция CocoaSkills

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

Решение Основной фокус Сильная сторона Ограничения для задач компании
Vercel (skills.sh) Каталог и установка публичных навыков Масштаб экосистемы и поддержка множества агентов Ориентация на публичное распространение без защиты корпоративной цепочки поставки
SkillKit Универсальное управление для разных агентов Разнообразие интеграций, поиск и сканирование безопасности Уклон в индивидуальное использование без детерминированной воспроизводимости графа зависимостей
Tessl Корпоративное управление и реестр Приватные навыки, правила аудита и оценка качества Зависимость от централизованной платформы вместо локального менеджера пакетов
NVIDIA Skills / SkillSpector Безопасность, подлинность и проверка качества Цифровые подписи, сканирование угроз и бенчмарки Проверка и публикация без управления полным жизненным циклом локального окружения
Agent Plugins Открытый формат пакета Объединение навыков и инструментов MCP в единый стандарт Спецификация формата без функций установки, разрешения зависимостей и контроля правил

Установщик csk работает на уровне локальной инфраструктуры проекта. Инструмент воспроизводимо и безопасно управляет агентскими навыками со следующими свойствами:

  • Детерминированный граф зависимостей выявляет конфликты версий до начала установки.
  • Поддержка закрытых источников позволяет ограничить загрузку разрешёнными git-репозиториями.
  • Трёхуровневая изоляция разделяет контекст модели, исполняемую среду и артефакты сборки.
  • Транзакционная установка гарантирует откат к исходному состоянию при ошибках.
  • Каноническое состояние проекта не зависит от выбранного агента или среды разработки.
  • Локальная проверка правил безопасности работает без обязательной связи с внешними сервисами.

Существующие инструменты решают задачи каталогизации и проверки навыков; csk закрывает соседний уровень: детерминированную и воспроизводимую установку скиллов внутри закрытого корпоративного контура.

Почему CocoaSkills, а не альтернативы

Ручное копирование папок или создание symlink:

  • Где ломается: требует повторного копирования во всех проектах при обновлениях и переносит лишние файлы репозитория в контекст модели.
  • Что делает csk: автоматизирует загрузку, фильтрует содержимое до разрешённых каталогов и обновляет файлы одной командой.

Подключение через git submodules или git subtree:

  • Где ломается: сохраняет полную историю репозиториев, требует команд git при переключении веток и не формирует адаптеры для агентов.
  • Что делает csk: скачивает репозитории в локальный кэш, извлекает файлы скиллов и строит конфигурации для каждого агента.

Встроенные маркетплейсы плагинов внутри конкретных агентов:

  • Где ломается: привязывает скиллы к одному агенту и не позволяет использовать единый манифест в командах с разными инструментами.
  • Что делает csk: хранит единый Skillfile.json и раскладывает скиллы по адаптерам Claude Code, Codex CLI, Cursor и Gemini; OpenCode и Windsurf читают .agents/skills/ напрямую.

Общая директория скиллов с синхронизацией кастомными скриптами:

  • Где ломается: требует поддержки собственных скриптов, не проверяет контрольные суммы и не управляет транзитивными зависимостями.
  • Что делает csk: вычисляет граф зависимостей скиллов, фиксирует точные хеши содержимого и изолирует сгенерированные файлы.

Инструмент CocoaSkills не служит публичным реестром пакетов, не выступает runtime-средой для агента и не управляет MCP-серверами. Установщик отвечает только за декларативную доставку и локальную раскладку файлов скиллов.

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

  1. Установите CocoaSkills одним из способов:

    pipx (рекомендуется)
    pipx install cocoaskills
    
    uv tool
    uv tool install cocoaskills
    
    Homebrew (macOS, Linux)
    brew tap ivanopcode/csk
    brew install cocoaskills
    
    mise
    mise use -g pipx:cocoaskills@latest
    
    pip
    python -m pip install --user cocoaskills
    

    Результат: команда csk --version выводит версию CocoaSkills.

  2. Перейдите в каталог проекта и инициализируйте конфигурацию:

    cd /path/to/project
    csk init
    

    Результат: команда создаёт манифест Skillfile.json с начальной конфигурацией проекта и записывает блок директорий .agents/, .claude/skills/, .codex/skills/, .cursor/rules/, .gemini/skills/ и файла Skillfile.dev.json в .gitignore.

  3. Добавьте объявление скилла в проект:

    csk add skill-tracker --git git@gitlab.example.com:skills/skill-tracker.git --tag v1.0.0
    

    Результат: команда записывает объект скилла с именем skill-tracker, указанным репозиторием и тегом v1.0.0 в массив skills файла Skillfile.json.

  4. Выполните установку объявленных скиллов:

    csk install
    

    Результат: установщик скачивает репозиторий, извлекает файлы скилла в .agents/skills/skill-tracker/, генерирует адаптеры для указанных агентов и создаёт исполняемые шимы в .agents/bin/ для скиллов с командами.

  5. Проверьте доступность скилла в подключённом агенте:

    claude
    

    Результат: агент считывает инструкции из адаптера .claude/skills/ и применяет правила скилла skill-tracker в текущей сессии.

Приватные репозитории сборки: за один Enter

Скомпилированные команды скилла могут собираться из отдельно запиненного git-репозитория. Если репозиторий приватный, при первой установке csk показывает обнаруженные варианты (ssh-agent, ваши *.pub): вы выбираете вариант на терминале (по умолчанию предлагается вариант "агент + пин ключа"), указываете скоуп, и выбор сохраняется в конфиг. В CI то же самое задаётся заранее:

csk config build-ssh add gitlab.example.com/portals/infra \
    --agent auto --identity ~/.ssh/work.pub

Приватный репозиторий сборки работает и по SSH, и по HTTPS. Для HTTPS ничего заводить не нужно, если вы уже клонируете по HTTPS: csk предложит переиспользовать ваши собственные креды Git при первой установке за один Enter. Для неинтерактивного случая выполните команду:

csk config build-https add gitlab.example.com/portals/infra --token git-credentials

В CI задайте переменную CSK_BUILD_HTTPS_TOKENCSK_BUILD_HTTPS_HOST, если репозитории сборки живут на разных хостах).

Пакет скилла выбрать креды не может: выбор делает только оператор и только явно. Подробности устройства брокеров кредов и скоупов описаны в docs/external-build-repositories.md.

Режимы установки скиллов

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

Проектный режим

Проектный режим фиксирует скиллы в файле Skillfile.json в корне репозитория. Разработчики коммитят этот файл в систему контроля версий. Вызов csk install на любой машине разворачивает одинаковый набор скиллов для всех участников команды.

Файл Skillfile.json с проектным скиллом выглядит следующим образом:

{
  "schema_version": 1,
  "project": { "alias": "demo-ios" },
  "agents": ["claude_code", "codex_cli", "cursor"],
  "skills": [
    {
      "name": "skill-tracker",
      "git": "git@gitlab.example.com:skills/skill-tracker.git",
      "tag": "v1.0.0"
    }
  ]
}

Глобальный режим

Глобальный режим устанавливает скиллы один раз на компьютере пользователя в каталог ~/.cocoaskills/global/. Глобальные скиллы работают во всех каталогах вне зависимости от наличия git-репозитория и файла Skillfile.json.

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

csk global add skill-metrics --git git@gitlab.example.com:skills/skill-metrics.git --tag v2.1.0

Команда csk global install скачивает репозиторий и записывает адаптеры в пользовательские директории агентов в домашнем каталоге.

Гибридный режим

Гибридный режим объявляет скиллы один раз на машине в файле ~/.cocoaskills/hybrid/Skillfile.json и активирует их для целевых проектов по алиасу, пути или глоб-шаблону. Установщик создаёт адаптеры в директориях агентов проекта (.claude/skills/, .codex/skills/) и шимы команд в .agents/bin/, но не требует коммитов в git-репозиторий. Платформенные команды используют гибридный режим для раскатки процессных правил и рабочих процессов на выбранные репозитории.

Команда связывает гибридный скилл с проектом по его алиасу:

csk hybrid add workflow-lint --git git@gitlab.example.com:skills/workflow-lint.git --tag v1.2.0 --target "demo-ios"

При запуске csk install внутри проекта demo-ios установщик проверяет правила в ~/.cocoaskills/hybrid/Skillfile.json, находит совпадение по алиасу demo-ios и подключает скилл workflow-lint в локальный контекст агентов.

Порядок перекрытия скиллов

При совпадении имён скиллов в разных режимах установщик применяет следующий порядок приоритета: проектный режим перекрывает гибридный режим, а гибридный режим перекрывает глобальный режим (проектный > гибридный > глобальный).

Команды

Раздел содержит обзор основных команд csk по пяти функциональным группам.

Проект
csk init [path]                     # Инициализирует Skillfile.json и .gitignore в проекте
csk add <name>                      # Добавляет или обновляет объявление скилла в Skillfile.json
csk remove <name>                   # Удаляет объявление скилла из Skillfile.json
csk status [target]                 # Показывает статус установленных скиллов и манифеста
csk list                            # Выводит список зарегистрированных проектов и скиллов
csk project add <alias> <path>      # Регистрирует путь проекта в глобальной конфигурации
csk project resolve [target]        # Показывает резолюцию манифеста и целевых путей
Скиллы и зависимости
csk install [target]                # Устанавливает объявленные скиллы по локальным git-ссылкам
csk update                          # Выполняет git fetch для всех источников в skills_root
csk upgrade [target]                # Подтягивает обновления источников и выполняет установку
csk skill check <dir>               # Проверяет валидность структуры скилла и SKILL.md
Global и Hybrid
csk global init                     # Создаёт глобальный манифест ~/.cocoaskills/global/Skillfile.json
csk global add <name>               # Добавляет объявление скилла в глобальный манифест
csk global remove <name>            # Удаляет скилл из глобального манифеста
csk global list                     # Выводит список объявленных глобальных скиллов
csk global status                   # Показывает статус установки глобальных скиллов
csk global install                  # Устанавливает глобальные скиллы в профиль пользователя
csk global update                   # Подтягивает git-источники глобальных скиллов
csk global upgrade                  # Подтягивает git-источники и устанавливает глобальные скиллы
csk hybrid add <name>               # Связывает гибридный скилл с целевыми проектами
csk hybrid remove <name>            # Удаляет объявление гибридного скилла
csk hybrid list                     # Выводит список гибридных скиллов и привязок
csk hybrid status                   # Показывает статус гибридных скиллов и хранилища
Сборки и аудит
csk audit [target]                  # Запускает статический аудит безопасности скиллов
csk gc                              # Очищает неиспользуемые runtime-записи и кэш сборок
Сервисные
csk bootstrap                       # Создаёт глобальную конфигурацию ~/.cocoaskills/config.json
csk config show                     # Выводит путь и содержимое текущей конфигурации
csk shell-init                      # Генерирует или устанавливает код хука shell для PATH

Полное описание команд, флагов, позиционных аргументов и примеров использования находится в файле docs/cli.md.

Development tools

  • uv installs the development environment and builds release artifacts. Run uv sync --extra dev and uv build --out-dir .temp/dist; build outputs stay under .temp/dist/.
  • pytest and pytest-xdist run the test suite. Run uv run pytest -q for the full suite or focused test paths; temporary output belongs under .temp/ or an external short-lived temp directory.
  • mypy performs strict source type checking. Run uv run mypy; it writes no persistent artifact unless output is redirected to .temp/.
  • actionlint validates GitHub Actions workflows. Run actionlint .github/workflows/ci.yml; validation logs belong under .temp/.
  • GitHub Actions runs the cross-platform CI matrices. The merge protocol lane keeps full Linux/macOS coverage and uses the checked-in .research/ manifest, classification, and verifier for six deterministic Windows shards. Each Windows shard uploads its collected inventory, selected node IDs, verifier provenance, and JUnit XML as a workflow artifact.

Дальше

Документация и справочные материалы CocoaSkills:

  • docs/cli.md: справочник команд csk, флагов и кодов завершения.
  • docs/reference.md: справочник по матрице установки, зависимостям скиллов, манифестам и аудиту безопасности.
  • docs/external-build-repositories.md: устройство внешних репозиториев сборки, брокеров кредов SSH/HTTPS и моделей доступа.
  • ARCHITECTURE.md: описание внутренней архитектуры, схемы работы конвейера установки, формата хранилищ и модели безопасности.
  • SECURITY.md: политика безопасности, границы изоляции и рекомендации по настройке.
  • docs/skill-authoring.md: руководство по структурированию пакетов скиллов, объявлению команд и настройке манифеста agent-skill.json.
  • docs/troubleshooting.md: диагностика ошибок установки, миграция со старых версий и решение частых проблем.
  • CHANGELOG.md: история релизов и список изменений по версиям.

Лицензия

Проект распространяется на условиях лицензии Apache 2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cocoaskills-0.15.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cocoaskills-0.15.0-py3-none-any.whl (403.5 kB view details)

Uploaded Python 3

File details

Details for the file cocoaskills-0.15.0.tar.gz.

File metadata

  • Download URL: cocoaskills-0.15.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cocoaskills-0.15.0.tar.gz
Algorithm Hash digest
SHA256 6e9869a3d1cc871972dc64ad219be1d43c7d585c83f1548b50a1a07fa3ec0ba7
MD5 996bdeb2d66c4c78644772248e48f23d
BLAKE2b-256 44dc1cad402a1b2853da5f1b2c5d347a11cce4f0f04a35a9b5c56d1cb99d4343

See more details on using hashes here.

Provenance

The following attestation bundles were made for cocoaskills-0.15.0.tar.gz:

Publisher: release.yml on ivanopcode/cocoaskills

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cocoaskills-0.15.0-py3-none-any.whl.

File metadata

  • Download URL: cocoaskills-0.15.0-py3-none-any.whl
  • Upload date:
  • Size: 403.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cocoaskills-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b00bc6735003b58f2ca35a0d0e3a663f41b2be6e2c2f02515c9f3f39c7f49dfc
MD5 0a8deb495763f92ab7839150b6189872
BLAKE2b-256 b84eccb25f62c45b7495ef4047b559d6c1017d89fcb0671c7736c58d2261aa2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cocoaskills-0.15.0-py3-none-any.whl:

Publisher: release.yml on ivanopcode/cocoaskills

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.15.0 This release

2 files

0.14.1

2 files

0.14.0

2 files

0.13.0

2 files

0.12.5

2 files

0.12.4

2 files

0.12.3

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page