Использовать AI-навыки в SourceCraft

Совет

Эта страница про навыки в интерфейсе и CI/CD SourceCraft. Про навыки в плагине Code Assistant читайте на странице Навыки (skills) в SourceCraft Code Assistant.

Вы можете автоматизировать повторяющиеся задачи и расширить функциональность чата с Code Assistant в интерфейсе SourceCraft с помощью AI-навыков.

AI-навык передает AI-агенту инструкции и контекст, специфичные для конкретной задачи и репозитория.

AI-навыки можно запускать в чате с Code Assistant, а также из CI/CD. При запуске из CI/CD навык выполняется в кубике рабочего процесса.

Вместо того, чтобы каждый раз описывать AI-агенту многошаговые инструкции, опишите их один раз и вызывайте в виде AI-навыка. Более того, AI-навыки позволяют стандартизировать подход к выполнению задач внутри команды, а также переиспользовать этот подход в разных репозиториях.

Например, с помощью AI-навыков вы можете:

  • Пройти интерактивное обучение работе с SourceCraft.
  • Запросить помощь с конфигурацией репозитория.
  • Декомпозировать задачу.
  • Сделать саммари по информации из задачи.
  • Собрать контекст ваших действий в репозитории за последние несколько часов.

Подробнее на странице AI-навыки в SourceCraft.

Примечание

В инструкциях описана настройка навыков в интерфейсе SourceCraft. Подробнее о настройке в формате «Configuration as Code» в подразделе Конфигурационные файлы навыков.

Запустить навык в интерфейсе SourceCraft

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

Чтобы запустить навык:

  1. Откройте главную страницу SourceCraft.

  2. На вкладке Домой в секции Ваша мастерская перейдите в раздел Репозитории.

  3. Выберите репозиторий, в котором вы хотите запустить навык.

  4. На левой панели нажмите Чат Code Assistant.

    Также вы можете запустить навык из раздела Автоматизации в секции AI-навыки.

  5. В правом нижнем углу чата нажмите и выберите навык, который вы хотите запустить.

    Совет

    Если вам известна команда, соответствующая навыку, вы также можете начать вводить ее в чате, начиная с /, например /configs, и в выпадающем меню выбрать подходящую команду, например /configs-helper.

  6. Нажмите или Enter.

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

  8. По ходу работы Code Assistant может задавать вам уточняющие вопросы. Отвечайте на них в чате на естественном языке.

    Совет

    Если вы передумали и хотите остановить работу Code Assistant, нажмите Остановить.

    Дождитесь появления в чате сообщения Работа с навыком закончена.

  9. Если в ходе выполнения навыка в репозиторий были внесены изменения:

    1. В правом верхнем углу нажмите Сохранить изменения.

    2. В открывшемся окне настройте параметры внесения изменений:

      • В поле Сообщение об изменениях укажите комментарий, который опишет внесенные изменения.
      • В блоке Ветка изменений выберите, в какую ветку внести изменения. При необходимости создайте новую ветку.
      • В блоке Действие после сохранения изменений выберите действие после сохранения изменений: Сохранить и создать новое предложение изменений или Просто сохранить.
    3. Подтвердите внесение изменений.

Запустить навык в CI/CD

По умолчанию в любом репозитории доступны для запуска только системные навыки. Чтобы использовать в CI/CD навык из каталога или публичный навык, вначале импортируйте его. Чтобы использовать пользовательский навык, вначале создайте его в репозитории.

Список доступных навыков находится в разделе Автоматизации в секции AI-навыки репозитория.

Чтобы запустить навык в CI/CD-процессе:

  1. В файле .sourcecraft/ci.yaml добавьте в новое или существующее задание кубик с параметром skill. В значении укажите служебное имя навыка без / — команду для запуска из поля name файла SKILL.md.

  2. Если у навыка есть параметры, передайте их в блоке with.

    В примере используется навык issue-summary, который создает саммари по задаче. Перед запуском импортируйте навык из каталога. В параметре issue_link укажите ссылку на нужную задачу.

    workflows:
      skill-workflow:
        tasks:
          - name: skill-task
            cubes:
              - name: skill-cube
                skill: issue-summary
                with:
                  issue_link: https://sourcecraft.dev/<слаг_организации>/<слаг_репозитория>/issues/<номер_задачи>
    

    Совет

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

    Подробнее о параметрах кубика в разделе Кубики (cubes).

  3. Сохраните изменения в репозитории.

  4. Запустите CI/CD-процесс вручную или дождитесь события-триггера, заданного в его конфигурации.

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

Импортировать навык

Вы можете импортировать в свой репозиторий навык из каталога или любой публичный навык.

Важно

Импортируемые навыки содержат инструкции для Code Assistant, которые будут выполняться в вашем репозитории. Обязательно ознакомьтесь с содержимым этих инструкций, прежде чем использовать навык.

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

Импортировать навык из каталога

  1. Откройте главную страницу SourceCraft.

  2. В верхнем центральном блоке нажмите Просмотреть AI-навыки.

  3. Выберите навык, который вы хотите импортировать.

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

  4. В карточке навыка нажмите Подключить.

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

    Совет

    Чтобы протестировать навык, нажмите Запустить.

  5. Выберите репозиторий, в который вы хотите импортировать навык.

  6. Изучите инструкции и параметры навыка.

  7. (опционально) Задайте Дополнительные инструкции для модели и Параметры запуска.

  8. Нажмите Сохранить.

  9. В открывшемся окне:

    • В поле Сообщение об изменениях укажите комментарий, который опишет внесенные изменения.
    • В блоке Ветка изменений выберите, в какую ветку внести изменения. При необходимости создайте новую ветку.
    • В блоке Действие после сохранения изменений выберите действие после сохранения изменений: Сохранить и создать новое предложение изменений или Просто сохранить.
  10. Подтвердите внесение изменений.

  11. Проверьте работу навыка.

Импортировать публичный навык

  1. Создайте в репозитории, в котором вы хотите добавить навык, файл .sourcecraft/ai.yaml со следующим содержимым:

    skills:
      - source:
          repo: <слаг_организации>/<слаг_репозитория>
          path: .sourcecraft/skills/<команда_для_запуска>
        settings:
          instructions: |-
            <дополнительные_инструкции>
          inputs:
            <параметр>: <значение_по_умолчанию>
    

    Где:

    • source.repo — путь к публичному репозиторию, из которого импортируется навык, например examples/skills;
    • source.path — путь к директории с навыком, например .sourcecraft/skills/issue-summary;
    • settings.instructions — дополнительные инструкции для агента, например Результат твоей работы должен быть только на английском языке;
    • settings.inputs — параметры навыка по умолчанию, например config_type: Правила для веток.
  2. Проверьте работу навыка.

Настроить системный навык или импортированный навык

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

  1. Откройте главную страницу SourceCraft.

  2. На вкладке Домой в секции Ваша мастерская перейдите в раздел Репозитории.

  3. Выберите репозиторий, в котором вы хотите настроить навык.

  4. В разделе Автоматизации перейдите в секцию AI-навыки.

  5. Напротив навыка, который вы хотите настроить, нажмите .

  6. Задайте Дополнительные инструкции для модели и Параметры запуска.

  7. Нажмите Сохранить.

  8. В открывшемся окне:

    • В поле Сообщение об изменениях укажите комментарий, который опишет внесенные изменения.
    • В блоке Ветка изменений выберите, в какую ветку внести изменения. При необходимости создайте новую ветку.
    • В блоке Действие после сохранения изменений выберите действие после сохранения изменений: Сохранить и создать новое предложение изменений или Просто сохранить.
  9. Подтвердите внесение изменений.

Создать пользовательский навык

  1. Откройте главную страницу SourceCraft.

  2. На вкладке Домой в секции Ваша мастерская перейдите в раздел Репозитории.

  3. Выберите репозиторий, в котором вы хотите создать навык.

  4. В разделе Автоматизации перейдите в секцию AI-навыки.

  5. В правом верхнем углу нажмите Новый AI-навык.

  6. В открывшемся окне задайте:

    • Название, которое будет отображаться в интерфейсе SourceCraft, например Саммари по задаче.

    • Описание, например Создает краткое саммари по задаче. Можно использовать, чтобы быстро разобраться в том, что происходит в больших задачах или задачах с объемной дискуссией в комментариях.

    • Команда для запуска, например issue-summary.

    • Описание для модели — текстовые инструкции для агента в разметке Markdown.

      Совет

      Примеры готовых навыков в репозиториях sourcecraft/ai и examples/skills.

  7. (опционально) В блоке Параметры запуска нажмите Добавить параметр и настройте его:

    1. Выберите тип параметра:
      • Строка.
      • Выбор. Для этого типа параметра добавьте возможные варианты.
      • Булево.
    2. Введите название параметра.
    3. (опционально) Выберите или введите значение параметра по умолчанию.
    4. (опционально) Задайте описание параметра.
    5. Укажите, должен ли быть параметр обязательным.

    Чтобы добавить еще один параметр, нажмите Добавить параметр.

    Примечание

    В текстовых инструкциях для агента параметры указываются в формате {{ <название_параметра> }}.

  8. Нажмите Сохранить.

  9. В открывшемся окне:

    • В поле Сообщение об изменениях укажите комментарий, который опишет внесенные изменения.
    • В блоке Ветка изменений выберите, в какую ветку внести изменения. При необходимости создайте новую ветку.
    • В блоке Действие после сохранения изменений выберите действие после сохранения изменений: Сохранить и создать новое предложение изменений или Просто сохранить.
  10. Подтвердите внесение изменений.

  11. Проверьте работу навыка.

Отредактировать пользовательский навык

  1. Откройте главную страницу SourceCraft.

  2. На вкладке Домой в секции Ваша мастерская перейдите в раздел Репозитории.

  3. Выберите репозиторий, в котором вы хотите отредактировать пользовательский навык.

  4. В разделе Автоматизации перейдите в секцию AI-навыки.

  5. Напротив пользовательского навыка, который вы хотите отредактировать, нажмите и выберите Изменить.

  6. Измените параметры пользовательского навыка. Подробнее в подразделе Создать пользовательский навык.

  7. Нажмите Сохранить.

  8. В открывшемся окне:

    • В поле Сообщение об изменениях укажите комментарий, который опишет внесенные изменения.
    • В блоке Ветка изменений выберите, в какую ветку внести изменения. При необходимости создайте новую ветку.
    • В блоке Действие после сохранения изменений выберите действие после сохранения изменений: Сохранить и создать новое предложение изменений или Просто сохранить.
  9. Подтвердите внесение изменений.

Удалить пользовательский или импортированный навык

  1. Откройте главную страницу SourceCraft.

  2. На вкладке Домой в секции Ваша мастерская перейдите в раздел Репозитории.

  3. Выберите репозиторий, в котором вы хотите удалить навык.

  4. В разделе Автоматизации перейдите в секцию AI-навыки.

  5. Напротив навыка, который вы хотите удалить, нажмите и выберите Удалить.

  6. В открывшемся окне:

    • В поле Сообщение об изменениях укажите комментарий, который опишет внесенные изменения.
    • В блоке Ветка изменений выберите, в какую ветку внести изменения. При необходимости создайте новую ветку.
    • В блоке Действие после сохранения изменений выберите действие после сохранения изменений: Сохранить и создать новое предложение изменений или Просто сохранить.
  7. Подтвердите внесение изменений.

Полезные ссылки