Transcription
Итак, OpenCode уже является мощным инструментом. Он работает в вашем терминале, подключается к любому поставщику LLM, который вы хотите, имеет режим планирования, режим сборки, поддержку отмены и повтора, и обрабатывает реальные кодовые базы без особых настроек. Но стандартная установка — это только база. Существует бесплатный репозиторий с открытым исходным кодом, который подключается напрямую к OpenCode и предоставляет более 1300 файлов навыков экспертного уровня, охватывающих все: от планирования архитектуры и шаблонов React до аудита безопасности API и настройки инфраструктуры. Именно об этом это видео. Мы установим его, настроим специально для OpenCode и создадим что-нибудь с его помощью, чтобы вы могли увидеть реальную разницу, которую он дает. Репозиторий называется antigravity awesome skills, и на данный момент он находится в версии 9.1a с более чем 28 000 звезд на GitHub и более чем 4 000 форков. Название говорит antigravity, но он работает нативно с OpenCode, ClaudeCode, Gemini CLI, Code X CLI, Cursor, Kiro, Ada L CLI и GitHub Copilot. Это видео фокусируется конкретно на настройке OpenCode, поэтому именно там мы и проведем наше время.
Итак, на самом деле, когда вы даете OpenCode команду на создание или планирование чего-либо без дополнительного контекста, агент использует свои общие знания, чтобы понять, что делать. Это хорошо работает для простых вещей, но для всего, что имеет реальную структуру, надлежащую архитектуру компонентов, безопасные API, рабочие процессы, управляемые тестами, результат, как правило, бывает общим. Навыки устраняют этот пробел. Каждый навык — это файл skill.md, который предоставляет OpenCode структурированные инструкции для конкретной области. Агент загружает навык по запросу, когда вы на него ссылаетесь, следует его инструкциям для этой задачи, и качество результата отражает экспертизу, заложенную в этот файл. И поскольку OpenCode использует нативный инструмент навыков под капотом, он загружает только то, что вы действительно запрашиваете, без лишнего контекста.
Итак, давайте установим это. OpenCode ищет файлы навыков в нескольких разных местах. Путь, который вам нужен для репозитория antigravity awesome skills, — это уровень проекта. Это команда NPX, которую мы должны запустить с флагом path. В флаге path мы можем определить точный путь, где OpenCode ищет навыки. Если вы используете какие-либо другие инструменты, это может измениться в соответствии с этим инструментом. Итак, запустите это из корня вашего проекта, и он поместит все навыки в эту папку. Если вы хотите глобальную установку, чтобы навыки были доступны во всех ваших проектах без их копирования каждый раз, вы можете указать на глобальный путь агентов. OpenCode автоматически обнаружит навыки как из папки на уровне проекта, так и из глобальной папки, поэтому вы можете смешивать и сочетать. Если у вас также настроена папка .opencodes/skills, OpenCode проверяет и ее. Он поднимается от вашего текущего рабочего каталога до корня Git и загружает все, что находит в этих путях.
После установки проверьте, работает ли она, открыв OpenCode и набрав /skills. Это покажет вам все доступные навыки, если они установлены правильно. Если вы видите эти навыки, это подтверждает, что мы получили все навыки. После этого, в каталоге вашего проекта, мы можем запустить /init, если вы еще этого не сделали. Эта команда анализирует ваш проект и создает файл agents.md, который помогает OpenCode понять структуру вашей кодовой базы и шаблоны кодирования с самого начала. Вам следует закоммитить этот файл в Git. Итак, теперь вы готовы.
Одна вещь, которую стоит знать о том, как OpenCode обрабатывает навыки внутри, заключается в том, что он перечисляет все доступные навыки в описании своего нативного инструмента навыков. Каждый навык отображается со своим именем и кратким описанием, поэтому агент знает, что доступно, еще до того, как вы спросите. Когда вы ссылаетесь на навык в своем запросе, OpenCode вызывает этот инструмент, загружает полное содержимое skill.md и применяет его к вашему запросу. Это отличается от того, чтобы вываливать все в контекст заранее. Агент принимает осознанное решение загрузить навык, когда он актуален.
Теперь позвольте мне рассказать, что на самом деле здесь есть, потому что только количество навыков мало что говорит. Категория "Архитектура" содержит навыки для проектирования систем, диаграмм C4, записей о решениях по архитектуре и масштабируемых шаблонов компонентов. Если вы начинаете проект с нуля или принимаете важное структурное решение, вам следует начать отсюда. Категория "Бизнес" включает копирайтинг, стратегию ценообразования и SEO-аудит, что более актуально, если вы создаете продукт, а не просто пишете код для кого-то другого. "Данные и ИИ" содержит навыки для конвейеров RAG, проектирования приложений LLM, оркестровки агентов и инженерии запросов, что полезно, если OpenCode является частью стека, на котором вы строите продукты ИИ. "Разработка" охватывает экспертизу в области языков и фреймворков, TypeScript, Python, шаблоны React и многое другое. "Общие" навыки включают ваши навыки планирования и документирования, такие как мозговой штурм и совместное написание документов. "Инфраструктура" обрабатывает Docker, бессерверные вычисления AWS, развертывания Vercel и настройку конвейеров CI/CD. "Безопасность" — сильная категория: безопасность API, тестирование SQL-инъекций, сканирование уязвимостей, проверки соответствия и хакерские трюки. "Тестирование" охватывает рабочие процессы TDD, проектирование тестов и автоматизацию QA. "Рабочий процесс" охватывает инструменты оркестровки, такие как Inngest и trigger.dev, для асинхронных заданий и фоновой обработки.
Репозиторий также классифицирует каждый навык по уровню доверия. Официальные навыки поступают напрямую от Anthropic, Google, Vercel, Microsoft, Supabase и других поставщиков. Безопасные навыки созданы сообществом и не являются деструктивными. Вы можете проверить каталог перед запуском чего-либо, в чем вы не уверены. Также существуют пакеты (bundles), которые представляют собой курированные списки навыков, сгруппированные по ролям. Web Wizard охватывает React, Tailwind и фронтенд-дизайн. Hacker Pack — тестирование на проникновение и сканирование уязвимостей. Product Pack охватывает планирование, SEO и стратегию. Essentials охватывает чистый код, планирование и валидацию — основы, применимые практически к любому проекту. Вы устанавливаете все один раз и используете пакет как список для чтения, чтобы определить, какие пять или шесть навыков наиболее актуальны для того, над чем вы работаете прямо сейчас.
Хорошо, давайте продемонстрируем это в OpenCode. Я собираюсь создать панель управления проектом, используя три навыка последовательно. Я буду использовать мозговой штурм, затем фронтенд-дизайн, затем шаблоны React. Это реалистичный рабочий процесс, а не игрушечный пример. Я открываю OpenCode в каталоге своего проекта и нажимаю Tab, чтобы сначала переключиться в режим планирования. Это важная привычка при работе с OpenCode. Вы хотите просмотреть план перед тем, как что-либо создавать, особенно при работе над новой функцией. Затем я даю команду: "используй мозговой штурм для планирования панели управления проектами". Я хочу боковую панель с навигацией, раздел обзора статистики с карточками метрик, список задач с элементами управления фильтрацией и ленту недавних действий. Стек: React с TypeScript и Tailwind. Навык мозгового штурма не просто начинает писать компоненты, он сначала задает уточняющие вопросы. Он хочет знать, является ли это отдельной страницей или частью более крупного приложения, имитируются ли данные или они связаны с реальным API, и требуется ли адаптивность для мобильных устройств. Я отвечаю на каждый вопрос. Затем он создает документ планирования с иерархией компонентов, подходом к управлению состоянием, структурой папок, соглашениями об именовании и тем, какие внешние библиотеки использовать. Это тот тип документа, на создание которого обычно уходит у разработчика 30-45 минут, прежде чем он напишет первую строку кода.
Теперь я снова нажимаю Tab, чтобы переключиться обратно в режим сборки, и продолжаю: "используй фронтенд-дизайн и шаблоны React для создания этой панели управления на основе плана, который мы только что сделали". После того, как я нажал "отправить", он начал работать систематически, шаг за шагом. Через некоторое время он закончил работу. Результат правильно структурирован. Есть компонент боковой панели с типизированными свойствами навигации. Есть отдельные компоненты карточек статистики с отдельными свойствами для метки, значения и направления тренда. Состояние фильтра списка задач правильно управляется на нужном уровне в дереве компонентов. Лента активности — это свой собственный изолированный компонент. Все типизировано с помощью TypeScript. Логика не втиснута в один файл. Структура папок соответствует тому, что было изложено в документе мозгового штурма. Это реальная ценность. Сам по себе OpenCode предоставил бы вам рабочую панель управления. OpenCode с этими навыками дает вам панель управления, которую старший разработчик не будет нуждаться в рефакторинге перед отправкой. Разница не в модели, а в инструкциях, которым следует модель.
После того, как фронтенд готов, я запускаю еще один навык — "лучшие практики безопасности API" для конечных точек API, к которым я планирую подключиться. Еще до подключения чего-либо этот навык сканирует то, что я ему рассказал о форме API, и отмечает такие вещи, как отсутствие очистки ввода, незащищенные маршруты и проблемы с обработкой токенов. Он генерирует краткий отчет. Это тот тип проверки, который обычно происходит в цикле обзора кода, но он происходит до того, как код вообще появится в продакшене.
Еще одна вещь, которую стоит упомянуть, — это "создатель навыков" (skill creator). Это навык, который помогает вам создавать собственные пользовательские навыки с нуля внутри OpenCode. Если у вашей команды есть внутренние соглашения, определенный шаблон именования баз данных, которому вы всегда следуете, или процесс развертывания, о котором модель не знает, вы можете использовать "создатель навыков", чтобы преобразовать это в надлежащий файл skill.md. Он проведет вас через структуру, расскажет, что включить, и создаст файл, который вы можете поместить в свою папку навыков и использовать точно так же, как любой встроенный навык. Со временем, по мере добавления большего количества таких навыков, OpenCode будет все лучше и лучше понимать специфику работы вашей команды, а результаты будут становиться более последовательными.
Итак, руководство по началу работы находится в файле gettingstarted.md в репозитории. Руководство по использованию с примерами запросов специально для OpenCode находится в файле usage.md. Если вы используете Windows и столкнулись с проблемой усечения, в папке docs есть руководство по восстановлению после усечения в Windows. Весь репозиторий имеет лицензию MIT, активно поддерживается, и каждый файл навыка читаем, поэтому вы точно знаете, что запускаете, прежде чем запускать его.
Хорошо, это все из видео, и я надеюсь, вам понравилось. Если да, пожалуйста, поставьте лайк этому видео и подпишитесь на канал, и я увижу вас в следующем видео.