January 30

Как пользуется 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)

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

Типы хуков:

  1. PreToolUse — Перед выполнением инструмента (валидация, напоминания)
  2. PostToolUse — После завершения инструмента (форматирование, обратная связь)
  3. UserPromptSubmit — Когда вы отправляете сообщение
  4. PreCompact — Перед сжатием контекста
  5. Stop — Когда Claude заканчивает ответ
  6. 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 должен ВСЕГДА следовать. Два подхода:

  1. Единый CLAUDE.md — Всё в одном файле (на уровне пользователя или проекта)
  2. Папка 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. Режим следования показан как прицел в правом нижнем углу.

Рекомендации:

  1. Разделите экран — Терминал с Claude Code с одной стороны, редактор с другой
  2. Ctrl+G — Быстро открыть файл, над которым работает Claude, в Zed
  3. Автосохранение — Включите, чтобы Claude всегда читал актуальные файлы
  4. Интеграция с Git — Используйте git-функции редактора для ревью изменений Claude перед коммитом
  5. Наблюдатели файлов — Большинство редакторов автоматически перезагружают изменённые файлы, убедитесь, что это включено

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       # Синхронизация документации

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

  1. Не переусложняйте — относитесь к конфигурации как к тонкой настройке, а не к архитектуре
  2. Контекстное окно бесценно — отключайте неиспользуемые MCP и плагины
  3. Параллельное выполнение — форк разговоров, используйте git worktrees
  4. Автоматизируйте рутину — хуки для форматирования, линтинга, напоминаний
  5. Ограничивайте субагентов — ограниченные инструменты = сфокусированное выполнение

Ссылки

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

Найдено и переведено на русский Телеграм-Каналом Нейровайб ИИ