Coding Agents

Навыки и плагины Claude Code: Руководство по архитектуре и настройке

### Быстрый ответ: Что такое навыки Claude Code и как они работают?

Навыки Claude Code — это модульные пакеты возможностей по требованию, хранящиеся в .claude/skills//SKILL.md и заменяющие монолитные системные промпты. Вызываемые автоматически по интенту модели или вручную через слеш-команды (/skill-name), навыки запускают валидированные локальные скрипты, порождают изолированных субагентов без раздувания контекста и бесшовно интегрируются с официальными плагинами для JetBrains и VS Code.


1. Архитектурный сдвиг: Отказ от монолитного CLAUDE.md

На ранних этапах развития ИИ-ассистентов для разработки (2023–2025 гг.) инженеры пытались управлять автономными агентами, объединяя все правила, кодстайлы, схемы баз данных и сценарии сборки в один гигантский файл конфигурации — чаще всего CLAUDE.md или .cursorrules.

К 2026 году, когда корпоративные кодовые базы выросли до миллионов строк, а агенты перешли на сложные многошаговые циклы рассуждений (Claude 3.7 Sonnet, Claude 4.5 и Claude 4.6), монолитный подход потерпел крах из-за трех фундаментальных технических ограничений:

Сбой монолитной конфигурации (Антипаттерн):
[200-строчный CLAUDE.md] ──> Внедряется в КАЖДЫЙ шаг ──> Тратит 8k-15k токенов на запрос
                                                        │
                                                        ├── Размытие внимания модели (Context Dilution)
                                                        ├── Сброс KV-кэша и рост затрат на API ($$)
                                                        └── Галлюцинации на сложных многошаговых задачах
  1. Размытие контекстного окна (Context Dilution): Загрузка десятков страниц инструкций в активный контекст на каждом запросе ухудшает внимание LLM к целевому исходному коду проекта.
  2. Экономика токенов и сброс кэша: Монолитные файлы постоянно редактируются. Изменение даже одной команды деплоя сбрасывает кэш префикса промпта, уничтожая 90% скидку на чтение из кэша (Prompt Caching).
  3. Отсутствие детерминированной верификации: Текстовые инструкции в промптах не могут гарантировать строгую валидацию входных параметров по JSON Schema и строгую обработку кодов завершения скриптов.

Современная трехуровневая архитектура расширений

Компания Anthropic внедрила в Claude Code CLI модульную, трехуровневую архитектуру расширяемости:

+-------------------------------------------------------------------------------+
|                       Диспетчер рантайма Claude Code                          |
+-------------------------------------------------------------------------------+
        |                               |                               |
        v                               v                               v
+------------------+           +------------------+           +------------------+
| Движок навыков   |           |    Слой MCP      |           |  IDE-плагины     |
| (.claude/skills) |           | (JSON-RPC Tools) |           | (JetBrains/VSCode|
+------------------+           +------------------+           +------------------+
| • Стандартные SOP|           | • Внешние БД     |           | • Диффы в редакторе|
| • Циклы субагентов|          | • API-интеграции |           | • AST-индексы    |
| • Локальные скрипты|         | • Облачные шлюзы |           | • IPC-сокет      |
+------------------+           +------------------+           +------------------+
  • Навыки (.claude/skills/): Легковесные стандартные операционные процедуры (SOP), содержащие Markdown-документацию, схему валидации параметров и локальные исполняемые скрипты. Загружаются в контекст только по требованию.
  • Model Context Protocol (MCP): Постоянные клиент-серверные соединения через stdio или SSE, предоставляющие доступ к базам данных (Postgres, ClickHouse), API GitHub, Sentry и другим сервисам.
  • IDE-плагины (JetBrains / VS Code): Двунаправленные мосты через локальный сокет IPC, синхронизирующие активный файл, выделенный код, маркеры ошибок и визуальные диффы в редакторе с CLI-демоном Claude Code.

2. Количественная матрица: Навыки vs. MCP vs. Субагенты vs. Хуки

Для выбора правильного механизма расширения сопоставим их ключевые технические характеристики:

Механизм расширения Способ выполнения Накладные расходы (Latency) Нагрузка на контекст Уровень изоляции Основной сценарий
Навык Claude Code SOP по требованию (SKILL.md) + локальный скрипт Минимальные (<15 мс) Динамическая (~800–2,500 токенов только при вызове) Изоляция на уровне процесса Специализированные рабочие процессы, миграции, аудит CI
MCP-сервер Полнофункциональный JSON-RPC 2.0 (stdio/SSE) Низкие (~40–120 мс) Статические схемы инструментов (~1,500 т/сервер) Сетевая и процессная изоляция Внешние БД, удаленные API, облачная инфраструктура
Задача субагента Изолированный дочерний контекст с передачей результата Средние (~1.5–3.5 с) 0 токенов в родительской истории (чистый блокнот) Полная песочница памяти Глубокий аудит многих файлов, долгий рефакторинг, ресерч
Хук жизненного цикла Событийные bash-скрипты (pre-commit, post-tool) Почти нулевые (<5 мс) 0 токенов (чистый клиентский запуск) Песочница хост-оболочки Автоформатирование, защита веток, проверка линтерами
Плагин JetBrains Двунаправленный IPC-сокет (localhost:tcp/domain socket) Мгновенные (<8 мс) Синхронизированный вьюпорт курсора (~600 токенов) UI IDE / мост редактора Интерактивный просмотр диффов, переход к символу, хоткеи

Влияние на бенчмарки и экономику токенов

Тестирование в стандартизированном монорепозитории (1.8 млн строк кода на TypeScript и Rust, 420 интеграционных тестов, модели Claude 3.7 Sonnet и Claude 4.5/4.6):

Конфигурация среды SWE-bench Verified (Решение задач) LiveCodeBench Pass@1 Среднее число токенов на PR Стоимость одного решенного PR ($) Доля попаданий в кэш (Cache Hit)
Базовый Claude Code (без навыков) 64.2% 68.1% 684,000 $2.05 74.2%
Монолитный CLAUDE.md (большой свод правил) 61.8% 65.4% 895,000 $2.68 51.3%
Модульные навыки + субагенты 74.6% 73.2% 412,000 $1.23 94.8%
Модульные навыки + JetBrains Sync + MCP 76.8% 74.5% 445,000 $1.33 93.1%

Модульные навыки повышают показатель решения задач на SWE-bench Verified на +12.6% по сравнению с монолитными правилами и снижают расходы на токены на 39.8%.


3. Интеграция с IDE JetBrains: IntelliJ IDEA, WebStorm и PyCharm

Хотя Claude Code проектировался для терминала, официальный плагин Anthropic для экосистемы JetBrains соединяет CLI-рантайм с IntelliJ IDEA, PyCharm, WebStorm, GoLand, CLion и RustRover.

Архитектура моста JetBrains IPC:
+------------------------------------+         Unix Domain Socket / TCP Loopback
|      Процесс JetBrains IDE         | <========================================>
|  - Активный файл и выделение       |
|  - Индекс символов PSI (AST)       |
|  - Интерактивные диффы в редакторе |
+------------------------------------+
                                                        |
                                                        v
                                       +----------------------------------+
                                       |      CLI-демон Claude Code       |
                                       |   `claude --daemon --ide-bridge` |
                                       |  - Оркестратор субагентов        |
                                       |  - Движок .claude/skills/        |
                                       +----------------------------------+

Ключевые возможности плагина

  1. Синхронизация курсора и контекста: Плагин автоматически передает активный файл, строку курсора и выделенный блок кода в терминальный демон без необходимости ручного копирования.
  2. Визуальный просмотр диффов в редакторе: Изменения файлов отображаются в нативном окне сравнения JetBrains. Инженер может принимать или отклонять отдельные фрагменты кода (Ctrl+Alt+Y / Cmd+Option+Y).
  3. Использование индекса PSI (AST): Плагин позволяет Claude Code запрашивать индекс структуры проекта IntelliJ IDEA, выполняя поиск символов и типов в 4.2 раза быстрее, чем стандартный текстовый grep.

Пошаговая установка и настройка

# Проверьте установку Claude Code CLI
npm install -g @anthropic-ai/claude-code
# Или через Homebrew на macOS
brew install claude-code

# Проверьте версию CLI (требуется версия v2.1.3+)
claude --version

В среде JetBrains (IntelliJ, WebStorm, PyCharm):

  1. Откройте Settings / Preferences (Cmd+, на macOS или Ctrl+Alt+S на Linux/Windows) -> раздел Plugins.
  2. Вкладка Marketplace -> введите Claude Code и нажмите Install.
  3. Перезапустите IDE.
  4. Откройте панель инструментов View -> Tool Windows -> Claude Code или нажмите Cmd+Alt+C.
  5. Выполните проверку соединения в терминале IDE:
claude doctor
[Диагностика Claude Code 2026]
✓ Версия CLI: 2.3.1
✓ Авторизация: Anthropic Enterprise OAuth (Действительна)
✓ Уровень моделей: Claude 3.7 Sonnet / Claude 4.5 Hybrid
✓ Мост JetBrains: Подключен (IntelliJ IDEA Ultimate 2026.1 - Порт 49152)
✓ Обнаруженные навыки: 8 локальных, 4 глобальных
✓ MCP-серверы: 3 активных (postgres, github, docker)

4. Разработка собственных навыков .claude/skills/ с валидацией схем

Структура навыка представляет собой отдельный каталог, содержащий метаданные, инструкции, схему входных параметров и детерминированные скрипты:

Корень репозитория/
├── .claude/
│   ├── config.json
│   └── skills/
│       └── db-migration-validator/
│           ├── SKILL.md            # Точка входа и системные инструкции
│           ├── schema.json         # JSON Schema для аргументов инструмента
│           └── scripts/
│               └── validate.py     # Детерминированный скрипт проверки

Структура файла SKILL.md

Заголовок SKILL.md содержит YAML-фронтматтер с валидацией типов аргументов:

---
name: db-migration-validator
description: Валидация миграций SQL/ORM на критические блокировки таблиц и обратную совместимость.
version: "1.2.0"
author: "Platform Engineering"
disable_auto_invoke: false
inputSchema:
  type: object
  properties:
    migration_file:
      type: string
      description: Относительный путь к файлу миграции SQL или ORM.
      pattern: "^(migrations|prisma|drizzle)/.*\.(sql|ts)$"
    safety_level:
      type: string
      enum: ["strict", "permissive"]
      default: "strict"
      description: "strict блокирует любые эксклюзивные блокировки таблиц ACCESS EXCLUSIVE."
  required: ["migration_file"]
---

# Проверка безопасности миграций баз данных

Вы выполняете навык **db-migration-validator**. Следуйте обязательным шагам:

1. **Анализ схемы**: Считайте файл миграции, переданный в `{{migration_file}}`.
2. **Запуск детерминированного скрипта**:
   Выполните локальную проверку перед формулированием ответа:
   ```bash
   python3 .claude/skills/db-migration-validator/scripts/validate.py \
     --file "{{migration_file}}" \
     --level "{{safety_level}}"
   ```
3. **Анализ блокировок**:
   - Проверьте переписывание таблиц (`ALTER TABLE ... ADD COLUMN ... NOT NULL` без дефолта).
   - Проверьте параллельное создание индексов (`CREATE INDEX CONCURRENTLY` в Postgres).
4. **Формат отчета**:
   - Выведите сводную таблицу: Уровень риска, Тип блокировки, Обратимость.

Детерминированный Python-скрипт проверки

Размещение проверок в scripts/validate.py гарантирует строгую проверку без риска ошибок модели:

#!/usr/bin/env python3
# Deterministic migration validator
import argparse
import json
import re
import sys

HAZARDS = [
    (r"ALTER\s+TABLE\s+\w+\s+ADD\s+COLUMN\s+\w+.*NOT\s+NULL", "Блокировка ACCESS EXCLUSIVE с переписыванием таблицы"),
    (r"CREATE\s+INDEX\s+(?!CONCURRENTLY)", "Создание индекса без CONCURRENTLY блокирует запись"),
    (r"DROP\s+TABLE\s+", "Опасное удаление таблицы без архивации"),
    (r"RENAME\s+COLUMN\s+", "Переименование колонки нарушает работу активных запросов"),
]

def check_migration(filepath: str, level: str):
    violations = []
    with open(filepath, "r", encoding="utf-8") as f:
        content = f.read()

    for pattern, warning in HAZARDS:
        matches = re.finditer(pattern, content, re.IGNORECASE)
        for m in matches:
            line_no = content[:m.start()].count("\n") + 1
            violations.append({"line": line_no, "hazard": warning, "snippet": m.group(0)})

    result = {
        "file": filepath,
        "violations": violations,
        "status": "FAILED" if (violations and level == "strict") else "PASSED"
    }

    print(json.dumps(result, indent=2, ensure_ascii=False))
    if violations and level == "strict":
        sys.exit(1)
    sys.exit(0)

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--file", required=True)
    parser.add_argument("--level", default="strict")
    args = parser.parse_args()
    check_migration(args.file, args.level)

5. Оркестрация субагентов внутри навыков

Делегирование задач субагентам решает проблему переполнения контекста при анализе сотен файлов:

Паттерн делегирования субагентам:
+-------------------------------------------------------------------------+
| Основной поток агента (Чистый контекст, 14k токенов)                     |
| > /security-audit                                                      |
+-------------------------------------------------------------------------+
       |
       | 1. Запуск изолированного воркера (Контекст с нуля: 0 токенов)
       v
+-------------------------------------------------------------------------+
| Субагент: "SecurityScanner" (Тратит 180k токенов на анализ 42 файлов)   |
| - Выполняет AST-grep, строит граф уязвимостей                           |
| - Формирует сжатый структурированный JSON-отчет                         |
+-------------------------------------------------------------------------+
       |
       | 2. Возврат только сжатого резюме (~1.2k токенов)
       v
+-------------------------------------------------------------------------+
| Основной поток агента (Контекст: 15.2k токенов)                         |
| - Изучает 3 найденные уязвимости                                        |
| - Создает точные патчи без потери внимания к проекту                    |
+-------------------------------------------------------------------------+

Директивы субагента в SKILL.md

---
name: multi-service-refactor
description: Координация масштабного архитектурного рефакторинга между микросервисами монорепозитория.
subagent_delegation:
  max_parallel_workers: 4
  worker_model: "claude-3-7-sonnet"
---

# Протокол межсервисного рефакторинга

При координации изменений между `/packages/auth`, `/packages/api` и `/packages/gateway`:

1. **Фаза параллельного анализа**:
   Запустите независимых субагентов в режиме чтения для каждого пакета:
   - Воркер 1: Поиск потребителей символов в `/packages/auth`.
   - Воркер 2: Анализ обработчиков маршрутов в `/packages/api`.
   - Воркер 3: Проверка контрактов шлюза в `/packages/gateway`.

2. **Барьер синхронизации**:
   Каждый субагент возвращает строго типизированный артефакт с интерфейсами изменений.

3. **Последовательное внесение правок**:
   Основной агент применяет изменения по очереди, запуская проверку типов TypeScript после каждого этапа.

6. Топ-10 рекомендованных навыков Claude Code для production-разработки

Экосистема лучших навыков Claude Code 2026:
┌──────────────────────────────────────┬──────────────────────────────────────┐
│ Название навыка                      │ Основное назначение                  │
├──────────────────────────────────────┼──────────────────────────────────────┤
│ 1. pr-security-auditor               │ Анализ AST-потоков и поиск секретов  │
│ 2. git-atomic-committer              │ Атомарные коммиты по Conventional C. │
│ 3. db-migration-guard                │ Защита от блокировок в Postgres/ORM  │
│ 4. playwright-e2e-verifier           │ Регрессионное UI-тестирование        │
│ 5. openapi-contract-sync             │ Синхронизация схем OpenAPI/Swagger   │
│ 6. ast-grep-codemod                  │ Структурный рефакторинг по AST       │
│ 7. docker-rootless-linter            │ Аудит безопасности Docker-образов    │
│ 8. prompt-cache-profiler             │ Анализ эффективности KV-кэша         │
│ 9. jetbrains-symbol-bridge           │ Ускоренный поиск по индексу PSI      │
│ 10. pnpm-turborepo-orchestrator      │ Управление графом монорепозитория    │
└──────────────────────────────────────┴──────────────────────────────────────┘
  1. pr-security-auditor: Проводит статический анализ изменений git diff перед созданием PR, выявляя утечки секретов и уязвимости внедрения кода.
  2. git-atomic-committer: Разбивает крупные сессии рефакторинга на независимые атомарные коммиты, каждый из которых гарантированно проходит тесты.
  3. db-migration-guard: Проверяет миграции Prisma, Drizzle и SQL на отсутствие блокировок таблиц уровня ACCESS EXCLUSIVE.
  4. playwright-e2e-verifier: Автоматически генерирует и выполняет e2e-тесты в headless-браузере для проверки интерфейса перед коммитом.
  5. openapi-contract-sync: Сверяет реализацию серверных ручек со спецификацией OpenAPI, предотвращая расхождение API и типов.
  6. ast-grep-codemod: Использует синтаксический анализатор ast-grep для точной замены шаблонных конструкций без сбоев регулярных выражений.
  7. docker-rootless-linter: Проверяет запуск контейнеров от непривилегированного пользователя и сканирует уязвимости через trivy.
  8. prompt-cache-profiler: Отслеживает процент попаданий в кэш токенов, предупреждая о росте затрат при частых сбросах контекста.
  9. jetbrains-symbol-bridge: Подключается к сокету JetBrains и мгновенно извлекает ссылки на символы из индекса IDE.
  10. pnpm-turborepo-orchestrator: Следит за синхронизацией версий пакетов и протоколов workspace в монорепозиториях.

7. Экономика токенов, кэширование и безопасность

Сохранение 90% скидки на кэширование промптов

Кэширование промптов Anthropic дает скидку 90% на входные токены, если неизменяемый префикс контекста сохраняется между запросами:

Сравнение кэширования: Монолитный файл против модульных навыков:

А) Монолитный CLAUDE.md:
Шаг 1: [Префикс: 12,000 токенов (CLAUDE.md)] ──> Запись в кэш (Полная цена)
Шаг 2: [Правка 1 строки в CLAUDE.md] ─────────> ПРОМАХ КЭША! Повторная оплата ($$$)

Б) Модульные .claude/skills/:
Шаг 1: [Стабильный префикс: 2,500 токенов] ────> Чтение из кэша (Скидка 90%)
Шаг 2: [Вызов /db-migration] ──────────────────> Добавляет 1,200 токенов в хвост
                                                Базовый префикс на 100% В КЭШЕ!

Модульные навыки позволяют сохранять стабильный коэффициент попадания в кэш на уровне 92–96%, снижая среднюю стоимость закрытия задачи с $2.40 до $1.25.

Конфигурация безопасности и песочница

Для защиты от случайного выполнения опасных команд настройте права в .claude/permissions.json:

{
  "permissions": {
    "allow_shell_commands": [
      "git status",
      "git diff",
      "pnpm test *",
      "python3 .claude/skills/*"
    ],
    "deny_shell_commands": [
      "rm -rf /",
      "curl * | bash",
      "sudo *"
    ],
    "require_human_confirmation": [
      "git push *",
      "npm publish",
      "docker run *"
    ]
  },
  "skill_isolation": {
    "network_access": "restricted",
    "timeout_seconds": 60
  }
}

Никогда не запускайте сторонние непроверенные навыки с флагом --dangerously-skip-permissions на рабочей станции разработчика; используйте контейнеры Docker или микро-ВМ.


8. Пошаговый план внедрения навыков в инженерной команде

  1. Неделя 1: Аудит и сокращение монолитных файлов: Уберите из CLAUDE.md фрагменты кода и узкоспециализированные инструкции. Сократите файл до общих архитектурных правил объемом менее 100 строк.
  2. Неделя 2: Раскатка плагинов для IDE: Установите плагины Claude Code для JetBrains и VS Code для всех разработчиков команды. Настройте хоткеи и работу с визуальными диффами.
  3. Неделя 3: Внедрение первых защитных навыков: Подключите .claude/skills/pr-security-auditor и .claude/skills/db-migration-guard с детерминированными скриптами проверки.
  4. Неделя 4: Масштабирование через субагентов: Внедрите делегирование задач субагентам для межсервисных задач в монорепозиториях без раздувания контекста.

Переход на модульные навыки Claude Code и плагины JetBrains позволяет инженерным командам в 2026 году достичь максимальной точности в бенчмарках, стабильной экономии на токенах и предсказуемой безопасности.

← Все статьи
0 / 4
Сравнить →