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>
This commit is contained in:
ddadminandClaude Opus 5.5 committed 2026-10-17 16:03:50 +02:00
1 parent 144bc2515b
commit 158075e059
12 files changed
+658

No files matched your search

@@ -0,0 +1,89 @@
# Запуск через T3 Code
Для автора, который работает внутри T3 Code и видит инструменты
`orchestrator_capabilities` и `delegate_task` (имена могут идти с префиксом
вроде `mcp__t3-code__`). Приложение само следит за дочерней задачей, будит
тебя по её завершении, а пользователь видит ход ревью в отдельном разговоре.
Проверено 2026-10-17: Claude → Codex.
## Выбор модели
Модель и глубину выбирай по адаптеру семейства ревьюера:
[Codex](launch-codex.md#первый-запуск) или
[Claude](launch-claude.md#первый-запуск). Вызови `orchestrator_capabilities`,
найди у нужного провайдера эту модель (`providerInstanceId`, `model`) и
проверь, что она есть в списке. Ключ глубины у провайдеров разный —
смотри `options` модели: у Codex это `reasoningEffort`, у Claude —
`effort`.
## Запуск
Собери `prompt.md` так же, как для командной строки, и передай его путь:
```json
{
"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`:
```json
{
"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.