Skip to content

Что такое OpenCode Agent Skills?

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

  • Понимать ключевую ценность плагина OpenCode Agent Skills
  • Осваивать основные функциональные возможности плагина
  • Понимать, как навыки автоматически обнаруживаются и загружаются
  • Различать разницу между этим плагином и другими решениями для управления навыками

Текущие трудности

Возможно, вы сталкивались с такими ситуациями:

  • Разрозненное управление навыками: навыки разбросаны по проектам, пользовательским каталогам, кэшу плагинов и другим местам, и невозможно найти подходящий навык
  • Чем дольше сессия, тем больше проблем: после долгих сессий ранее загруженные навыки теряют эффективность из-за сжатия контекста
  • Тревога по поводу совместимости: беспокойство о том, что существующие навыки и плагины не будут работать после миграции с Claude Code
  • Необходимость повторной настройки: для каждого проекта требуется повторная настройка навыков, отсутствует единый механизм управления навыками

Все эти проблемы влияют на эффективность использования AI-ассистента.

Основная концепция

OpenCode Agent Skills — это система плагинов, предоставляющая возможности динамического обнаружения и управления навыками для OpenCode.

Что такое навык?

Навык (Skill) — это многократно используемый модуль, содержащий руководство по рабочим процессам AI. Обычно это каталог, содержащий файл SKILL.md (описывающий функциональность и методы использования навыка) и возможные вспомогательные файлы (документация, скрипты и т.д.).

Ключевая ценность: реализация повторного использования навыков между проектами и сессиями через стандартизированный формат навыков (SKILL.md).

Техническая архитектура

Плагин разработан на базе TypeScript + Bun + Zod и предоставляет 4 основных инструмента:

ИнструментФункция
use_skillВнедрение содержимого SKILL.md навыка в контекст сессии
read_skill_fileЧтение вспомогательных файлов из каталога навыков (документация, конфигурация и т.д.)
run_skill_scriptВыполнение исполняемых скриптов в контексте каталога навыков
get_available_skillsПолучение списка доступных в настоящее время навыков

Основные функциональные характеристики

1. Динамическое обнаружение навыков

Плагин автоматически обнаруживает навыки из нескольких мест, отсортированных по приоритету:

1. .opencode/skills/              (уровень проекта - OpenCode)
2. .claude/skills/                (уровень проекта - Claude Code)
3. ~/.config/opencode/skills/     (уровень пользователя - OpenCode)
4. ~/.claude/skills/              (уровень пользователя - Claude Code)
5. ~/.claude/plugins/cache/        (кэш плагинов)
6. ~/.claude/plugins/marketplaces/ (установленные плагины)

Правило: вступает в силу первый совпавший навык, последующие навыки с тем же именем игнорируются.

Почему такой дизайн?

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

2. Внедрение контекста

При вызове use_skill содержимое навыка внедряется в контекст сессии в формате XML:

  • noReply: true — AI не будет отвечать на внедренное сообщение
  • synthetic: true — помечено как системно сгенерированное сообщение (не отображается в интерфейсе, не учитывается как ввод пользователя)

Это означает, что содержимое навыка постоянно присутствует в контексте сессии, и даже если сессия растет и происходит сжатие контекста, навык остается доступным.

3. Механизм восстановления при сжатии

Когда OpenCode выполняет сжатие контекста (обычная операция для длительных сессий), плагин слушает событие session.compacted и автоматически повторно внедряет список доступных навыков.

Это гарантирует, что AI всегда знает, какие навыки доступны, даже в длительных сессиях, и не теряет способность доступа к навыкам из-за сжатия.

4. Совместимость с Claude Code

Плагин полностью совместим с системой навыков и плагинов Claude Code, поддерживая:

  • Навыки Claude Code (.claude/skills/<skill-name>/SKILL.md)
  • Кэш плагинов Claude (~/.claude/plugins/cache/...)
  • Рынок плагинов Claude (~/.claude/plugins/marketplaces/...)

Это означает, что если вы ранее использовали Claude Code, после миграции на OpenCode вы все еще можете использовать существующие навыки и плагины.

5. Автоматические рекомендации навыков

Плагин отслеживает ваши сообщения, используя семантическое сходство для определения, связаны ли они с каким-либо доступным навыком:

  • Вычисление вектора embedding сообщения
  • Вычисление косинусного сходства с описаниями всех навыков
  • Когда сходство превышает порог, внедрение оценочного промпта с рекомендацией AI загрузить соответствующий навык

Этот процесс полностью автоматический, вам не нужно запоминать названия навыков или явно запрашивать их.

6. Интеграция Superpowers (опционально)

Плагин поддерживает рабочие процессы Superpowers, включенные через переменные окружения:

bash
OPENCODE_AGENT_SKILLS_SUPERPOWERS_MODE=true opencode

После включения плагин автоматически обнаруживает навык using-superpowers и внедряет полные рабочие инструкции при инициализации сессии.

Сравнение с другими решениями

РешениеОсобенностиСценарии применения
opencode-agent-skillsДинамическое обнаружение, восстановление при сжатии, автоматические рекомендацииСценарии, требующие единого управления и автоматических рекомендаций
opencode-skillsАвтоматическая регистрация как инструмент skills_Сценарии, требующие независимых вызовов инструментов
superpowersПолный рабочий процесс разработки программного обеспеченияПроекты, требующие строгих спецификаций процессов
skillzРежим сервера MCPСценарии, требующие использования навыков в разных инструментах

Причины выбора этого плагина:

  • Нулевая конфигурация: автоматическое обнаружение и управление навыками
  • Интеллектуальные рекомендации: автоматические рекомендации соответствующих навыков на основе семантического соответствия
  • Восстановление при сжатии: стабильная и надежная работа в длительных сессиях
  • Совместимость: бесшовная миграция навыков Claude Code

Резюме урока

Плагин OpenCode Agent Skills предоставляет OpenCode полные возможности управления навыками через механизмы динамического обнаружения, внедрения контекста и восстановления при сжатии. Его ключевая ценность заключается в следующем:

  • Автоматизация: снижение нагрузки от ручной настройки и запоминания названий навыков
  • Стабильность: навыки всегда доступны в длительных сессиях
  • Совместимость: бесшовная интеграция с существующей экосистемой Claude Code

Анонс следующего урока

В следующем уроке мы изучим Установка OpenCode Agent Skills.

Вы узнаете:

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

Приложение: Справочник по исходному коду

Нажмите, чтобы развернуть исходный код

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

ФункцияПуть к файлуСтроки
Вход плагина и обзор функцийsrc/plugin.ts1-12
Список ключевых функциональных возможностейREADME.md5-11
Приоритет обнаружения навыковsrc/skills.ts241-246
Внедрение синтетических сообщенийsrc/utils.ts147-162
Механизм восстановления при сжатииsrc/plugin.ts144-151
Модуль семантического сопоставленияsrc/embeddings.ts108-135

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

  • EMBEDDING_MODEL = "Xenova/all-MiniLM-L6-v2": используемая модель embedding
  • SIMILARITY_THRESHOLD = 0.35: порог семантического сходства
  • TOP_K = 5: максимальное количество навыков, возвращаемых при автоматической рекомендации

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

  • discoverAllSkills(): обнаружение навыков из нескольких мест
  • use_skill(): внедрение содержимого навыка в контекст сессии
  • matchSkills(): сопоставление соответствующих навыков на основе семантического сходства
  • injectSyntheticContent(): внедрение синтетических сообщений в сессию