- Зачем: два плейбука оркестрации разошлись, а из них на практике нужно только независимое ревью моделью другого семейства. - Что: линзы для ревьюера (по задаче, по коду, форма и вкус, вычитание, план), общий мандат и перепроверка; разбор находок остаётся у автора. Механика запуска вынесена в адаптеры: 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>
5.3 KiB
Запуск через T3 Code
Для автора, который работает внутри T3 Code и видит инструменты
orchestrator_capabilities и delegate_task (имена могут идти с префиксом
вроде mcp__t3-code__). Приложение само следит за дочерней задачей, будит
тебя по её завершении, а пользователь видит ход ревью в отдельном разговоре.
Проверено 2026-10-17: Claude → Codex.
Выбор модели
Модель и глубину выбирай по адаптеру семейства ревьюера:
Codex или
Claude. Вызови orchestrator_capabilities,
найди у нужного провайдера эту модель (providerInstanceId, model) и
проверь, что она есть в списке. Ключ глубины у провайдеров разный —
смотри options модели: у Codex это reasoningEffort, у Claude —
effort.
Запуск
Собери prompt.md так же, как для командной строки, и передай его путь:
{
"task": "Прочитай /tmp/…/prompt.md и выполни.",
"target": {
"providerInstanceId": "codex",
"model": "<model>",
"options": { "reasoningEffort": "high" }
},
"role": "review",
"mode": "async",
"title": "cross-review: <что проверяем>",
"clientRequestId": "<уникальный id этого раунда>"
}
isolationне задавай (по умолчанию — общий checkout). Отдельный worktree строится от последнего коммита, и незакоммиченные правки ревьюер не увидит.runtimeModeне задавай. Режимы с подтверждением остановят ревьюера на первом же действии и будут ждать человека в его разговоре. Ограничения задаёт мандат в поручении.- После запуска заверши ход: уведомление о завершении придёт само.
task_statusнужен, только если результат требуется посреди хода. - Итоговое сообщение ревьюера приходит в
summary; полный отчёт — в файлеREPORT.
Следующие круги
Следующие круги — узкую перепроверку и полный проход по новой версии —
отправляй тому же ревьюеру, в его дочерний разговор, когда предыдущая
задача уже завершилась. Это t3_thread_send:
{
"threadId": "<childThreadId из ответа delegate_task>",
"message": "Прочитай /tmp/…/recheck-prompt.md и выполни.",
"mode": "auto",
"clientRequestId": "<уникальный id этого круга>"
}
- В дочернем разговоре появляется новая задача со своим
taskId; по завершении она будит тебя так же, как исходная. Ребёнок помнит свои прошлые ходы (проверено 2026-10-17 на Codex). - Модель, глубина и режим остаются от исходной задачи, поменять их нельзя.
childThreadIdзапиши в реестр сразу после запуска ревью: разговор хранит T3, но его id нужен тебе.- Что положить в поручение круга — в разделе «Следующие круги» SKILL.md.
Свежий ревьюер — новый delegate_task с новым clientRequestId. Когда он
нужен — там же, в SKILL.md. Если продолжить разговор не удалось, в
поручение свежей задачи положи пути к исходному prompt.md, отчёту
ревьюера и своим резолюциям.
Системные инструкции T3 и описание t3_thread_send говорят об этом
по-разному. Первые велят на каждый круг ревью заводить новый
delegate_task и не продолжать делегированное ревью через
t3_thread_send. Второе отдаёт delegate_task независимым кругам, а
продолжение, которому нужен разговор того же ребёнка, отправляет в
childThreadId. Этот скилл намеренно выбирает продолжение: круги ревью
идут по уже набранному контексту ревьюера, а это дешевле и глубже, чем
набирать его заново.
Затраты
T3 сообщает только время выполнения. Токены и стоимость видны в выводе командной строки — см. адаптеры Codex и Claude.