Files
ddadminandClaude Opus 5.5 158075e059 feat(skills): добавлен скилл cross-review для ревью моделью другого семейства
- Зачем: два плейбука оркестрации разошлись, а из них на практике нужно
  только независимое ревью моделью другого семейства.
- Что: линзы для ревьюера (по задаче, по коду, форма и вкус, вычитание,
  план), общий мандат и перепроверка; разбор находок остаётся у автора.
  Механика запуска вынесена в адаптеры: T3 Code, codex exec, claude -p.
  Следующие круги ревью идут продолжением сессии того же ревьюера.
  Старые плейбуки пока не удалены.
- Проверка: запуск, запись отчёта и продолжение сессии прогнаны на
  codex-cli 0.163.0, Claude Code 2.1.302 и в T3 Code; два круга
  ревью скилла (gpt-6.1-sol, gpt-6-astra), находки исправлены; ссылки
  и YAML проверены скриптом.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 16:03:50 +02:00

4.9 KiB
Raw Permalink Blame History

Запуск Claude из командной строки

Для автора, у которого есть shell и установлен claude (Claude Code CLI). Проверено на Claude Code 2.1.302 (Linux, 2026-10-17): запуск с промптом из stdin, запись отчёта, продолжение по id сессии, фоновая сессия.

Первый запуск

# 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:

    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 <id>.

В любом случае перед разбором проверь, что последняя строка REPORT — VERDICT: …: иначе отчёт неполный.

Затраты

out.json содержит total_cost_usd, usage (токены) и modelUsage (разбивка по моделям, включая служебные вызовы).

Следующие круги

Узкая перепроверка или полный проход по новой версии — продолжением той же сессии. Что положить в поручение — в разделе «Следующие круги» SKILL.md.

cat "$D/recheck-prompt.md" | claude -p --resume <session-id> \
  --output-format json > "$D/recheck.json" 2> "$D/recheck-err.txt"

Модель сохраняется из первого запуска (проверено: продолжение шло на той же Opus). Режим доступа и глубину заново не задавай; сверь, что session_id в ответе совпал с исходным. Для фоновой сессии из --bg бери её sessionId из claude agents --json --all.

Особенности ревьюеров Claude

  • Однострочный формат находок держат хуже: бывают многострочные записи и развёрнутые подтверждения. Проверь индекс перед разбором.
  • Видят картинки: графики, скриншоты, выводы ноутбуков. Если проверяемый результат визуальный, это довод за Claude.
  • Сильнее в механике кода и форме решения: нереализуемые формулировки, мёртвые заглушки, неудачные имена и границы.