Как пользуется Claude Code лучший в мире вайбкодер — победитель хакатона Anthropic
Найдено и переведено на русский Телеграм-канал https://t.me/neurovibe_ai , оригинал на английском тут
Вот моя полная настройка после 10 месяцев ежедневного использования: навыки (skills), хуки (hooks), субагенты, MCP, плагины и то, что реально работает.
Я активно использую Claude Code с экспериментального запуска в феврале и выиграл хакатон Anthropic x Forum Ventures с Zenith вместе с @DRodriguezFX, полностью используя Claude Code.
Навыки и команды (Skills and Commands)
Навыки работают как правила, привязанные к определённым областям и рабочим процессам. Они являются сокращением для промптов, когда нужно выполнить конкретный рабочий процесс.
После долгой сессии кодирования с Opus 4.5 хотите очистить мёртвый код и лишние .md файлы? Запустите /refactor-clean. Нужно тестирование? /tdd, /e2e, /test-coverage. Навыки и команды можно объединять в одном промпте.
Можно создать навык, который обновляет карты кода на контрольных точках — способ для Claude быстро навигировать по кодовой базе без расходования контекста на исследование.
~/.claude/skills/codemap-updater.md
Команды — это навыки, выполняемые через слэш-команды. Они пересекаются, но хранятся по-разному:
- Skills:
~/.claude/skills— более широкие определения рабочих процессов - Commands:
~/.claude/commands— быстрые исполняемые промпты
# Пример структуры навыков ~/.claude/skills/ pmx-guidelines.md # Паттерны для конкретного проекта coding-standards.md # Лучшие практики языка tdd-workflow/ # Многофайловый навык с README.md security-review/ # Навык на основе чек-листа
Хуки (Hooks)
Хуки — это автоматизации на основе триггеров, срабатывающие при определённых событиях. В отличие от навыков, они привязаны к вызовам инструментов и событиям жизненного цикла.
- PreToolUse — Перед выполнением инструмента (валидация, напоминания)
- PostToolUse — После завершения инструмента (форматирование, обратная связь)
- UserPromptSubmit — Когда вы отправляете сообщение
- PreCompact — Перед сжатием контекста
- Stop — Когда Claude заканчивает ответ
- 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
Совет: Используйте плагин hookify для создания хуков в разговорном режиме вместо ручного написания JSON. Запустите /hookify и опишите, что хотите.
Субагенты (Subagents)
Субагенты — это процессы, которым ваш оркестратор (основной Claude) может делегировать задачи с ограниченными полномочиями. Они могут работать в фоновом или переднем режиме, освобождая контекст для основного агента.
Субагенты хорошо работают с навыками — субагент, способный выполнять подмножество ваших навыков, может автономно получать задачи и использовать эти навыки. Их также можно изолировать с определёнными правами на инструменты.
# Пример структуры субагентов ~/.claude/agents/ planner.md # Планирование реализации функций architect.md # Решения по системному дизайну tdd-guide.md # Разработка через тестирование code-reviewer.md # Ревью качества/безопасности security-reviewer.md # Анализ уязвимостей build-error-resolver.md e2e-runner.md refactor-cleaner.md
Настройте разрешённые инструменты, MCP и права для каждого субагента для правильного ограничения.
Правила и память (Rules and Memory)
Папка .rules содержит .md файлы с лучшими практиками, которым Claude должен ВСЕГДА следовать. Два подхода:
- Единый CLAUDE.md — Всё в одном файле (на уровне пользователя или проекта)
- Папка rules — Модульные
.mdфайлы, сгруппированные по темам
~/.claude/rules/ security.md # Никаких захардкоженных секретов, валидация ввода coding-style.md # Иммутабельность, организация файлов testing.md # TDD workflow, 80% покрытие git-workflow.md # Формат коммитов, процесс PR agents.md # Когда делегировать субагентам performance.md # Выбор модели, управление контекстом
- Никаких эмодзи в кодовой базе
- Избегать фиолетовых оттенков во фронтенде
- Всегда тестировать код перед деплоем
- Приоритет модульного кода над мега-файлами
- Никогда не коммитить console.log
MCP (Model Context Protocol)
MCP подключает Claude к внешним сервисам напрямую. Это не замена API — это обёртка вокруг них, управляемая промптами, позволяющая более гибко навигировать по информации.
Пример: Supabase MCP позволяет Claude извлекать конкретные данные, выполнять SQL напрямую без копирования-вставки. То же самое для баз данных, платформ деплоя и т.д.
Пример Supabase MCP, показывающий таблицы в публичной схеме
Chrome в Claude: встроенный плагин MCP, который позволяет Claude автономно управлять вашим браузером — кликать вокруг, чтобы увидеть, как всё работает.
КРИТИЧНО: Управление контекстным окном
Будьте избирательны с MCP. Я храню все MCP в пользовательских настройках, но отключаю всё неиспользуемое. Перейдите в /plugins и прокрутите вниз или запустите /mcp.
Ваше контекстное окно в 200k до сжатия может оказаться всего 70k, если включено слишком много инструментов. Производительность значительно падает.
Использование /plugins для навигации к MCP и просмотра установленных и их статуса
Правило: Имейте 20-30 MCP в конфигурации, но держите менее 10 включённых / менее 80 активных инструментов.
Плагины (Plugins)
Плагины упаковывают инструменты для лёгкой установки вместо утомительной ручной настройки. Плагин может быть навыком + MCP вместе, или хуками/инструментами в связке.
# Добавить маркетплейс claude plugin marketplace add https://github.com/mixedbread-ai/mgrep # Откройте Claude, запустите /plugins, найдите новый маркетплейс, установите оттуда
Отображение нового установленного маркетплейса Mixedbread-Grep
LSP плагины особенно полезны, если вы часто запускаете Claude Code вне редакторов. Language Server Protocol даёт Claude проверку типов в реальном времени, переход к определению и интеллектуальное автодополнение без открытого IDE.
# Пример включённых плагинов typescript-lsp@claude-plugins-official # TypeScript интеллект pyright-lsp@claude-plugins-official # Проверка типов Python hookify@claude-plugins-official # Создание хуков в диалоге mgrep@Mixedbread-Grep # Поиск лучше, чем ripgrep
То же предупреждение, что и для MCP — следите за контекстным окном.
Советы и трюки
Горячие клавиши
- Ctrl+U — Удалить всю строку (быстрее, чем спам Backspace)
- ! — Быстрый префикс bash-команды
- @ — Поиск файлов
- / — Запуск слэш-команд
- Shift+Enter — Многострочный ввод
- Tab — Переключение отображения мышления
- Esc Esc — Прервать Claude / восстановить код
Параллельные рабочие процессы
/fork — Форк разговоров для выполнения непересекающихся задач параллельно вместо спама сообщений в очередь.
Git Worktrees — Для пересекающихся параллельных Claude без конфликтов. Каждый worktree — независимый checkout.
git worktree add ../feature-branch feature-branch # Теперь запускайте отдельные экземпляры Claude в каждом worktree
tmux для долгих команд
Стриминг и наблюдение за логами/bash-процессами, которые запускает Claude.
tmux new -s dev # Claude запускает команды здесь, вы можете отключиться и подключиться снова tmux attach -t dev
mgrep > grep
mgrep — значительное улучшение по сравнению с ripgrep/grep. Установите через маркетплейс плагинов, затем используйте навык /mgrep. Работает как с локальным поиском, так и с веб-поиском.
mgrep "function handleSubmit" # Локальный поиск mgrep --web "Next.js 15 app router changes" # Веб-поиск
Другие полезные команды
/rewind— Вернуться к предыдущему состоянию/statusline— Настроить с веткой, % контекста, задачами/checkpoints— Точки отмены на уровне файлов/compact— Вручную запустить сжатие контекста
GitHub Actions CI/CD
Настройте ревью кода в ваших PR с помощью GitHub Actions. Claude может автоматически ревьювить PR при настройке.
Claude одобряет PR с исправлением бага
Песочница (Sandboxing)
Используйте режим песочницы для рискованных операций — Claude работает в ограниченной среде, не затрагивая вашу реальную систему. (Используйте --dangerously-skip-permissions для обратного — позволить Claude действовать свободно, это может быть деструктивно, если не осторожно.)
О редакторах
Хотя редактор не обязателен, он может положительно или отрицательно повлиять на ваш рабочий процесс с Claude Code. Claude Code работает из любого терминала, но его сочетание с мощным редактором открывает отслеживание файлов в реальном времени, быструю навигацию и интегрированное выполнение команд.
Zed (мой выбор)
Я использую Zed — редактор на Rust, лёгкий, быстрый и гибко настраиваемый.
Почему Zed хорошо работает с Claude Code:
- Agent Panel Integration — Интеграция Claude в Zed позволяет отслеживать изменения файлов в реальном времени. Переключайтесь между файлами, на которые ссылается Claude, не покидая редактор
- Производительность — Написан на Rust, открывается мгновенно и работает с большими кодовыми базами без задержек
- CMD+Shift+R Command Palette — Быстрый доступ ко всем пользовательским слэш-командам, отладчикам и инструментам в удобном UI с поиском
- Минимальное потребление ресурсов — Не конкурирует с Claude за системные ресурсы при тяжёлых операциях
- Vim Mode — Полные vim-привязки клавиш
Zed Editor с выпадающим меню пользовательских команд через CMD+Shift+R. Режим следования показан как прицел в правом нижнем углу.
- Разделите экран — Терминал с Claude Code с одной стороны, редактор с другой
- Ctrl+G — Быстро открыть файл, над которым работает Claude, в Zed
- Автосохранение — Включите, чтобы Claude всегда читал актуальные файлы
- Интеграция с Git — Используйте git-функции редактора для ревью изменений Claude перед коммитом
- Наблюдатели файлов — Большинство редакторов автоматически перезагружают изменённые файлы, убедитесь, что это включено
VSCode / Cursor
Это тоже хороший выбор, который хорошо работает с Claude Code. Можно использовать в формате терминала с автоматической синхронизацией с редактором через \ide, включая LSP-функциональность (теперь несколько избыточную с плагинами). Или можно выбрать расширение, которое более интегрировано с редактором и имеет соответствующий UI.
Из документации: https://code.claude.com/docs/en/vs-code
Моя настройка
Плагины
Установлены (обычно только 4-5 из них включены одновременно):
ralph-wiggum@claude-code-plugins # Автоматизация циклов frontend-design@claude-code-plugins # UI/UX паттерны commit-commands@claude-code-plugins # Git рабочий процесс security-guidance@claude-code-plugins # Проверки безопасности pr-review-toolkit@claude-code-plugins # Автоматизация PR typescript-lsp@claude-plugins-official # TS интеллект hookify@claude-plugins-official # Создание хуков 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 # Живая документация pyright-lsp@claude-plugins-official # Типы Python mgrep@Mixedbread-Grep # Улучшенный поиск
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"] }
}
Отключены по проектам (управление контекстным окном):
# В ~/.claude.json под 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 для долгих команд
{ "matcher": "npm|pnpm|yarn|cargo|pytest", "hooks": ["tmux reminder"] },
// Блокировка создания лишних .md файлов
{ "matcher": "Write && .md file", "hooks": ["block unless README/CLAUDE"] },
// Ревью перед git push
{ "matcher": "git push", "hooks": ["open editor for review"] }
],
"PostToolUse": [
// Автоформатирование JS/TS с Prettier
{ "matcher": "Edit && .ts/.tsx/.js/.jsx", "hooks": ["prettier --write"] },
// Проверка TypeScript после редактирования
{ "matcher": "Edit && .ts/.tsx", "hooks": ["tsc --noEmit"] },
// Предупреждение о console.log
{ "matcher": "Edit", "hooks": ["grep console.log warning"] }
],
"Stop": [
// Аудит console.log перед завершением сессии
{ "matcher": "*", "hooks": ["check modified files for console.log"] }
]
}
Пользовательская строка состояния
Показывает пользователя, директорию, git-ветку с индикатором изменений, оставшийся % контекста, модель, время и счётчик задач:
Пример строки состояния в корневой директории Mac
Структура правил
~/.claude/rules/ security.md # Обязательные проверки безопасности coding-style.md # Иммутабельность, лимиты размера файлов testing.md # TDD, 80% покрытие git-workflow.md # Conventional commits agents.md # Правила делегирования субагентам patterns.md # Форматы API-ответов performance.md # Выбор модели (Haiku vs Sonnet vs Opus) hooks.md # Документация хуков
Субагенты
~/.claude/agents/ planner.md # Декомпозиция функций architect.md # Системный дизайн tdd-guide.md # Сначала тесты code-reviewer.md # Ревью качества security-reviewer.md # Сканирование уязвимостей build-error-resolver.md e2e-runner.md # Тесты Playwright refactor-cleaner.md # Удаление мёртвого кода doc-updater.md # Синхронизация документации
Ключевые выводы
- Не переусложняйте — относитесь к конфигурации как к тонкой настройке, а не к архитектуре
- Контекстное окно бесценно — отключайте неиспользуемые MCP и плагины
- Параллельное выполнение — форк разговоров, используйте git worktrees
- Автоматизируйте рутину — хуки для форматирования, линтинга, напоминаний
- Ограничивайте субагентов — ограниченные инструменты = сфокусированное выполнение
Ссылки
- Справка по плагинам
- Документация хуков
- Контрольные точки
- Интерактивный режим
- Система памяти
- Субагенты
- Обзор MCP
Примечание: Это лишь часть деталей. Возможно, сделаю больше постов по конкретным темам, если будет интерес.