Second-opinion AI skill — iterative code review or parallel brainstorm via Claude + Codex. Vendor-agnostic, works in Claude Code and Codex CLI.
Скилл «второе мнение» — независимая рецензия или параллельный мозговой штурм через Claude CLI + Codex CLI. Vendor-agnostic, работает в Claude Code и Codex.
Итеративная рецензия готового плана или решения. Цикл: партнёр-LLM рецензирует → хост-LLM правит → ре-ревью. До 3 раундов или до APPROVED (нет Critical и Important findings).
/duo # рецензия текущего плана
/duo оцени миграцию на v3 # рецензия с описанием задачи
Параллельный запуск обоих LLM (Claude + Codex) с одинаковой задачей. Хост получает два независимых ответа и синтезирует их в единый план.
/duo pair # параллельный анализ текущей задачи
/duo pair выбор архитектуры # параллельный анализ с темой
- Claude CLI (
claude) — установка: claude.ai/download, авторизация:claude login - Codex CLI (
codex) — установка:npm install -g @openai/codex - bash
Для режима review достаточно одного из CLI (партнёр). Для режима pair нужны оба.
Если codex/claude CLI нужен HTTP-прокси — задайте стандартные переменные окружения HTTPS_PROXY / HTTP_PROXY. Exec-скрипты наследуют их автоматически.
git clone https://github.com/aogoro/duo.gitРепо содержит три папки: .agents/, .claude/, .codex/. Два варианта размещения:
В рабочую папку проекта — скилл виден только в этом проекте:
cd ~/my-project
git clone https://github.com/aogoro/duo.git /tmp/duo-skill
cp -r /tmp/duo-skill/.agents .agents
cp -r /tmp/duo-skill/.claude .claude
cp -r /tmp/duo-skill/.codex .codexВ домашнюю директорию (~/) — скилл глобальный, виден из любого проекта в Claude Code CLI, Cursor, VS Code, desktop-app:
cd ~
git clone https://github.com/aogoro/duo.git /tmp/duo-skill
cp -r /tmp/duo-skill/.agents .agents
cp -r /tmp/duo-skill/.claude .claude
cp -r /tmp/duo-skill/.codex .codexЕсли у вас уже есть
.agents/,.claude/,.codex/с другими скиллами — копируйте только нужные поддиректории (skills/duo/,scripts/).
После установки Claude Code и Codex автоматически подхватывают скилл. Триггеры:
/duo— рецензия текущего плана/duo pair— параллельный мозговой штурм- «обсуди с кодексом», «два мнения», «pair»
Скрипты можно использовать независимо от скилла — как универсальные обёртки для вызова LLM через CLI:
# Вызвать Codex
bash .agents/scripts/codex-exec.sh <workdir> <prompt-file> <output-file> [--model gpt-5.5] [--timeout 600]
# Вызвать Claude
bash .agents/scripts/claude-exec.sh <workdir> <prompt-file> <output-file> [--model claude-opus-4-7] [--timeout 600]Exit codes: 0 = OK, 124 = timeout, прочие = ошибка.
| Статус | Значение |
|---|---|
| APPROVED | Партнёр одобрил — нет Critical и Important findings |
| LIMIT_REACHED | 3 итерации исчерпаны, остались блокирующие замечания |
| REVIEW_INTERRUPTED | Timeout или ошибка обоих backend |
| Статус | Значение |
|---|---|
| PAIR_COMPLETE | Оба партнёра ответили, синтез выполнен |
| PAIR_PARTIAL | Один партнёр не ответил, синтез по живому |
| PAIR_DEGRADED | Оба ответили, но без ожидаемой структуры |
| PAIR_FAILED | Оба не ответили, синтез невозможен |
Скилл построен по 3-tier vendor-agnostic архитектуре:
.agents/skills/duo/ <- Tier 1: канон (vendor-neutral)
REFERENCE.md source of truth — алгоритм, параметры, контракт
prompts/ шаблоны промптов (review-round, pair-task, synthesis)
.agents/scripts/ <- Общие exec-скрипты
codex-exec.sh wrapper для codex exec
claude-exec.sh wrapper для claude -p
.claude/skills/duo/ <- Tier 2: тонкая обёртка Claude Code
SKILL.md ~150 строк: парсинг аргументов + Claude I/O
.codex/skills/duo/ <- Tier 3: тонкая обёртка Codex CLI
SKILL.md ~145 строк: парсинг аргументов + Codex I/O
Канон (.agents/) содержит всю бизнес-логику: алгоритм итераций, fallback-стратегию, валидацию ответов, шаблоны промптов. Он vendor-neutral — не упоминает конкретные tools.
Обёртки (.claude/, .codex/) — тонкие адаптеры. Они маппят vendor-neutral операции на инструменты конкретного хоста и ссылаются на канон, но никогда не дублируют алгоритм.
MIT