# Запуск Claude из командной строки Для автора, у которого есть shell и установлен `claude` (Claude Code CLI). Проверено на Claude Code 2.1.302 (Linux, 2026-10-17): запуск с промптом из stdin, запись отчёта, продолжение по id сессии, фоновая сессия. ## Первый запуск ```bash # D — обменный каталог с готовым brief.md, S — каталог скилла cat "$D/brief.md" "$S/prompts/mandate.md" "$S/prompts/lens-shape.md" \ > "$D/prompt.md" cat "$D/prompt.md" | claude -p --permission-mode auto --model opus \ --effort high --add-dir "$D" --output-format json \ > "$D/out.json" 2> "$D/err.txt" jq -r '.session_id, .result, .is_error' "$D/out.json" ``` - **`--model opus`** — псевдоним последней модели Opus, он не устаревает с выходом новых версий. Глубина ревью — `high`; выше — по просьбе пользователя. - **`--permission-mode auto`** разрешает запускать тесты, ходить в сеть и создавать временные файлы; опасные действия отсекает встроенный классификатор. Исходники защищает мандат. - **`--add-dir "$D"`** разрешает запись отчёта в обменный каталог. - **`--output-format json`** возвращает `session_id` для перепроверки, `result` — финальное сообщение, `modelUsage` — фактическую модель и стоимость для отчёта пользователю. ## Ожидание `claude -p` держит процесс до конца ревью, а это часто дольше 10 минут. Если твой инструмент shell столько не ждёт, есть два пути: - запусти ту же команду фоном средствами своей среды и жди завершения процесса. Появление `out.json` ничего не значит: перенаправление создаёт пустой файл сразу при запуске; - или запусти фоновую сессию самого Claude: ```bash claude --bg --permission-mode auto --model opus --effort high \ --add-dir "$D" "Прочитай $D/prompt.md и выполни." < /dev/null ``` Команда сразу печатает короткий id. Состояние сессии — `claude agents --json --all` (поля `id`, `sessionId`, `state`); жди `state: done`. Сам `REPORT` ревьюер дописывает по ходу, поэтому его появление тоже не признак конца. `claude logs` выдаёт сырой вывод терминала, агенту он бесполезен. Завершённую сессию останавливай `claude stop `. В любом случае перед разбором проверь, что последняя строка `REPORT` — `VERDICT: …`: иначе отчёт неполный. ## Затраты `out.json` содержит `total_cost_usd`, `usage` (токены) и `modelUsage` (разбивка по моделям, включая служебные вызовы). ## Следующие круги Узкая перепроверка или полный проход по новой версии — продолжением той же сессии. Что положить в поручение — в разделе «Следующие круги» SKILL.md. ```bash cat "$D/recheck-prompt.md" | claude -p --resume \ --output-format json > "$D/recheck.json" 2> "$D/recheck-err.txt" ``` Модель сохраняется из первого запуска (проверено: продолжение шло на той же Opus). Режим доступа и глубину заново не задавай; сверь, что `session_id` в ответе совпал с исходным. Для фоновой сессии из `--bg` бери её `sessionId` из `claude agents --json --all`. ## Особенности ревьюеров Claude - Однострочный формат находок держат хуже: бывают многострочные записи и развёрнутые подтверждения. Проверь индекс перед разбором. - Видят картинки: графики, скриншоты, выводы ноутбуков. Если проверяемый результат визуальный, это довод за Claude. - Сильнее в механике кода и форме решения: нереализуемые формулировки, мёртвые заглушки, неудачные имена и границы.