Ты работаешь с несколькими git-хостингами сразу. Личное и опенсорс - на GitHub. Что-то рабочее - на GitLab. А теперь ещё и российский GitVerse, потому что так удобнее или так попросили. И каждый раз, когда нужно открыть запрос на слияние или выпустить релиз, ты переключаешь контекст в голове: где тут как.
Сам git везде один и тот же - ветки, коммиты, теги. А вот всё, что вокруг, разное. На GitHub запрос на слияние называется pull request, на GitLab - merge request. Команда там gh, тут glab, а на GitVerse готового CLI и вовсе нет - только REST. Токены свои у каждого. И ты держишь всю эту разницу в голове, лезешь в шпаргалки или открываешь веб-интерфейс и кликаешь руками.
Это ровно та рутина, которую пора отдать ассистенту. Приём простой: один домен - git, а бэкенды разные. То, что переносимо, делаем одинаково везде. То, что специфично, ассистент подставляет сам - по тому, куда смотрит твой репозиторий.
В чём идея
Скил - это не программа. Это короткая инструкция для ассистента: как называется, когда применять и что сделать. Ассистент читает её сам и, когда твоя просьба попадает под описание, подхватывает скил без напоминаний.
Главная мысль этого урока - разделить переносимое и специфичное. Переносимое - это сам git: создать ветку, закоммитить, запушить, повесить тег релиза. Эти операции одинаковы на GitHub, GitLab и GitVerse, потому что это и есть git, а не хостинг. Их скил делает обычным git, и они работают везде без единой правки.
Специфичное - это обвязка хостинга. Имя сущности (pull request против merge request), адрес API, способ доступа (CLI gh, CLI glab или прямой REST), свой токен. Вот это и есть единственное место, где хостинги расходятся. И именно здесь скил не зашивает один хостинг намертво, а определяет его по git remote origin: увидел github.com - значит GitHub и pull request; увидел gitlab (в т.ч. self-hosted GitLab по своему домену) - merge request; увидел gitverse.ru - REST на https://api.gitverse.ru.
Почему это работает? Потому что современная LLM прекрасно знает и git, и API каждого из этих хостингов. Ей не хватало одного - понятной инструкции с триггером и с чётким разделением: вот это делай одинаково, а вот тут смотри на origin и подставляй нужное. Скил ровно это и даёт. В итоге один и тот же приём ложится на три бэкенда, а ты пишешь одну и ту же фразу независимо от того, где сегодня лежит репозиторий.
И ещё важное: скил говорит, ЧТО сделать, а не ЧЕМ. Есть в системе gh или glab - ассистент возьмёт их, так короче. Нет - пойдёт через REST обычным запросом. Ты не диктуешь инструмент, ты описываешь результат.
Как себе сделать
Не пиши скил руками. Отдай задачу своему ассистенту - Claude Code, Codex, Cursor, Gemini, любому. Он сам разберётся, куда положить файл и как ходить в каждый хостинг. Просто скопируй промпт:
Создай мне скил для работы с репозиторием на любом git-хостинге - ветки, запрос на слияние, релизы.
Срабатывай на просьбы вроде "создай ветку", "открой PR или MR", "слей изменения", "выпусти релиз".
Хостинг определяй сам по git remote origin: github - это GitHub, gitlab (в т.ч. self-hosted GitLab по своему домену) - GitLab, gitverse.ru - GitVerse.
Раздели переносимое и специфичное. Переносимое (ветка, коммит, push, тег) делай обычным git - оно одинаково везде.
Специфичное делай через бэкенд хостинга: на GitLab это merge request, на GitHub и GitVerse - pull request; релиз создавай из тега.
Источник выбирай сам по тому, что доступно: CLI (gh или glab) либо REST соответствующего хостинга.
Токен бери из окружения нужного хостинга, не зашивай его в скил и не печатай в ответе.
В конце ответь одной строкой: что создано и ссылка на запрос слияния или релиз.
Как понять, что заработало: зайди в репозиторий на одном хостинге и попроси “открой PR из моей текущей ветки”, потом то же самое в репозитории на другом хостинге. Если ассистент сам определил, где он, подставил правильное имя сущности (где-то PR, где-то MR) и вернул рабочую ссылку - приём перенёсся, скил живой.
И всё. Один приём вместо трёх шпаргалок. Так же отделяется переносимое от специфичного в любой задаче, где у тебя один домен, но несколько разных бэкендов: суть делаешь одинаково, а различия отдаёшь ассистенту - пусть подставляет сам.
Смотреть полностью
- YouTube: https://www.youtube.com/watch?v=WeGmeCj7U18
- VK Видео: https://vk.com/video-233222565_456239072
- Rutube: https://rutube.ru/video/0f2534c9b6d62a841d1252acfc901975/
Коротко
- YouTube Shorts: https://www.youtube.com/shorts/p4kCR9ws7uY
- VK Клипы: https://vk.com/clip-233222565_456239073
- Rutube: https://rutube.ru/video/39ef5d7e32cc98f6d0d32986dd851c27/
- Telegram: https://t.me/chernovdev/2146
