Команда AI for Devs подготовила перевод подробного гайда по Claude Code — от skills и хуков до MCP, субагентов и плагинов. Автор делится реальным сетапом после месяцев ежедневной работы и показывает, как выжать максимум из Claude Code, не убив контекст и производительность.


Вот мой полный сетап после 10 месяцев ежедневного использования: навыки, хуки, сабагенты, MCP, плагины — и то, что действительно работает. Я активно пользуюсь Claude Code с момента экспериментального запуска в феврале и выиграл хакатон Anthropic x Forum Ventures с проектом Zenith, полностью используя Claude Code.

Skills и команды

Skills работают как правила, ограниченные определёнными областями применения и рабочими процессами. По сути, это сокращённые версии промптов, которые используются, когда нужно запустить конкретный workflow.

После долгой сессии кодинга с Opus 4.5 хотите вычистить мёртвый код и лишние .md-файлы?

Запускайте /refactor-clean. Нужны тесты? /tdd, /e2e, /test-coverage. Skills и команды можно объединять в одном промпте.

 Объединение команд в цепочки
Объединение команд в цепочки

Я могу сделать skill, который обновляет codemap’ы на контрольных точках — это позволяет Claude быстро ориентироваться в кодовой базе, не тратя контекст на её исследование.

~/.claude/skills/codemap-updater.md

Команды — это skills, запускаемые через slash-команды. По смыслу они пересекаются, но хранятся по-разному:

  • Skills: ~/.claude/skills — более широкие определения workflow

  • Commands: ~/.claude/commands — быстрые исполняемые промпты

# Example skill structure
~/.claude/skills/
  pmx-guidelines.md      # Project-specific patterns
  coding-standards.md    # Language best practices
  tdd-workflow/          # Multi-file skill with README.md
  security-review/       # Checklist-based skill

Hooks

Hooks — это автоматизации на основе триггеров, которые срабатывают при определённых событиях. В отличие от skills, они ограничены вызовами инструментов и событиями жизненного цикла.

Типы хуков

  • PreToolUse — перед ��ыполнением инструмента (валидация, напоминания)

  • PostToolUse — после завершения работы инструмента (форматирование, петли обратной связи)

  • UserPromptSubmit — при отправке вами сообщения

  • Stop — когда Claude заканчивает ответ

  • PreCompact — перед сжатием контекста

  • Notification — запросы разрешений

Пример: напоминание про tmux перед длительными командами

{
  "PreToolUse": [
    {
      "matcher": "tool == \"Bash\" && tool_input.command matches \"(npm|pnpm|yarn|cargo|pytest)\"",
      "hooks": [
        {
          "type": "command",
          "command": "if [ -z \"$TMUX\" ]; then echo '[Hook] Consider tmux for session persistence' >&2; fi"
        }
      ]
    }
  ]
}
 Пример того, какую обратную связь вы получаете в Claude Code при выполнении хука PostToolUse
Пример того, какую обратную связь вы получаете в Claude Code при выполнении хука PostToolUse

Совет профи: используйте плагин hookify, чтобы создавать хуки в диалоге, а не писать JSON вручную. Запустите /hookify и опишите, что именно вы хотите.

Subagents

Subagents — это процессы, которым оркестратор (основной Claude) может делегировать задачи с ограниченной областью ответственности. Они могут работать в фоне или на переднем плане, освобождая контекст основного агента.

Subagents отлично сочетаются со skills: сабагенту, который умеет выполнять подмножество ваших skills, можно делегировать задачи, и он будет использовать эти skills автономно. Кроме того, их можно изолировать в песочнице, задав конкретные разрешения на инструменты.

# Example subagent structure
~/.claude/agents/
  planner.md           # Feature implementation planning
  architect.md         # System design decisions
  tdd-guide.md         # Test-driven development
  code-reviewer.md     # Quality/security review
  security-reviewer.md # Vulnerability analysis
  build-error-resolver.md
  e2e-runner.md
  refactor-cleaner.md

Для корректного разграничения ответственности настраивайте разрешённые инструменты, MCP и права доступа отдельно для каждого сабагента.

Rules и память

Папка .rules содержит .md-файлы с лучшими практиками, которым Claude должен следовать ВСЕГДА. Есть два подхода:

  • Один CLAUDE.md — всё в одном файле (на уровне пользователя или проекта)

  • Папка rules — модульные .md-файлы, сгруппированные по темам

~/.claude/rules/
  security.md      # No hardcoded secrets, validate inputs
  coding-style.md  # Immutability, file organization
  testing.md       # TDD workflow, 80% coverage
  git-workflow.md  # Commit format, PR process
  agents.md        # When to delegate to subagents
  performance.md   # Model selection, context management

Примеры правил:

  • Не использовать эмодзи в кодовой базе

  • Избегать фиолетовых оттенков во фронтенде

  • Всегда тестировать код перед деплоем

  • Отдавать приоритет модульному коду вместо мега-файлов

  • Никогда не коммитить console.log

MCP (Model Context Protocol)

MCP напрямую подключают Claude к внешним сервисам. Это не замена API — скорее, обёртка над ними, управляемая промптами, которая даёт больше гибкости при навигации по данным.

Пример: Supabase MCP позволяет Claude получать конкретные данные и выполнять SQL-запросы напрямую на стороне сервиса, без копипаста. То же самое относится к базам данных, платформам деплоя и другим системам.

 Пример того, как Supabase MCP выводит список таблиц в схеме public.
Пример того, как Supabase MCP выводит список таблиц в схеме public.

Chrome в Claude — это встроенный MCP-плагин, который позволяет Claude автономно управлять браузером: кликать по интерфейсу и разбираться, как что работает.

КРИТИЧНО: управление контекстным окном

Будьте разборчивы с MCP. Я храню все MCP в пользовательской конфигурации, но отключаю всё, что не используется. Перейдите в /plugins и пролистайте вниз или выполните /mcp.

Контекстное окно в 200k токенов до сжатия легко превращается в 70k, если включено слишком много инструментов. Производительность при этом заметно падает.

 Использование /plugins для навигации по MCP и просмотра того, какие из них установлены и в каком они состоянии.
Использование /plugins для навигации по MCP и просмотра того, какие из них установлены и в каком они состоянии.

Эмпирическое правило: держите 20–30 MCP в конфигурации, но включёнными — не больше 10, и не более 80 активных инструментов.

Plugins

Плагины упаковывают инструменты для удобной установки вместо утомительной ручной настройки. Плагин может быть комбинацией skill + MCP или набором хуков и инструментов.

Установка плагинов:

# Add a marketplace
claude plugin marketplace add https://github.com/mixedbread-ai/mgrep

# Open Claude, run /plugins, find new marketplace, install from there
 Отображение только что установленного маркетплейса Mixedbread-Grep.
Отображение только что установленного маркетплейса Mixedbread-Grep.

LSP-плагины особенно полезны, если вы часто используете Claude Code вне редакторов. Language Server Protocol даёт Claude проверку типов в реальном времени, переход к определению и умные автодополнения без необходимости держать IDE открытой.

# Enabled plugins example
typescript-lsp@claude-plugins-official  # TypeScript intelligence
pyright-lsp@claude-plugins-official     # Python type checking
hookify@claude-plugins-official         # Create hooks conversationally
mgrep@Mixedbread-Grep                   # Better search than ripgrep

То же предупреждение, что и для MCP: следите за размером контекстного окна.

Советы и приёмы

Горячие клавиши

  • Ctrl+U — удалить всю строку (быстрее, чем зажимать Backspace)

  • ! — быстрый префикс для bash-команд

  • @ — поиск файлов

  • / — запуск slash-команд

  • Shift+Enter — многострочный ввод

  • Tab — переключение отображения рассуждений

  • Esc Esc — прервать Claude / восстановить код

Параллельные рабочие процессы

  • /fork — форкать диалоги, чтобы выполнять независимые задачи параллельно, вместо того чтобы заспамливать очередь сообщений

  • Git worktrees — для параллельной работы нескольких Claude без конфликтов. Каждый worktree — это независимый checkout

git worktree add ../feature-branch feature-branch
# Now run separate Claude instances in each worktree

tmux для долгоживущих команд: позволяет стримить и наблюдать логи и bash-процессы, которые запускает Claude.

Пример: даём Claude Code поднять фронтенд и бэкенд-серверы и следим за логами, подключаясь к сессии через tmux.

tmux new -s dev
# Claude runs commands here, you can detach and reattach
tmux attach -t dev

mgrep > grep: mgrep — это заметный шаг вперёд по сравнению с ripgrep/grep. Устанавливается через маркетплейс плагинов, после чего используется через skill /mgrep. Работает как с локальным поиском, так и с поиском по вебу.

mgrep "function handleSubmit"  # Local search
mgrep --web "Next.js 15 app router changes"  # Web search

Другие полезные команды

  • /rewind — вернуться к предыдущему состоянию

  • /statusline — кастомизация статусной строки: ветка, % контекста, todo

  • /checkpoints — точки отката на уровне файлов

  • /compact — вручную запустить сжатие контекста

GitHub Actions CI/CD

Настройте code review для ваших PR через GitHub Actions. При соответствующей конфигурации Claude может автоматически ревьюить pull request’ы.

 Пример: Claude одобряет PR с исправлением бага.
Пример: Claude одобряет PR с исправлением бага.

Sandboxing

Используйте sandbox-режим для рискованных операций — Claude работает в ограниченной среде и не затрагивает вашу реальную систему. (Флаг --dangerously-skip-permissions делает ровно противоположное и позволяет Claude действовать без ограничений; при неосторожном использовании это может быть разрушительно.)

О редакторах

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

Zed (мой выбор)

Я использую Zed — редактор на Rust, лёгкий, быстрый и сильно настраиваемый.

Почему Zed хорошо подходит для Claude Code:

  • Интеграция Agent Panel — интеграция Claude в Zed позволяет отслеживать изменения файлов в реальном времени, пока Claude их редактирует. Можно мгновенно переходить между файлами, на которые ссылается Claude, не выходя из редактора

  • Производительность — написан на Rust, запускается мгновенно и без лагов работает с большими кодовыми базами

  • Палитра команд CMD+Shift+R — быстрый доступ ко всем вашим кастомным slash-командам, дебаггерам и инструментам через поиск. Удобно, даже если нужно просто выполнить одну команду, не переключаясь в терминал

  • Минимальное потребление ресурсов — не конкурирует с Claude за системные ресурсы во время тяжёлых операций

  • Vim Mode — полноценные vim-кейбиндинги, если вам это близко

 Редактор Zed с выпадающим списком кастомных команд по CMD+Shift+R.   Режим following отображается в виде прицела в правом нижнем углу.
Редактор Zed с выпадающим списком кастомных команд по CMD+Shift+R. Режим following отображается в виде прицела в правом нижнем углу.
  • Разделите экран: терминал с Claude Code с одной стороны, редактор — с другой

  • Ctrl + G — быстро открыть в Zed файл, над которым сейчас работает Claude

  • Auto-save — включите автосохранение, чтобы Claude всегда читал актуальное состояние файлов

  • Git-интеграция — используйте возможности редактора для просмотра изменений Claude перед коммитом

  • File watchers — большинство редакторов автоматически перезагружают изменённые файлы; убедитесь, что это включено

VS Code / Cursor

Это тоже рабочий вариант, который хорошо сочетается с Claude Code. Можно использовать его в терминальном режиме с автоматической синхронизацией с редактором через \ide, включая возможности LSP (сейчас это во многом дублируется плагинами). Либо можно выбрать расширение, которое глубже интегрировано в редактор и имеет согласованный UI.

 Фрагмент из официальной документации:  https://code.claude.com/docs/en/vs-code
Фрагмен�� из официальной документации: https://code.claude.com/docs/en/vs-code

Мой сетап

Plugins

Установлены (обычно одновременно включены только 4–5):

ralph-wiggum@claude-code-plugins       # Loop automation
frontend-design@claude-code-plugins    # UI/UX patterns
commit-commands@claude-code-plugins    # Git workflow
security-guidance@claude-code-plugins  # Security checks
pr-review-toolkit@claude-code-plugins  # PR automation
typescript-lsp@claude-plugins-official # TS intelligence
hookify@claude-plugins-official        # Hook creation
code-simplifier@claude-plugins-official
feature-dev@claude-code-plugins
explanatory-output-style@claude-code-plugins
code-review@claude-code-plugins
context7@claude-plugins-official       # Live documentation
pyright-lsp@claude-plugins-official    # Python types
mgrep@Mixedbread-Grep                  # Better search

MCP-серверы

Настроены (на уровне пользователя):

{
  "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] },
  "firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"] },
  "supabase": {
    "command": "npx",
    "args": ["-y", "@supabase/mcp-server-supabase@latest", "--project-ref=YOUR_REF"]
  },
  "memory": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-memory"] },
  "sequential-thinking": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
  },
  "vercel": { "type": "http", "url": "https://mcp.vercel.com" },
  "railway": { "command": "npx", "args": ["-y", "@railway/mcp-server"] },
  "cloudflare-docs": { "type": "http", "url": "https://docs.mcp.cloudflare.com/mcp" },
  "cloudflare-workers-bindings": {
    "type": "http",
    "url": "https://bindings.mcp.cloudflare.com/mcp"
  },
  "cloudflare-workers-builds": { "type": "http", "url": "https://builds.mcp.cloudflare.com/mcp" },
  "cloudflare-observability": {
    "type": "http",
    "url": "https://observability.mcp.cloudflare.com/mcp"
  },
  "clickhouse": { "type": "http", "url": "https://mcp.clickhouse.cloud/mcp" },
  "AbletonMCP": { "command": "uvx", "args": ["ableton-mcp"] },
  "magic": { "command": "npx", "args": ["-y", "@magicuidesign/mcp@latest"] }
}

Отключены на уровне проекта (управление контекстным окном):

# In ~/.claude.json under projects.[path].disabledMcpServers
disabledMcpServers: [
  "playwright",
  "cloudflare-workers-builds",
  "cloudflare-workers-bindings",
  "cloudflare-observability",
  "cloudflare-docs",
  "clickhouse",
  "AbletonMCP",
  "context7",
  "magic"
]

В этом и суть: у меня настроено 14 MCP, но в каждом проекте включены только примерно 5–6. Это позволяет держать контекстное окно в хорошем состоянии.

Ключевые хуки

{
  "PreToolUse": [
    // tmux reminder for long-running commands
    { "matcher": "npm|pnpm|yarn|cargo|pytest", "hooks": ["tmux reminder"] },
    // Block unnecessary .md file creation
    { "matcher": "Write && .md file", "hooks": ["block unless README/CLAUDE"] },
    // Review before git push
    { "matcher": "git push", "hooks": ["open editor for review"] }
  ],
  "PostToolUse": [
    // Auto-format JS/TS with Prettier
    { "matcher": "Edit && .ts/.tsx/.js/.jsx", "hooks": ["prettier --write"] },
    // TypeScript check after edits
    { "matcher": "Edit && .ts/.tsx", "hooks": ["tsc --noEmit"] },
    // Warn about console.log
    { "matcher": "Edit", "hooks": ["grep console.log warning"] }
  ],
  "Stop": [
    // Audit for console.logs before session ends
    { "matcher": "*", "hooks": ["check modified files for console.log"] }
  ]
}

Кастомная статусная строка

Показывает пользователя, директорию, git-ветку с индикатором грязного состояния, процент оставшегося контекста, модель, время и количество todo.

 Пример статусной строки в корне Mac-системы.
Пример статусной строки в корне Mac-системы.

Структура rules

~/.claude/rules/
  security.md      # Mandatory security checks
  coding-style.md  # Immutability, file size limits
  testing.md       # TDD, 80% coverage
  git-workflow.md  # Conventional commits
  agents.md        # Subagent delegation rules
  patterns.md      # API response formats
  performance.md   # Model selection (Haiku vs Sonnet vs Opus)
  hooks.md         # Hook documentation

Subagents

~/.claude/agents/
  planner.md           # Break down features
  architect.md         # System design
  tdd-guide.md         # Write tests first
  code-reviewer.md     # Quality review
  security-reviewer.md # Vulnerability scan
  build-error-resolver.md
  e2e-runner.md        # Playwright tests
  refactor-cleaner.md  # Dead code removal
  doc-updater.md       # Keep docs synced

Ключевые выводы

  1. Не усложняйте — относитесь к конфигурации как к тонкой настройке, а не к архитектуре

  2. Контекстное окно — на вес золота: отключайте неиспользуемые MCP и плагины

  3. Параллельное выполнение — форкайте диалоги, используйте git worktrees

  4. Автоматизируйте рутину — хуки для форматирования, линтинга и напоминаний

  5. Чётко ограничивайте сабагентов — меньше инструментов, выше фокус

Ссылки

Примечание: это лишь часть деталей. Возможно, позже я напишу отдельные посты по конкретным темам, если это будет интересно.

Русскоязычное сообщество про AI в разработке

Друзья! Эту статью подготовила команда ТГК «AI for Devs» — канала, где мы рассказываем про AI-ассистентов, плагины для IDE, делимся практическими кейсами и свежими новостями из мира ИИ. Подписывайтесь, чтобы быть в курсе и ничего не упустить!