Что Такое Claude Code
Claude Code — это CLI-инструмент от Anthropic, который работает прямо в терминале. Он умеет редактировать файлы, запускать команды, искать по кодовой базе, создавать коммиты и pull-реквесты. По сути, это полноценный AI-разработчик, живущий в вашем терминале.
Но его настоящая сила — в расширяемости. Claude Code поддерживает четыре механизма, которые превращают его из простого чата в платформу:
- Commands — 30+ встроенных slash-команд для управления сессией, настройками и инструментами
- Skills — кастомные команды с инструкциями, которые вы пишете сами
- Agents — изолированные субагенты со своим контекстным окном для параллельных задач
- MCP — подключение любых внешних инструментов через открытый протокол
Claude Code — не просто чат в терминале
Это расширяемая платформа: вы можете добавлять свои команды, создавать агентов под конкретные задачи и подключать любые внешние инструменты.
Давайте разберём каждый из этих механизмов подробно — с конкретными примерами файлов и конфигов.
30+ Встроенных Команд
Все команды в Claude Code начинаются с /. Они управляют сессией, настройками, инструментами и аналитикой. Вот полный список, сгруппированный по категориям.
Навигация и сессии
| Команда | Что делает | Пример |
|---|---|---|
/help |
Справка по командам | /help |
/clear |
Очистить историю разговора | /clear |
/compact |
Сжать контекст, освободить окно | /compact сосредоточься на тестах |
/exit |
Выйти из Claude Code | /exit |
/resume |
Возобновить предыдущую сессию | /resume |
/rename |
Переименовать текущую сессию | /rename рефакторинг auth |
Настройки
| Команда | Что делает | Пример |
|---|---|---|
/config |
Открыть настройки | /config |
/model |
Сменить модель | /model sonnet |
/permissions |
Управление разрешениями | /permissions |
/theme |
Сменить тему оформления | /theme dark |
/vim |
Включить/выключить vim-режим | /vim |
/statusline |
Настройка статусной строки | /statusline |
Разработка
| Команда | Что делает | Пример |
|---|---|---|
/init |
Создать файл CLAUDE.md для проекта | /init |
/plan |
Режим планирования (только чтение) | /plan |
/review |
Ревью кода (если настроен как skill) | /review |
/doctor |
Диагностика окружения | /doctor |
Аналитика
| Команда | Что делает | Пример |
|---|---|---|
/cost |
Стоимость текущей сессии | /cost |
/stats |
Статистика использования | /stats |
/context |
Визуализация контекстного окна | /context |
/usage |
Лимиты текущего плана | /usage |
Утилиты
| Команда | Что делает | Пример |
|---|---|---|
/copy |
Скопировать последний ответ | /copy |
/export |
Экспортировать разговор | /export conversation.md |
/mcp |
Управление MCP-серверами | /mcp |
/agents |
Управление субагентами | /agents |
/tasks |
Фоновые задачи | /tasks |
/memory |
Редактирование памяти | /memory |
/todos |
Список задач сессии | /todos |
Специальные префиксы
Помимо slash-команд, Claude Code поддерживает два специальных префикса:
!command— выполнить bash-команду напрямую, без подтверждения. Например:!git status@path— автодополнение путей к файлам. Начните вводить@src/и Claude Code предложит файлы
Совет: команда /compact
Команда /compact — спасение при длинных сессиях. Она сжимает историю, освобождая контекстное окно. Можно указать фокус: /compact сосредоточься на тестах — и Claude запомнит только релевантное.
Создание Своих Skills
Skills — это кастомные slash-команды с инструкциями. Вы создаёте файл SKILL.md в специальной директории, и он становится доступен как команда в Claude Code.
Где размещать Skills
Есть три варианта расположения файлов:
~/.claude/skills/my-skill/SKILL.md— пользовательский Skill, доступен во всех проектах.claude/skills/my-skill/SKILL.md— проектный Skill, хранится в репозитории.claude/commands/my-command.md— старый формат (продолжает работать)
Формат SKILL.md
Файл состоит из YAML-frontmatter (метаданные) и Markdown-инструкций:
---
name: my-skill
description: Краткое описание навыка
allowed-tools: Read, Grep, Glob, Bash
argument-hint: "[аргумент]"
---
Здесь идут инструкции для Claude.
Что делать, в каком порядке, какие проверки выполнить.
Ключевые поля frontmatter:
name— имя команды (вызывается как/name)description— описание, по которому Claude понимает, когда использоватьallowed-tools— список разрешённых инструментовargument-hint— подсказка по аргументамcontext: fork— запуск в изолированном субагентеdisable-model-invocation: true— только ручной вызов через/name
Пример 1: YouTube-видео — полный пайплайн от видео до публикации
Реальный Skill, который автоматизирует полный цикл обработки YouTube-видео. Говоришь «новое видео на ютюбе» — и агент сам находит видео, скачивает расшифровку, генерирует названия, обложку, описание, пост в Telegram и рассылку:
---
name: youtube-video
description: "Полный пайплайн от YouTube-видео до публикации.
Автоматически находит видео, расшифровывает, генерирует
3 названия, обложку, описание, пост в канал, рассылку —
и публикует на YouTube."
---
# YouTube Video — 10-шаговый пайплайн
## Триггеры
- "новое видео", "видео на ютюбе", "опубликовал видео"
- Или вставка готовой расшифровки → пропускаем шаги 0-1
## Пайплайн
0. Найти последнее видео → youtube_api.py
1. Скачать расшифровку → get_transcripts.py
2. Анализ: тема, ЦА, таймкоды, эмоциональные пики
3. 3 названия A/B/C (вопрос / провокация / число+результат)
4. Описание YouTube (SEO в первых 2 строках, таймкоды)
5. Промпт для обложки → generate_image.py
6. Генерация обложки + сжатие для YouTube (<2MB)
6.5. Автопубликация: название + описание + теги + обложка
7. Пост в TG-канал
8. Рассылка подписчикам
9. Карточка публикации → "Всё на YouTube. Что поправить?"
Один Skill заменяет часовую ручную работу. Claude находит видео через YouTube API, расшифровывает его, генерирует все артефакты и публикует через update_video.py — даже обложку загружает автоматически.
Пример 2: Диаграмма — GraphTB → промпт → картинка
Skill для генерации технических диаграмм. Сначала описывает структуру в текстовом формате GraphTB, потом превращает в промпт для Gemini:
---
name: diagram
description: "Генерация технических диаграмм через GraphTB → Gemini.
Сначала описываем структуру текстом, затем превращаем в промпт."
---
# Diagram — 3-шаговый пайплайн
1. **GraphTB** — описать диаграмму текстом:
- Узлы (имя, тип, цвет, иконка)
- Связи (откуда → куда, стиль)
- Зоны (где на картинке)
- Группы (визуальные контейнеры)
2. **Промпт** — преобразовать GraphTB в 6-частный промпт
по системе из SYSTEM_PROMPT.md
3. **Генерация** — generate_image.py --skill diagram
Полная инструкция: /root/projects/ai-skills/diagram/PIPELINE.md
Формат GraphTB гарантирует, что ни один элемент не потеряется при преобразовании в промпт. Вы описываете узлы таблицей, а Claude сам строит из этого 6-частный промпт с HEX-цветами, зонами и стилями.
Пример 3: Статья в блог — от тренда до публикации
---
name: blog-article
description: "SEO-статья на aibot.direct: ресёрч → PHP → OG → git → Google ping"
---
# Пайплайн (11 шагов)
1. Анализ трендов → analyzer.py (Google Trends + Yandex Wordstat)
2. Ресёрч из первоисточников (5-8 авторитетных источников)
3. План: slug, структура, FAQ, теги, related
4. PHP-файл статьи (AIDA, Schema.org, 3 CTA)
5. OG-картинка 1200x630 → Puppeteer
6. Blog index → добавить в массив $blog_articles
7. .htaccess → RewriteRule
8. Проверка: curl, canonical, Schema.org, мобилка
9. Git push
10. Google sitemap ping
11. Пост в TG-канал (после одобрения)
Эта самая статья, которую вы сейчас читаете, была создана именно так — через Skill blog-article. От идеи до публикации на сайте за один запрос.
Лимит контекста для Skills
Skills имеют лимит контекста — 2% от окна модели. Не пишите огромные инструкции в один SKILL.md — лучше разбейте на несколько файлов и ссылайтесь на них.
Субагенты: Делегируй Задачи
Субагенты — это изолированные AI-помощники со своим контекстным окном. Основной Claude может порождать их для конкретных задач, не загромождая свой собственный контекст.
Где размещать файлы агентов
.claude/agents/my-agent.md— проектный агент, доступен всей команде через Git~/.claude/agents/my-agent.md— пользовательский агент, доступен во всех проектах
Встроенные агенты
Explore (Haiku)
Быстрый агент только для чтения. Ищет по коду, читает файлы, собирает контекст. Не может ничего менять.
Plan
Агент для планирования. Собирает контекст, анализирует кодовую базу и формирует план действий.
General-purpose
Универсальный агент со всеми инструментами. Для сложных задач, требующих полного доступа.
Пример 1: Исследователь — только чтение, никаких правок
Агент, который собирает информацию из веба и кодовой базы, но не может ничего менять. Идеален для подготовки к написанию статей или анализа конкурентов:
---
name: researcher
description: Исследует кодовую базу и собирает факты. Только читает.
tools: Read, Glob, Grep, Bash, WebSearch, WebFetch
model: sonnet
---
Ты — исследователь. Собирай факты, читай документацию,
ищи в вебе. Ты НЕ можешь редактировать файлы.
Возвращай структурированный отчёт:
- Найденные факты с источниками
- Конфликты между источниками
- Зависимости между компонентами
Мы используем этого агента для ресёрча перед каждой статьёй. Он параллельно ищет в 5-8 источниках, читает официальную документацию и возвращает структурированный отчёт — всё это в изолированном контексте, не забивая основной разговор.
Пример 2: Кодер — пишет код строго по плану
---
name: coder
description: Пишет код строго по плану. Не принимает решений сам.
tools: Read, Glob, Grep, Edit, Write, Bash
model: sonnet
---
Ты — исполнитель. Пишешь код по переданным инструкциям.
НЕ принимай архитектурных решений самостоятельно.
Если что-то неясно — верни вопрос, а не угадывай.
Связка «исследователь + кодер» — это разделение ответственности. Основной Claude анализирует ресёрч, принимает решения и даёт кодеру точные инструкции. Кодер не принимает архитектурных решений — только реализует.
Ключевые поля файла агента:
tools— whitelist разрешённых инструментов (агент не сможет использовать другие)model— выбор модели (haiku дешевле для простых задач, opus для сложных)maxTurns— ограничение количества ходов (защита от зацикливания)permissionMode— уровень доступа к системеmemory— тип памяти (user или project)isolation: worktree— изоляция в отдельной рабочей директории Git
Skills vs Субагенты: в чём разница
| Критерий | Skills | Субагенты |
|---|---|---|
| Контекст | Основной разговор | Собственное окно |
| Файлы | .claude/skills/ |
.claude/agents/ |
| Вложенность | Может запустить агента (context: fork) | Не может запускать других агентов |
| Память | Нет собственной | Может иметь (memory: user/project) |
| Модель | Наследует от сессии | Можно указать свою |
MCP: Подключение Внешних Инструментов
Model Context Protocol (MCP) — открытый стандарт для подключения внешних инструментов к AI-моделям. Через MCP Claude Code может работать с базами данных, API, файловыми системами и любыми другими сервисами.
Типы транспорта
stdio— локальный процесс. MCP-сервер запускается как дочерний процесс и общается через stdin/stdouthttp— HTTP-сервер. Рекомендуемый способ для удалённых сервисов
Управление MCP-серверами
# Добавить HTTP-сервер
claude mcp add --transport http github https://api.github.com/mcp
# Добавить локальный stdio-сервер
claude mcp add --transport stdio my-db -- python3 db-server.py
# Посмотреть список
claude mcp list
# Внутри Claude Code
/mcp
Конфигурация .mcp.json
MCP-серверы можно настроить через файл .mcp.json в корне проекта. Вот реальный пример — подключение Singularity (таск-менеджер) как MCP-сервер:
{
"mcpServers": {
"singularity": {
"command": "node",
"args": [
"./mcp-servers/singularity-mcp/mcp.js",
"--baseUrl", "https://api.singularity-app.com",
"--accessToken", "${SINGULARITY_TOKEN}"
]
}
}
}
После подключения Claude может создавать задачи, управлять проектами и отслеживать финансы — всё через естественный язык. Скажите «создай задачу на завтра: позвонить клиенту» — и задача появится в Singularity.
Вот более сложный пример с несколькими серверами:
{
"mcpServers": {
"singularity": {
"command": "node",
"args": ["./mcp-servers/singularity-mcp/mcp.js"]
},
"github": {
"type": "http",
"url": "https://api.github.com/mcp",
"headers": {
"Authorization": "Bearer ${GITHUB_TOKEN}"
}
}
}
}
Секреты передаются через переменные окружения (${GITHUB_TOKEN}), а не хардкодятся. Это безопасный подход.
MCP-серверы, которые предоставляют промпты, автоматически становятся slash-командами. Например, если GitHub MCP-сервер имеет промпт list_prs, он будет доступен как /mcp__github__list_prs.
Claude Code как MCP-сервер
Claude Code сам может работать как MCP-сервер: claude mcp serve. Это позволяет подключить его к Claude Desktop или другим AI-инструментам, которые поддерживают MCP.
Как Всё Связано
Commands, Skills, Agents и MCP — это не отдельные системы, а уровни одной архитектуры. Каждый следующий уровень расширяет предыдущий.
Commands (встроенные)
30+ встроенных команд для управления сессией, настройками и инструментами. Фундамент, на котором строится всё остальное. Расширяются через Skills.
Skills (кастомные команды)
Ваши собственные slash-команды с инструкциями. Могут запускать субагентов через context: fork. Превращают Claude Code в инструмент под ваш проект.
Agents (субагенты)
Изолированные помощники со своим контекстным окном. Могут использовать MCP-инструменты. Подходят для параллельных задач и специализированных ролей.
MCP (внешние инструменты)
Открытый протокол подключения любых сервисов. Доступен и основному сеансу, и субагентам. Превращает Claude Code в хаб для всех ваших инструментов.
Пример из нашей практики: вы пишете «новое видео на ютюбе» — активируется Skill youtube-video (уровень Skills). Он запускает агента-исследователя для анализа расшифровки (уровень Agents). Агент использует YouTube API для поиска видео (уровень MCP). Затем другой агент генерирует обложку через Gemini, а основной Claude публикует всё на YouTube. Все четыре уровня — в одной команде.
Практические Примеры
Вот три реальных сценария из нашей работы — не теория, а то, что действительно работает каждый день.
Пример 1: «Новое видео на ютюбе» → полная публикация за 5 минут
Вы загрузили видео на YouTube и пишете агенту: «новое видео на ютюбе». Дальше всё автоматически:
Шаги 0-1: Находим и расшифровываем
YouTube API находит последнее видео. Скрипт get_transcripts.py скачивает субтитры (или Whisper расшифровывает аудио, если субтитров нет).
Шаги 2-4: Анализ и текст
Claude анализирует расшифровку, генерирует 3 названия A/B/C с обоснованием, описание с таймкодами и хештегами.
Шаги 5-6.5: Обложка и публикация
Генерируется обложка через Gemini (с коллажем-референсом лица), сжимается до <2MB, загружается на YouTube вместе с названием и описанием — через API, без ручных действий.
Шаги 7-9: Контент + карточка
Генерируется пост в Telegram-канал и рассылка подписчикам. Всё собирается в карточку публикации: «Всё на YouTube. Что поправить?»
Раньше этот процесс занимал час ручной работы: придумать название, написать описание, сделать обложку в Figma, загрузить, написать пост. Теперь — одна фраза и 5 минут ожидания.
Пример 2: Параллельные агенты для статьи в блог
Когда нужна статья (например, эта), основной Claude запускает несколько агентов параллельно:
# Запускаются одновременно:
Агент researcher (Sonnet) → ищет в вебе, читает документацию,
собирает 12 разделов фактов из 6 официальных источников
Агент explorer (Sonnet) → читает blog/index.php, шаблоны статей,
CSS, htaccess — чтобы знать точный формат публикации
# Когда оба вернулись:
Агент coder (Sonnet) → пишет PHP-файл статьи (1400+ строк)
по точным инструкциям от основного Claude
# Основной Claude:
→ Генерирует OG-картинку через Puppeteer
→ Добавляет в blog/index.php
→ Добавляет RewriteRule в .htaccess
→ git push → Google ping
Ключевой момент: агенты работают параллельно. Пока researcher ищет в вебе, explorer изучает кодовую базу. Основной Claude ждёт обоих, анализирует результаты и только потом даёт точные инструкции кодеру. Разделение ролей = качественный результат.
Пример 3: Skill + MCP + Агент = полная автоматизация
Самая мощная комбинация — когда все три уровня работают вместе:
Реальная цепочка
1. Пользователь пишет: «создай задачу: написать статью про Claude Code»
2. MCP-сервер Singularity создаёт задачу в таск-менеджере
3. Skill blog-article запускает 11-шаговый пайплайн
4. Внутри пайплайна запускаются параллельные агенты (researcher + explorer)
5. Агент coder пишет PHP-файл
6. Основной Claude публикует, пушит в Git и помечает задачу выполненной
Весь путь от «создай задачу» до опубликованной статьи — одна сессия.
Это не теоретический пример — именно так была написана и опубликована эта статья. 10 скиллов, десятки агентов, MCP-интеграции. Все работают вместе через единый интерфейс Claude Code.
Часто Задаваемые Вопросы
Skills — это эволюция custom slash commands. Старый формат (.claude/commands/) продолжает работать, но Skills (.claude/skills/) поддерживают больше возможностей: frontmatter с метаданными, ограничение инструментов, динамический контекст через shell-команды и запуск в изолированном контексте (context: fork).
Haiku — для простых задач (поиск по коду, линтинг): быстро и дёшево. Sonnet — для задач средней сложности (ревью, рефакторинг): хороший баланс. Opus — для сложных задач (архитектурные решения, аудит безопасности): максимальное качество, но дороже.
Да. Проектные Skills (.claude/skills/) хранятся в репозитории и доступны всей команде через Git. Персональные Skills (~/.claude/skills/) работают только у вас. Также можно опубликовать Skill на маркетплейсе для общего доступа.
Нет, у каждого субагента собственное контекстное окно. Он получает только тот промпт, который вы ему передали (или который сгенерировал основной агент). Это обеспечивает изоляцию и позволяет использовать контекстное окно эффективнее.
Claude Code входит в подписку Claude Pro ($20/мес), Max ($100-200/мес) и Team ($30/мес за пользователя). Стоимость зависит от выбранной модели и количества использованных токенов. Субагенты на Haiku обходятся значительно дешевле, чем на Opus.
Команда /mcp внутри Claude Code показывает статус всех подключённых серверов. Команда claude mcp get <name> выводит детали конкретного сервера. Для общей диагностики используйте /doctor. Логи MCP-серверов доступны в терминале, если сервер запущен через stdio.
Да, есть несколько механизмов: поле tools (whitelist разрешённых инструментов), disallowedTools (blacklist запрещённых), permissionMode (уровень доступа), maxTurns (максимальное количество ходов). Это позволяет точно контролировать, что субагент может и не может делать.