Перейти к основному содержимому

Claude Code

Делегирование кода CLI Claude Code (функции, PR).

Метаданные навыка​

ИсточникВстроенный (установлен по умолчанию)
Путьskills/autonomous-ai-agents/claude-code
Версия2.2.0
АвторVibeOS + Teknium
ЛицензияMIT
Платформыlinux, macos, windows
ТегиCoding-Agent, Claude, Anthropic, Code-Review, Refactoring, PTY, Automation
Связанные навыкиcodex, vibeos-agent, opencode

Справочник: полный SKILL.md​

к сведению

Ниже приведено полное определение навыка, которое VibeOS загружает при его активации. Это то, что агент видит в качестве инструкций, когда навык активен.

Claude Code — Руководство по оркестрации VibeOS

Делегируйте задачи по коду Claude Code (автономному агенту кода Anthropic через CLI) через терминал VibeOS. Claude Code v2.x может читать файлы, писать код, выполнять команды оболочки, порождать под-агентов и управлять git-рабочими процессами автономно.

Предварительные требования​

  • Установка: npm install -g @anthropic-ai/claude-code
  • Аутентификация: выполните claude один раз для входа (браузерный OAuth для Pro/Max или установите ANTHROPIC_API_KEY)
  • Консольная аутентификация: claude auth login --console для биллинга по API-ключу
  • SSO-аутентификация: claude auth login --sso для Enterprise
  • Проверка статуса: claude auth status (JSON) или claude auth status --text (человекочитаемый)
  • Проверка работоспособности: claude doctor — проверяет автообновление и работоспособность установки
  • Проверка версии: claude --version (требуется v2.x+)
  • Обновление: claude update или claude upgrade

Два режима оркестрации​

VibeOS взаимодействует с Claude Code двумя принципиально разными способами. Выбирайте в зависимости от задачи.

Режим 1: Режим печати (-p) — Неинтерактивный (ПРЕДПОЧТИТЕЛЬНЫЙ для большинства задач)​

Режим печати выполняет одноразовую задачу, возвращает результат и завершается. PTY не требуется. Никаких интерактивных запросов. Это самый чистый путь интеграции.

terminal(command="claude -p 'Добавь обработку ошибок во все API-вызовы в src/' --allowedTools 'Read,Edit' --max-turns 10", workdir="/path/to/project", timeout=120)

Когда использовать режим печати:

  • Одноразовые задачи по коду (исправить баг, добавить функцию, рефакторинг)
  • Автоматизация CI/CD и скриптинг
  • Структурированное извлечение данных с помощью --json-schema
  • Обработка конвейерного ввода (cat file | claude -p "проанализируй это")
  • Любая задача, где не нужен многошаговый диалог

Режим печати пропускает ВСЕ интерактивные диалоги — никаких запросов доверия к рабочей области, никаких подтверждений разрешений. Это делает его идеальным для автоматизации.

Режим 2: Интерактивный PTY через tmux — Многошаговые сессии​

Интерактивный режим предоставляет полноценный диалоговый REPL, где вы можете отправлять последующие запросы, использовать slash-команды и наблюдать за работой Claude в реальном времени. Требует оркестрации tmux.

# Запустить сессию tmux
terminal(command="tmux new-session -d -s claude-work -x 140 -y 40")

# Запустить Claude Code внутри неё
terminal(command="tmux send-keys -t claude-work 'cd /path/to/project && claude' Enter")

# Подождать запуска, затем отправить задачу
# (примерно через 3-5 секунд для экрана приветствия)
terminal(command="sleep 5 && tmux send-keys -t claude-work 'Выполни рефакторинг модуля аутентификации для использования JWT-токенов' Enter")

# Отслеживать прогресс, захватывая панель
terminal(command="sleep 15 && tmux capture-pane -t claude-work -p -S -50")

# Отправить последующие задачи
terminal(command="tmux send-keys -t claude-work 'Теперь добавь модульные тесты для нового JWT-кода' Enter")

# Завершить работу
terminal(command="tmux send-keys -t claude-work '/exit' Enter")

Когда использовать интерактивный режим:

  • Многошаговая итеративная работа (цикл рефакторинг → ревью → исправление → тестирование)
  • Задачи, требующие решений с участием человека
  • Исследовательские сессии кодинга
  • Когда нужно использовать slash-команды Claude (/compact, /review, /model)

Обработка диалогов PTY (КРИТИЧЕСКИ ВАЖНО для интерактивного режима)​

Claude Code отображает до двух диалогов подтверждения при первом запуске. Вы ОБЯЗАНЫ обработать их с помощью tmux send-keys:

Диалог 1: Доверие к рабочей области (первое посещение директории)​

❯ 1. Да, я доверяю этой папке    ← ПО УМОЛЧАНИЮ (просто нажмите Enter)
2. Нет, выйти

Обработка: tmux send-keys -t <session> Enter — выбор по умолчанию верен.

Диалог 2: Предупреждение об обходе разрешений (только с --dangerously-skip-permissions)​

❯ 1. Нет, выйти                    ← ПО УМОЛЧАНИЮ (НЕВЕРНЫЙ выбор!)
2. Да, я принимаю

Обработка: Сначала нужно перейти вниз, затем Enter:

tmux send-keys -t <session> Down && sleep 0.3 && tmux send-keys -t <session> Enter

Надёжный шаблон обработки диалогов​

# Запуск с обходом разрешений
terminal(command="tmux send-keys -t claude-work 'claude --dangerously-skip-permissions \"твоя задача\"' Enter")

# Обработка диалога доверия (Enter для выбора "Да" по умолчанию)
terminal(command="sleep 4 && tmux send-keys -t claude-work Enter")

# Обработка диалога разрешений (Down, затем Enter для выбора "Да, я принимаю")
terminal(command="sleep 3 && tmux send-keys -t claude-work Down && sleep 0.3 && tmux send-keys -t claude-work Enter")

# Теперь ждём, пока Claude работает
terminal(command="sleep 15 && tmux capture-pane -t claude-work -p -S -60")

Примечание: После первого принятия доверия для директории диалог доверия больше не появится. Только диалог разрешений повторяется каждый раз при использовании --dangerously-skip-permissions.

Подкоманды CLI​

ПодкомандаНазначение
claudeЗапустить интерактивный REPL
claude "запрос"Запустить REPL с начальным запросом
claude -p "запрос"Режим печати (неинтерактивный, завершается по окончании)
cat file | claude -p "запрос"Передать содержимое как контекст stdin
claude -cПродолжить последний разговор в этой директории
claude -r "id"Возобновить конкретную сессию по ID или имени
claude auth loginВойти (добавьте --console для биллинга API, --sso для Enterprise)
claude auth statusПроверить статус входа (возвращает JSON; --text для человекочитаемого)
claude mcp add &lt;имя&gt; -- &lt;команда&gt;Добавить MCP-сервер
claude mcp listСписок настроенных MCP-серверов
claude mcp remove &lt;имя&gt;Удалить MCP-сервер
claude agentsСписок настроенных агентов
claude doctorЗапустить проверки работоспособности установки и автообновления
claude update / claude upgradeОбновить Claude Code до последней версии
claude remote-controlЗапустить сервер для управления Claude из claude.ai или мобильного приложения
claude install [цель]Установить нативную сборку (стабильную, последнюю или конкретную версию)
claude setup-tokenНастроить долгоживущий токен аутентификации (требуется подписка)
claude plugin / claude pluginsУправление плагинами Claude Code
claude auto-modeПросмотр конфигурации классификатора автоматического режима

Углублённое изучение режима печати​

Структурированный JSON-вывод​

terminal(command="claude -p 'Проанализируй auth.py на предмет проблем безопасности' --output-format json --max-turns 5", workdir="/project", timeout=120)

Возвращает JSON-объект с:

{
"type": "result",
"subtype": "success",
"result": "Текст анализа...",
"session_id": "75e2167f-...",
"num_turns": 3,
"total_cost_usd": 0.0787,
"duration_ms": 10276,
"stop_reason": "end_turn",
"terminal_reason": "completed",
"usage": { "input_tokens": 5, "output_tokens": 603, ... },
"modelUsage": { "claude-sonnet-4-6": { "costUSD": 0.078, "contextWindow": 200000 } }
}

Ключевые поля: session_id для возобновления, num_turns для подсчёта циклов агента, total_cost_usd для отслеживания расходов, subtype для определения успеха/ошибки (success, error_max_turns, error_budget).

Потоковый JSON-вывод​

Для потоковой передачи токенов в реальном времени используйте stream-json с --verbose:

terminal(command="claude -p 'Напиши краткое содержание' --output-format stream-json --verbose --include-partial-messages", timeout=60)

Возвращает события JSON, разделённые новой строкой. Фильтруйте с помощью jq для живого текста:

claude -p "Объясни X" --output-format stream-json --verbose --include-partial-messages | \
jq -rj 'select(.type == "stream_event" and .event.delta.type? == "text_delta") | .event.delta.text'

События потока включают system/api_retry с полями attempt, max_retries и error (например, rate_limit, billing_error).

Двунаправленная потоковая передача​

Для потоковой передачи ввода И вывода в реальном времени:

claude -p "задача" --input-format stream-json --output-format stream-json --replay-user-messages

--replay-user-messages повторно отправляет сообщения пользователя в stdout для подтверждения.

Конвейерный ввод​

# Передать файл для анализа
terminal(command="cat src/auth.py | claude -p 'Проверь этот код на наличие багов' --max-turns 1", timeout=60)

# Передать несколько файлов
terminal(command="cat src/*.py | claude -p 'Найди все TODO-комментарии' --max-turns 1", timeout=60)

# Передать вывод команды
terminal(command="git diff HEAD~3 | claude -p 'Обобщи эти изменения' --max-turns 1", timeout=60)

JSON-схема для структурированного извлечения​

terminal(command="claude -p 'Перечисли все функции в src/' --output-format json --json-schema '{\"type\":\"object\",\"properties\":{\"functions\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"functions\"]}' --max-turns 5", workdir="/project", timeout=90)

Извлеките structured_output из JSON-результата. Claude проверяет вывод на соответствие схеме перед возвратом.

Продолжение сессии​

# Начать задачу
terminal(command="claude -p 'Начни рефакторинг слоя базы данных' --output-format json --max-turns 10 > /tmp/session.json", workdir="/project", timeout=180)

# Возобновить с ID сессии
terminal(command="claude -p 'Продолжи и добавь пул соединений' --resume $(cat /tmp/session.json | python3 -c 'import json,sys; print(json.load(sys.stdin)[\"session_id\"])') --max-turns 5", workdir="/project", timeout=120)

# Или возобновить последнюю сессию в той же директории
terminal(command="claude -p 'Что ты делал в прошлый раз?' --continue --max-turns 1", workdir="/project", timeout=30)

# Разветвить сессию (новый ID, сохраняется история)
terminal(command="claude -p 'Попробуй другой подход' --resume <id> --fork-session --max-turns 10", workdir="/project", timeout=120)

Голый режим для CI/скриптов​

terminal(command="claude --bare -p 'Запусти все тесты и сообщи о сбоях' --allowedTools 'Read,Bash' --max-turns 10", workdir="/project", timeout=180)

--bare пропускает хуки, плагины, обнаружение MCP и загрузку CLAUDE.md. Самый быстрый запуск. Требует ANTHROPIC_API_KEY (пропускает OAuth).

Для выборочной загрузки контекста в голом режиме:

Чтобы загрузитьФлаг
Дополнения к системному запросу--append-system-prompt "текст" или --append-system-prompt-file путь
Настройки--settings &lt;файл-или-json&gt;
MCP-серверы--mcp-config &lt;файл-или-json&gt;
Пользовательские агенты--agents '&lt;json&gt;'

Резервная модель при перегрузке​

terminal(command="claude -p 'задача' --fallback-model haiku --max-turns 5", timeout=90)

Автоматически переключается на указанную модель, когда модель по умолчанию перегружена (только режим печати).

Полный справочник флагов CLI​

Сессия и окружение​

ФлагДействие
-p, --printНеинтерактивный одноразовый режим (завершается по окончании)
-c, --continueВозобновить последний разговор в текущей директории
-r, --resume &lt;id&gt;Возобновить конкретную сессию по ID или имени (интерактивный выбор, если ID не указан)
--fork-sessionПри возобновлении создать новый ID сессии вместо повторного использования исходного
--session-id &lt;uuid&gt;Использовать конкретный UUID для разговора
--no-session-persistenceНе сохранять сессию на диск (только режим печати)
--add-dir &lt;пути...&gt;Предоставить Claude доступ к дополнительным рабочим директориям
-w, --worktree [имя]Запустить в изолированном git worktree в .claude/worktrees/&lt;имя&gt;
--tmuxСоздать сессию tmux для worktree (требует --worktree)
--ideАвтоматически подключиться к действующей IDE при запуске
--chrome / --no-chromeВключить/отключить интеграцию с браузером Chrome для веб-тестирования
--from-pr [номер]Возобновить сессию, связанную с конкретным GitHub PR
--file &lt;спецификации...&gt;Файловые ресурсы для загрузки при запуске (формат: file_id:относительный_путь)

Модель и производительность​

ФлагДействие
--model &lt;псевдоним&gt;Выбор модели: sonnet, opus, haiku или полное имя, например claude-sonnet-4-6
--effort &lt;уровень&gt;Глубина рассуждений: low, medium, high, max, auto
--max-turns &lt;n&gt;Ограничить циклы агента (только режим печати; предотвращает бесконечный цикл)
--max-budget-usd &lt;n&gt;Ограничить расходы API в долларах (только режим печати)
--fallback-model &lt;модель&gt;Автоматический переход при перегрузке модели по умолчанию (только режим печати)
--betas &lt;бета-версии...&gt;Бета-заголовки для включения в API-запросы (только для пользователей API-ключа)

Разрешения и безопасность​

ФлагДействие
--dangerously-skip-permissionsАвтоматически одобрять ВСЕ использование инструментов (запись файлов, bash, сеть и т.д.)
--allow-dangerously-skip-permissionsВключить обход как опцию, не включая его по умолчанию
--permission-mode &lt;режим&gt;default, acceptEdits, plan, auto, dontAsk, bypassPermissions
--allowedTools &lt;инструменты...&gt;Белый список конкретных инструментов (через запятую или пробел)
--disallowedTools &lt;инструменты...&gt;Чёрный список конкретных инструментов
--tools &lt;инструменты...&gt;Переопределить встроенный набор инструментов ("" = нет, "default" = все, или имена инструментов)

Формат вывода и ввода​

ФлагДействие
--output-format &lt;формат&gt;text (по умолчанию), json (один объект результата), stream-json (разделение новой строкой)
--input-format &lt;формат&gt;text (по умолчанию) или stream-json (потоковый ввод в реальном времени)
--json-schema &lt;схема&gt;Принудительный структурированный JSON-вывод, соответствующий схеме
--verboseПолный вывод пошагово
--include-partial-messagesВключать частичные фрагменты сообщений по мере их поступления (stream-json + print)
--replay-user-messagesПовторно отправлять сообщения пользователя в stdout (двунаправленный stream-json)

Системный запрос и контекст​

ФлагДействие
--append-system-prompt &lt;текст&gt;Добавить к системному запросу по умолчанию (сохраняет встроенные возможности)
--append-system-prompt-file &lt;путь&gt;Добавить содержимое файла к системному запросу по умолчанию
--system-prompt &lt;текст&gt;Заменить весь системный запрос (обычно используйте --append)
--system-prompt-file &lt;путь&gt;Заменить системный запрос содержимым файла
--bareПропустить хуки, плагины, обнаружение MCP, CLAUDE.md, OAuth (самый быстрый запуск)
--agents '&lt;json&gt;'Динамически определить пользовательские под-агенты в формате JSON
--mcp-config &lt;путь&gt;Загрузить MCP-серверы из JSON-файла (можно повторять)
--strict-mcp-configИспользовать только MCP-серверы из --mcp-config, игнорируя все остальные конфигурации MCP
--settings &lt;файл-или-json&gt;Загрузить дополнительные настройки из JSON-файла или встроенного JSON
--setting-sources &lt;источники&gt;Источники для загрузки через запятую: user, project, local
--plugin-dir &lt;пути...&gt;Загрузить плагины из директорий только для этой сессии
--disable-slash-commandsОтключить все навыки/slash-команды

Отладка​

ФлагДействие
-d, --debug [фильтр]Включить отладочное логирование с опциональным фильтром категорий (например, "api,hooks", "!1p,!file")
--debug-file &lt;путь&gt;Записывать отладочные логи в файл (неявно включает режим отладки)

Команды агентов​

ФлагДействие
--teammate-mode &lt;режим&gt;Как отображаются команды агентов: auto, in-process или tmux
--briefВключить инструмент SendUserMessage для связи агента с пользователем

Синтаксис имён инструментов для --allowedTools / --disallowedTools​

Read                    # Всё чтение файлов
Edit # Редактирование файлов (существующие файлы)
Write # Создание файлов (новые файлы)
Bash # Все команды оболочки
Bash(git *) # Только git-команды
Bash(git commit *) # Только команды git commit
Bash(npm run lint:*) # Сопоставление с шаблоном с подстановочными знаками
WebSearch # Возможность веб-поиска
WebFetch # Получение веб-страниц
mcp__<сервер>__<инструмент> # Конкретный MCP-инструмент

Настройки и конфигурация​

Иерархия настроек (от высшего к низшему приоритету)​

  1. Флаги CLI — переопределяют всё
  2. Локальный проект: .claude/settings.local.json (личные, в gitignore)
  3. Проект: .claude/settings.json (общие, отслеживаются git)
  4. Пользователь: ~/.claude/settings.json (глобальные)

Разрешения в настройках​

{
"permissions": {
"allow": ["Bash(npm run lint:*)", "WebSearch", "Read"],
"ask": ["Write(*.ts)", "Bash(git push*)"],
"deny": ["Read(.env)", "Bash(rm -rf *)"]
}
}

Иерархия файлов памяти (CLAUDE.md)​

  1. Глобальный: ~/.claude/CLAUDE.md — применяется ко всем проектам
  2. Проект: ./CLAUDE.md — контекст, специфичный для проекта (отслеживается git)
  3. Локальный: .claude/CLAUDE.local.md — личные переопределения проекта (в gitignore)

Используйте префикс # в интерактивном режиме для быстрого добавления в память: # Всегда используй отступ в 2 пробела.

Интерактивная сессия: Slash-команды​

Сессия и контекст​

КомандаНазначение
/helpПоказать все команды (включая пользовательские и MCP-команды)
/compact [фокус]Сжать контекст для экономии токенов; CLAUDE.md сохраняется при сжатии. Например: /compact focus on auth logic
/clearОчистить историю разговора для свежего старта
/contextВизуализировать использование контекста в виде цветной сетки с советами по оптимизации
/costПросмотреть использование токенов с разбивкой по моделям и попаданиям в кэш
/resumeПереключиться на другую сессию или возобновить её
/rewindОткатиться к предыдущей контрольной точке в разговоре или коде
/btw &lt;вопрос&gt;Задать побочный вопрос без увеличения стоимости контекста
/statusПоказать версию, подключение и информацию о сессии
/todosСписок отслеживаемых пунктов действий из разговора
/exit или Ctrl+DЗавершить сессию

Разработка и ревью​

КомандаНазначение
/reviewЗапросить ревью кода текущих изменений
/security-reviewВыполнить анализ безопасности текущих изменений
/plan [описание]Войти в режим планирования с автоматическим запуском для планирования задач
/loop [интервал]Запланировать повторяющиеся задачи в рамках сессии
/batchАвтоматически создавать worktree для больших параллельных изменений (5-30 worktree)

Конфигурация и инструменты​

КомандаНазначение
/model [модель]Переключить модели в середине сессии (используйте стрелки для настройки усилий)
/effort [уровень]Установить уровень усилий рассуждений: low, medium, high, max или auto
/initСоздать файл CLAUDE.md для памяти проекта
/memoryОткрыть CLAUDE.md для редактирования
/configОткрыть интерактивную конфигурацию настроек
/permissionsПросмотреть/обновить разрешения инструментов
/agentsУправлять специализированными под-агентами
/mcpИнтерактивный интерфейс для управления MCP-серверами
/add-dirДобавить дополнительные рабочие директории (полезно для монорепозиториев)
/usageПоказать лимиты плана и статус ограничения скорости
/voiceВключить голосовой режим push-to-talk (20 языков; удерживайте Space для записи, отпустите для отправки)
/release-notesИнтерактивный выбор примечаний к выпуску версии

Пользовательские slash-команды​

Создайте .claude/commands/&lt;имя&gt;.md (общие для проекта) или ~/.claude/commands/&lt;имя&gt;.md (личные):

# .claude/commands/deploy.md
Запустить конвейер развёртывания:
1. Запустить все тесты
2. Собрать Docker-образ
3. Отправить в реестр
4. Обновить окружение $ARGUMENTS (по умолчанию: staging)

Использование: /deploy production — $ARGUMENTS заменяется на ввод пользователя.

Навыки (вызов на естественном языке)​

В отличие от slash-команд (вызываемых вручную), навыки в .claude/skills/ — это markdown-руководства, которые Claude вызывает автоматически через естественный язык, когда задача соответствует:

# .claude/skills/database-migration.md
Когда вас просят создать или изменить миграции базы данных:
1. Используйте Alembic для генерации миграций
2. Всегда создавайте функцию отката
3. Тестируйте миграции на локальной копии базы данных

Интерактивная сессия: Сочетания клавиш​

Общие элементы управления​

КлавишаДействие
Ctrl+CОтменить текущий ввод или генерацию
Ctrl+DЗавершить сессию
Ctrl+RОбратный поиск по истории команд
Ctrl+BОтправить выполняющуюся задачу в фон
Ctrl+VВставить изображение в разговор
Ctrl+OРежим транскрипта — увидеть мыслительный процесс Claude
Ctrl+G или Ctrl+X Ctrl+EОткрыть запрос во внешнем редакторе
Esc EscОткатить разговор или состояние кода / обобщить

Переключение режимов​

КлавишаДействие
Shift+TabЦиклическое переключение режимов разрешений (Normal → Auto-Accept → Plan)
Alt+PПереключить модель
Alt+TПереключить режим мышления
Alt+OПереключить быстрый режим

Многострочный ввод​

КлавишаДействие
\ + EnterБыстрый перевод строки
Shift+EnterПеревод строки (альтернатива)
Ctrl+JПеревод строки (альтернатива)

Префиксы ввода​

ПрефиксДействие
!Выполнить bash напрямую, минуя ИИ (например, !npm test). Используйте ! отдельно для переключения в режим оболочки.
@Ссылаться на файлы/директории с автодополнением (например, @./src/api/)
#Быстрое добавление в память CLAUDE.md (например, # Используй отступ в 2 пробела)
/Slash-команды

Про-совет: «ultrathink»​

Используйте ключевое слово «ultrathink» в вашем запросе для максимального усилия рассуждений на конкретном шаге. Это запускает самый глубокий режим мышления независимо от текущей настройки /effort.

Шаблон ревью PR​

Быстрое ревью (режим печати)​

terminal(command="cd /path/to/repo && git diff main...feature-branch | claude -p 'Проверь этот diff на наличие багов, проблем безопасности и проблем со стилем. Будь тщательным.' --max-turns 1", timeout=60)

Глубокое ревью (интерактивный + Worktree)​

terminal(command="tmux new-session -d -s review -x 140 -y 40")
terminal(command="tmux send-keys -t review 'cd /path/to/repo && claude -w pr-review' Enter")
terminal(command="sleep 5 && tmux send-keys -t review Enter") # Диалог доверия
terminal(command="sleep 2 && tmux send-keys -t review 'Проверь все изменения относительно main. Ищи баги, проблемы безопасности, состояния гонки и отсутствующие тесты.' Enter")
terminal(command="sleep 30 && tmux capture-pane -t review -p -S -60")

Ревью PR по номеру​

terminal(command="claude -p 'Проверь этот PR тщательно' --from-pr 42 --max-turns 10", workdir="/path/to/repo", timeout=120)

Claude Worktree с tmux​

terminal(command="claude -w feature-x --tmux", workdir="/path/to/repo")

Создаёт изолированный git worktree в