Перейти к содержанию
Обучение 8 мин чтения

Claude Code: хуки, MCP и автоматизация. Часть 2

Продвинутые возможности Claude Code: хуки, MCP-серверы, GitHub-интеграция. Конспект с практическими примерами.

Авторский конспект

04/08
Anthropic Academy

Я прохожу курс на английском и собираю главное на русском.

Исходник
на английский
Конспект
на русском
В серии
4 из 8
Сертификат Claude Code in Action — Anthropic Academy
Сертификат Проверить

Это часть серии «Учусь вместо вас». Также в серии: Claude 101, AI Fluency for Educators, Advanced Prompt Engineering и Agent Skills.


В первой части я разобрала контекст, режимы мышления и постановку задач. Вторая часть курса посвящена расширениям Claude Code: хукам, MCP, повторяемым инструкциям и интеграции с GitHub.

Что нужно для старта: установленный Claude Code, актуальный вариант доступа от Anthropic и базовое понимание терминала. Если вы ещё не читали первую часть, начните с неё: Claude Code in Action, часть 1.

Это часть 2 из 2. ← Часть 1: основы и контекст

Курс: Claude Code in Action Платформа: Anthropic Academy (anthropic.skilljar.com) Ссылка: anthropic.skilljar.com/claude-code-in-action Длительность: ~1 час (21 урок) Язык: English Бесплатно, с сертификатом Авторский конспект по материалам курса. Не является официальным переводом или публикацией Anthropic.

Сертификат курса Claude Code in Action от Anthropic — Валерия Ом

Что такое хуки (hooks) и зачем они нужны?

Хуки (hooks) — команды-перехватчики, которые срабатывают до или после действий Claude. Представьте: вы наняли очень способного стажёра, но хотите поставить ему автоматические ограничители. Доверяете? Конечно. Но у всех бывают промахи. Хук работает как такой ограничитель.

Два типа хуков:

  • Pre-hook срабатывает до действия. Может проверить и заблокировать. Например, запретить чтение файлов .env с секретами.
  • Post-hook срабатывает после действия. Может дополнить результат или дать обратную связь. Например, автоматически запустить Prettier (инструмент форматирования кода) после редактирования файла.

Вот как выглядит конфигурация хука, который защищает секреты:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Read|Grep",
        "hooks": [
          {
            "type": "command",
            "command": "node /absolute/path/check-env.js $TOOL_INPUT"
          }
        ]
      }
    ]
  }
}

Скрипт проверяет, не пытается ли Claude прочитать .env. Если да, возвращает exit code 2, и действие блокируется. Claude получает сообщение через stderr (стандартный поток ошибок, не stdout) и понимает, почему доступ закрыт.

Собственно, ключевое отличие хуков от инструкций в CLAUDE.md: файл контекста содержит текстовые правила, а хук выполняет проверяемую команду до или после действия. Надёжность ограничения зависит от конфигурации и самого скрипта, поэтому хуки тоже нужно тестировать.

Настраиваются хуки в settings.json (три уровня: глобальный, проект, личный) или через команду /hooks прямо в Claude Code.

Один из паттернов курса: отдельная проверка результата через SDK (Software Development Kit, программный интерфейс для запуска Claude из кода). Такой ревьюер может искать дубликаты или нарушения правил, но его выводы остаются ещё одним модельным ответом и требуют тестов.

MCP: как подключить Claude к внешним сервисам?

MCP (Model Context Protocol) часто сравнивают с USB-C для AI. Это общий протокол, через который клиент получает инструменты и ресурсы внешнего сервера. Конкретные возможности и уровень доступа определяет сам MCP-сервер.

Подключение занимает одну строку:

claude mcp add название-сервера команда-запуска

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

Вот типовые сценарии таких подключений:

| Сервис | Возможность | Пример задачи | |--------|-----------|------------|------------| | Google Sheets | Чтение и запись таблиц | Обновить статус материала после проверки | | Notion | Работа со страницами и базами | Найти заметки по теме и собрать список источников | | Веб-поиск | Получение свежих источников | Проверить дату, документ или статистику перед публикацией |

Без подключения данные приходится копировать между интерфейсами вручную. MCP может сократить эти переходы: клиент вызывает инструмент чтения, получает данные и, при наличии разрешения, предлагает обновление. Для записывающих действий я оставляю подтверждение и журнал изменений.

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

MCP меняет способ передачи контекста: вместо ручного копирования клиент запрашивает данные у подключённого сервера в пределах выданных разрешений.

MCP-серверы бывают локальными и удалёнными. У них разные модели доверия, способы авторизации и пути передачи данных. Сам по себе локальный запуск не гарантирует безопасность, а удалённый не означает публичный доступ.

Как кастомные команды ускоряют работу в Claude Code?

Кастомные команды (slash commands, или скиллы) превращают повторяющуюся задачу в одно слово. Вместо того чтобы каждый раз объяснять Claude формат и контекст, вы пишете инструкцию один раз и вызываете её через /имя-команды.

Технически всё просто: создаёте файл .claude/commands/имя-команды.md, пишете инструкцию, перезапускаете Claude Code. Плейсхолдер $ARGUMENTS позволяет передавать аргументы: /write_test src/auth.ts создаст тесты для конкретного файла.

Вот несколько повторяющихся инструкций, которые я использую в работе:

  1. Content workflow хранит требования к формату, площадке, аудитории и тону.
  2. Learning Notes задаёт структуру конспекта по материалам курса. Как работают skills изнутри, я разбираю в отдельном конспекте.
  3. Fact-checking описывает порядок поиска первоисточников и фиксации спорных утверждений.
  4. SEO/AEO review проверяет метаданные, структуру, FAQ и внутренние ссылки перед публикацией.
  5. UI review фиксирует критерии проверки интерфейса на разных экранах.

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

Отдельно про команды с аргументами. Они делают скиллы универсальными. Один скилл /post создаёт посты для разных платформ: /post instagram тема или /post telegram тема. Не нужно плодить десятки файлов, достаточно одного умного шаблона.

Как Claude Code автоматизирует код-ревью через GitHub?

Claude Code можно связать с GitHub Actions для проверки изменений и выполнения явно заданных задач. Объём автономности определяется разрешениями репозитория и настройками workflow. В курсе показаны два сценария:

  • PR Review (Pull Request Review, проверка изменений в коде). При создании PR Claude автоматически проверяет изменения, ищет ошибки и дыры безопасности.
  • Mentions (упоминания). Когда вы упоминаете @Claude в Issue или PR, он выполняет задачу: исследование, тестирование, исправление.

В демонстрации курса Claude при ревью Terraform-файлов отметил риск утечки персональных данных (PII): email-адреса могли попадать в открытый лог. Это хороший пример дополнительной проверки, но не замена обычному security review.

Я использую GitHub Projects как внешний журнал задач, статусов и решений. Claude может прочитать этот контекст при старте новой сессии и предложить следующий шаг, но история сохраняется в GitHub, а не во внутренней памяти модели.

Перед подключением автоматического ревью важно проверить права GitHub App, хранение секретов и условия запуска workflow для внешних pull request.

Что изменилось в моей работе после курса?

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

Было (до курса)Стало (после курса)
Копирую данные из Google Sheets в Claude вручнуюMCP-сервер: Claude работает с таблицами напрямую
Каждый раз объясняю формат материалаSkill хранит структуру и критерии результата
Начинаю конспект с пустого листаLearning Notes задаёт повторяемый каркас
Проверяю факты без единого порядкаFact-checking skill фиксирует шаги и источники
Проверяю доступ к чувствительным файлам вручнуюPre-hook добавляет программную проверку перед действием
Выполняю Git-операции вручнуюClaude предлагает команды и описание, а критичные действия требуют подтверждения
Переключаюсь между задачами и теряю контекст/compact для связанных задач, /clear для разных проектов

Четыре механизма расширения Claude Code складываются в систему:

  • MCP-серверы дают новые инструменты (доступ к данным)
  • Кастомные команды дают новые процессы (повторяемость)
  • Хуки дают контроль (безопасность и качество)
  • GitHub Actions дают запуск по событию или расписанию

По отдельности каждый механизм полезен. Вместе они, соответственно, превращают Claude Code из инструмента в платформу.

Главный вывод курса: Claude Code — не чат-бот в терминале, а расширяемая система, где вы сами определяете границы автономности.

Отдельно про SDK (Software Development Kit). Он позволяет запускать Claude из кода и встраивать модель в более широкий процесс. Например, скрипт может по расписанию подготовить черновик отчёта по метрикам, который затем проверит человек.


Серия «Учусь вместо вас»:

Часто задаваемые вопросы о Claude Code

Нужно ли уметь программировать, чтобы настроить MCP и хуки?

Для MCP нет. Подключение сервера занимает одну команду в терминале, а дальше вы общаетесь с Claude на обычном языке. Для хуков нужны базовые знания: понимание JSON-формата и что такое exit code (код завершения программы). Если вы можете отредактировать файл настроек, вы справитесь. А если нет, Claude Code сам поможет написать конфигурацию.

Сколько стоит использование MCP-серверов?

Единой цены нет. MCP — протокол, а конкретный сервер может быть открытым, платным или внутренним. Отдельно учитываются доступ к модели, внешние API, хостинг и поддержка интеграции.

Можно ли использовать хуки без Claude Code, например в обычном Claude?

Нет. Хуки — функция именно Claude Code (терминального клиента). В веб-версии Claude и мобильном приложении их нет. Логика тут простая: хуки работают на уровне файловой системы и терминала, а веб-интерфейс этого доступа не имеет.

Чем кастомные команды отличаются от обычных промптов, которые можно сохранить?

Три отличия. Во-первых, команды интегрированы в интерфейс: /имя вместо копирования текста из заметок. Во-вторых, они поддерживают аргументы через $ARGUMENTS. В-третьих, проектные инструкции можно хранить и версионировать вместе с репозиторием.


Если вы хотите определить, какие части процесса стоит оформить как skills, хуки или MCP-интеграции, это можно обсудить на консультации.


Читайте также