- BrainTools - https://www.braintools.ru -
Команда AI for Devs [1]подготовила перевод подробного гайда по Claude Code — от skills и хуков до MCP, субагентов и плагинов. Автор делится реальным сетапом после месяцев ежедневной работы и показывает, как выжать максимум из Claude Code, не убив контекст и производительность.
Вот мой полный сетап после 10 месяцев ежедневного использования: навыки, хуки, сабагенты, MCP, плагины — и то, что действительно работает. Я активно пользуюсь Claude Code с момента экспериментального запуска в феврале и выиграл хакатон Anthropic x Forum Ventures с проектом Zenith [2], полностью используя Claude Code.
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 — это автоматизации на основе триггеров, которые срабатывают при определённых событиях. В отличие от 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"
}
]
}
]
}
Совет профи: используйте плагин
hookify, чтобы создавать хуки в диалоге, а не писать JSON вручную. Запустите/hookifyи опишите, что именно вы хотите.
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 содержит .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 напрямую подключают Claude к внешним сервисам. Это не замена API — скорее, обёртка над ними, управляемая промптами, которая даёт больше гибкости при навигации по данным.
Пример: Supabase MCP позволяет Claude получать конкретные данные и выполнять SQL-запросы напрямую на стороне сервиса, без копипаста. То же самое относится к базам данных, платформам деплоя и другим системам.
public. Chrome в Claude — это встроенный MCP-плагин, который позволяет Claude автономно управлять браузером: кликать по интерфейсу и разбираться, как что работает.
Будьте разборчивы с MCP. Я храню все MCP в пользовательской конфигурации, но отключаю всё, что не используется. Перейдите в /plugins и пролистайте вниз или выполните /mcp.
Контекстное окно в 200k токенов до сжатия легко превращается в 70k, если включено слишком много инструментов. Производительность при этом заметно падает.
/plugins для навигации по MCP и просмотра того, какие из них установлены и в каком они состоянии. Эмпирическое правило: держите 20–30 MCP в конфигурации, но включёнными — не больше 10, и не более 80 активных инструментов.
Плагины упаковывают инструменты для удобной установки вместо утомительной ручной настройки. Плагин может быть комбинацией 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
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 — вручную запустить сжатие контекста
Настройте code review для ваших PR через GitHub Actions. При соответствующей конфигурации Claude может автоматически ревьюить pull request’ы.
Используйте sandbox-режим для рискованных операций — Claude работает в ограниченной среде и не затрагивает вашу реальную систему. (Флаг --dangerously-skip-permissions делает ровно противоположное и позволяет Claude действовать без ограничений; при неосторожном использовании это может быть разрушительно.)
Хотя редактор не является обязательным, он может как улучшить, так и ухудшить ваш workflow в Claude Code. Claude Code работает из любого терминала, но связка с мощным редактором открывает отслеживание файлов в реальном времени, быструю навигацию и встроенный запуск команд.
Я использую Zed [3]— редактор на Rust, лёгкий, быстрый и сильно настраиваемый.
Почему Zed хорошо подходит для Claude Code:
Интеграция Agent Panel — интеграция Claude в Zed позволяет отслеживать изменения файлов в реальном времени, пока Claude их редактирует. Можно мгновенно переходить между файлами, на которые ссылается Claude, не выходя из редактора
Производительность — написан на Rust, запускается мгновенно и без лагов работает с большими кодовыми базами
Палитра команд CMD+Shift+R — быстрый доступ ко всем вашим кастомным slash-командам, дебаггерам и инструментам через поиск. Удобно, даже если нужно просто выполнить одну команду, не переключаясь в терминал
Минимальное потребление ресурсов — не конкурирует с Claude за системные ресурсы во время тяжёлых операций
Vim Mode — полноценные vim-кейбиндинги, если вам это близко
Разделите экран: терминал с Claude Code с одной стороны, редактор — с другой
Ctrl + G — быстро открыть в Zed файл, над которым сейчас работает Claude
Auto-save — включите автосохранение, чтобы Claude всегда читал актуальное состояние файлов
Git-интеграция — используйте возможности редактора для просмотра изменений Claude перед коммитом
File watchers — большинство редакторов автоматически перезагружают изменённые файлы; убедитесь, что это включено
Это тоже рабочий вариант, который хорошо сочетается с Claude Code. Можно использовать его в терминальном режиме с автоматической синхронизацией с редактором через ide, включая возможности LSP (сейчас это во многом дублируется плагинами). Либо можно выбрать расширение, которое глубже интегрировано в редактор и имеет согласованный UI.
Установлены (обычно одновременно включены только 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
Настроены (на уровне пользователя):
{
"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.
~/.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
~/.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
Не усложняйте — относитесь к конфигурации как к тонкой настройке, а не к архитектуре
Контекстное окно — на вес золота: отключайте неиспользуемые MCP и плагины
Параллельное выполнение — форкайте диалоги, используйте git worktrees
Автоматизируйте рутину — хуки для форматирования, линтинга и напоминаний
Чётко ограничивайте сабагентов — меньше инструментов, выше фокус
Checkpointing [7]
Interactive Mode [8]
Memory System [9]
Subagents [10]
MCP Overview [11]
Примечание: это лишь часть деталей. Возможно, позже я напишу отдельные посты по конкретным темам, если это будет интересно.

Друзья! Эту статью подготовила команда ТГК «AI for Devs [1]» — канала, где мы рассказываем про AI-ассистентов, плагины для IDE, делимся практическими кейсами и свежими новостями из мира ИИ. Подписывайтесь [1], чтобы быть в курсе и ничего не упустить!
Автор: python_leader
Источник [12]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/24742
URLs in this post:
[1] AI for Devs : https://t.me/+LwYNQ7ZrO6hiZThi
[2] Zenith: https://zenith.chat/
[3] Zed : https://zed.dev/
[4] https://code.claude.com/docs/en/vs-code: https://code.claude.com/docs/en/vs-code
[5] Plugins Reference: https://code.claude.com/docs/en/plugins-reference
[6] Hooks Documentation: https://code.claude.com/docs/en/hooks
[7] Checkpointing: https://code.claude.com/docs/en/checkpointing
[8] Interactive Mode: https://code.claude.com/docs/en/interactive-mode
[9] Memory System: https://code.claude.com/docs/en/memory
[10] Subagents: https://code.claude.com/docs/en/sub-agents
[11] MCP Overview: https://code.claude.com/docs/en/mcp-overview
[12] Источник: https://habr.com/ru/articles/987094/?utm_campaign=987094&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.