Разбор со скриншотами
Claude Code в GitHub Actions: настраиваем @claude для разбора issue и автоматического ревью PR
Один запуск /install-github-app внутри сессии Claude Code — и файлы воркфлоу за вас напишет он. Дальше достаточно упомянуть @claude в комментарии к issue или PR, чтобы агент отработал как джоб GitHub Actions: прочитал репозиторий, поправил код, запушил ветку с датой — а второй воркфлоу разобрал дифф до того, как вы смержите.

Иллюстрированный разбор из 16 шагов; чтение займёт около 6 минут. Каждый шаг ссылается на точную секунду в исходном видео.
Коротко
Ставите GitHub CLI, логинитесь через gh auth login и внутри Claude Code запускаете /install-github-app. Он спросит, для какого репозитория всё делать, откроет github.com/apps/claude для авторизации, попросит отметить два воркфлоу — @Claude Code, который отвечает на упоминания @claude в комментариях к issue и PR, и Claude Code Review, который ревьюит каждый новый pull request, — и выбрать: долгосрочный токен за счёт вашей подписки Claude или собственный API-ключ. В дефолтную ветку ничего не коммитится: установка приезжает отдельным PR с файлами воркфлоу, и в его описании есть строка allowed_tools — сюда и дописывают npm-команды. После мержа пишете в issue «@claude can you fix this?» — бот отвечает списком задач, правит код в ветке вида claude/issue-<номер>-<timestamp> и даёт ссылку Create PR. Как только PR открыт, срабатывает ревью-воркфлоу и разбирает дифф по разделам; мержить всё равно вам.
Исходное видео
Страница повторяет разбор от Net Ninja: от установки Claude GitHub App до работы агента по обычному баг-репорту — кадр за кадром. Каждая картинка ведёт ровно на ту секунду, где она появилась.
Скриншоты — кадры из видео, с указанием автора; текст написан нами. Шаги сверены с видео и документацией Claude Code в сентябре 2026 года.
Перед началом
Установка запускается изнутри сессии Claude Code, но с GitHub она говорит через GitHub CLI — его надо поставить и залогиниться заранее.
- 1
Ставим GitHub CLI и логинимся
Claude GitHub App настраивается изнутри Claude Code, но все действия с GitHub идут через GitHub CLI. В видео открываются как раз доки cli.github.com: ставите gh через Homebrew на macOS или winget на Windows, затем gh auth login — чтобы авторизовать аккаунт, от имени которого пройдёт установка. В ролике это единственный названный prerequisite перед началом.

Одна команда gh auth login — и дальше установка сама найдёт ваш аккаунт.Смотреть на 1:06 - 2
Запускаем /install-github-app в нужном проекте
Открываете Claude Code в репозитории — в ролике он работает в панели Visual Studio Code, рабочая каталог напечатан в шапке сессии — и начинаете вводить /install-github. Во встроенном списке команд подсвечивается /install-github-app с описанием "Set up Claude GitHub Actions for a repository". Зубрить название не нужно: автодополнение делает половину работы.

Это встроенная слэш-команда: в .claude заранее добавлять ничего не требуется.Смотреть на 1:18 - 3
Выбираем, какому репозиторию ставить воркфлоу
Первый промпт звучит как "Install GitHub App / Select GitHub repository". Claude Code предлагает "Use current repository" с origin той папки, в которой вы сидите, — здесь это iamshaunjp/Claude-Code-Tutorial, — и второй вариант, "Enter a different repository", куда можно вписать owner/repo или полный URL github.com. Стрелки — выбор, Enter — дальше.

Репозиторий фиксируется именно здесь, а не потом: следующая авторизация приложения будет только под него.Смотреть на 1:30
Выдаём Claude доступ на GitHub
Четыре выбора подряд определяют, до чего агенту вообще дотянуться: какие репозитории, какие права, какие воркфлоу и чьим ключом это оплачивается.
- 4
Браузер выкидывает на страницу Claude GitHub App
Терминал открывает github.com/apps/claude. Приложение лежит в организации anthropics и описано как запуск Claude Code из ваших pull request'ов и issue — «чтобы отвечать на замечания ревьюеров, чинить ошибки CI и менять код», — с оговоркой, что построено оно на публично доступном Claude Code SDK. На странице одна кнопка — Install.

Страницу стоит прочитать целиком: «чинить ошибки CI» там заявленный сценарий, а не обходной путь.Смотреть на 1:38 - 5
Сужаем область, затем читаем список прав
На "Install & Authorize" есть All repositories и Only select repositories; второй вариант не пускает агента в остальные репозитории аккаунта. Ниже GitHub открыто перечисляет запрос: Read access to metadata и Read and write access to code, issues, and pull requests. Именно право на запись потом позволит Claude запушить ветку и открыть PR, так что этот пункт решают осознанно, а не по инерции. Внизу указан следующий шаг: claude.ai/connect/github/callback.

Only select repositories — это граница между «поиграться» и «оставить работать надолго».Смотреть на 1:50 - 6
Отмечаем нужные воркфлоу
Возвращаемся в Claude Code: "Select GitHub workflows to install — we'll create a workflow file in your repository for each one you select." Пункта два, и в ролике оба уже отмечены. @Claude Code — это исполнитель, подпись гласит "Tag @claude in issues and PR comments". Claude Code Review — это проверяющий, подпись "Automated code review on new PRs". Space переключает, Enter подтверждает.

С этого экрана получаются два отдельных файла воркфлоу: один делает, второй проверяет.Смотреть на 2:10 - 7
Решаем, за чей счёт будет работать экшен
Шаг "Choose API key" обычно проскакивают. "Create a long-lived token with your Claude subscription" привязывает экшен к вашему плану Claude, и на открывшейся следом авторизации в браузере прямо написано, что аккаунт будет задействован для расхода подписки Claude. "Enter a new API key" вместо этого попросит ключ Anthropic с оплатой за токены. В обоих случаях ключ в итоге хранится как секрет GitHub Actions — это, кстати, позже прописано в сгенерированном PR.

Ресурс подписки или отдельный ключевый биллинг — выбирается один раз и надолго забывается.Смотреть на 2:16
PR с воркфлоу
/install-github-app никогда не пишет в дефолтную ветку. Он открывает PR с файлами воркфлоу — и именно описание этого PR лучшая документация всей фичи.
- 8
Итог установки — PR, а не коммит
Claude Code пишет файлы воркфлоу в новую ветку с именем add-claude-github-actions и длинным timestamp, после чего открывает GitHub compare уже заполненным: base main, compare — новая ветка, заголовок "Add Claude Code GitHub Workflow" и целиком сгенерированное описание. В дефолтную ветку ничего не попадёт, пока вы сами не смержите.

Сгенерированное имя ветки всё объясняет: установщик ведёт себя как обычный контрибьютор.Смотреть на 2:28 - 9
Читаем раздел Security и строку allowed_tools
Автографированное описание — лучшая документация всей фичи. В нём сказано, что упоминания @claude не заработают до мержа этого PR; что воркфлоу запускается каждый раз, когда Claude упоминают в комментарии к PR или issue; и что Claude получает доступ ко всему комментарию и контексту вокруг, включая файлы, диффы и прежние комментарии. В разделе Security: API-ключ хранится как секрет GitHub Actions; запустить воркфлоу могут только пользователи с правом записи в репозиторий; все прогоны сохраняются в истории Actions; а инструменты Claude по умолчанию ограничены чтением и записью файлов плюс созданием комментариев, веток и коммитов. Строкой ниже — как это расширить: allowed_tools: Bash(npm install),Bash(npm run build),Bash(npm run …, дальше список уходит за правый край кадра.

Вот этот экран и стоит сохранить: там и границы по умолчанию, и точный синтаксис их расширения.Смотреть на 2:42 - 10
Ревьюер начинает ревьюить собственную установку
В PR два коммита — "claude PR Assistant workflow" и "claude Code Review workflow". Поскольку файл ревьюера уже в дереве, GitHub показывает "Some checks haven't completed yet", и claude-review (pull_request) уже на старте: PR, который ставит ревьюера, сам проходит ревью. Ниже — "No conflicts with base branch", так что решение о мерже целиком за вами.

Воркфлоу, который ставит ревью, попадает под его же ревью. Это свойство, а не баг.Смотреть на 2:46
От issue до ветки
Курок — это упоминание @claude. Всё остальное происходит на стороне GitHub, а не на вашем ноутбуке.
- 11
Заводим баг так, как для живого коллеги
Демо-репозиторий — маленький блог на Next.js. Issue намеренно примитивная: заголовок "Link from title missing", тело "There is no link from the title (in navbar) to the homepage." Ни лейблов, ни исполнителя, ни ссылки на файл, ни намёка на то, как чинить. Весь вход — одно предложение.

Никакого промпт-инжиниринга: так же это выглядело бы в тикете от дизайнера.Смотреть на 3:34 - 12
Упоминаем @claude — и агент подхватывает
Само по себе создание issue не запускает ничего. Курок — комментарий "@claude can you fix this?". Бот отвечает в той же ветке обсуждения: "I'll fix the missing link from the title to the homepage" — и прикладывает Todo List из пяти пунктов: посмотреть текущую реализацию navbar/header, добавить ссылку с заголовка на homepage, протестировать, закоммитить и запушить, дать ссылку на создание PR. Ниже — сам вывод: заголовок "Shinobi" в шапке это <h1> без какой-либо ссылки. Комментарий редактируется на лету по мере проставления галочек, а ссылка View job run ведёт на джоб Actions, который всё это делает.

Список задач — это редактируемый комментарий, прогресс видно без захода в сам джоб.Смотреть на 4:06 - 13
Останавливается за шаг до pull request
Когда список закрыт, шапка комментария меняется на "Claude finished" с ником заказчика, и появляются три ссылки: View job, ветка claude/issue-3-20250815-1450 и Create PR. В имени ветки сидят номер issue и дата со временем — именно это делает параллельные фиксы в одном репозитории читаемыми. Клик по Create PR открывает форму GitHub с уже готовыми заголовком и описанием.

Решение, за которым должен стоять человек, отложено до самого дешёвого для проверки клика.Смотреть на 4:30
Ревью, мерж, разбор полётов
Второй воркфлоу читает дифф, который только что написал Claude, а во вкладке Actions видно, во сколько обошёлся весь круг.
- 14
Второй воркфлоу выставляет оценки диффу
Открытие PR запускает Claude Code Review. Комментарий структурирован: общий вердикт, а затем разделы с зелёными галочками — Code Quality & Best Practices, No Bugs or Issues Found, Performance Considerations и Security. Замечания цитируют дифф, а не пересказывают его: импорт Link из next/link, классы hover:text-accent transition-colors, куда указывает href="/" и что h1 сохранился внутри ссылки, так что иерархия заголовков не пострадала.

Два бота в одном PR: один написал код, второй его читает.Смотреть на 4:58 - 15
Мержим — и автором коммита остаётся человек
Форма мержа предзаполнена: "Merge pull request #4 from iamshaunjp/claude/issue-3-20250815-1450", в расширенном описании — заголовок PR, и строка о том, что коммит будет подписан noreply-адресом владельца репозитория, а не ботом. Что бы ни написал Claude, в истории git останется тот, кто нажал мерж.

git blame указывает на живого человека — об этом стоит знать до того, как вы принесёте это в общий репозиторий.Смотреть на 5:13 - 16
Весь цикл смотрим во вкладке Actions
Восемь прогонов в двух воркфлоу пересказывают всю картину целиком. Claude Code записал открытие issue, комментарий с @claude, собственные ответы бота и продолжение в PR. Claude Code Review записал ревью PR #4 в ветке claude/issue-3-20250815-1450 — он занял 1 минуту 11 секунд. Прогоны, которые просто отреагировали на упоминание, заканчиваются за секунду: они только ставят задачу в очередь. Сюда же идут смотреть, когда кажется, что @claude проигнорировали.

По длительности роли разделяются идеально: секунда — передать, минута — реально читать код.Смотреть на 5:40