The Duel (Face Off) — скилл
Скилл Claude Code: ответ уходит на критику модели OpenAI, Claude защищает его до трех раундов и выдает реестр утверждений
- 75 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Подготовленный пакет с ответом и контекстом уходит на сторонний API OpenAI, перед использованием проверьте его на секреты
- Каждый раунд критика оплачивается по тарифам OpenAI API, обычный прогон делает до трех вызовов
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/the-duel-face-offОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Подготовленный пакет с ответом и контекстом уходит на сторонний API OpenAI, перед использованием проверьте его на секреты
- Каждый раунд критика оплачивается по тарифам OpenAI API, обычный прогон делает до трех вызовов
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Скилл заставляет Claude Code защищать собственный ответ перед второй моделью. Фраза «Duel this with ChatGPT» или команда `/duel` отправляют ответ на критику модели OpenAI через Responses API (по умолчанию `gpt-6-astra`, меняется переменной `DUEL_OPENAI_MODEL` или флагом `--model`). Защитник остается Claude Code: он отбивает то, что выдержало критику, исправляет слабые места и сам пишет итоговый синтез. Дуэль длится до трех раундов, флаг `--quick` оставляет один, `--rounds` принимает 1, 2 или 3. Раунды могут закончиться раньше, если критика не добавляет ничего существенного. В конце приходит исправленный ответ и реестр утверждений со стабильными номерами: сохранено, исправлено, отброшено или нерешено. Уступки видны, спорное остается спорным. Помощник `skills/duel/scripts/duel.py` написан на стандартной библиотеке Python и отправляет только подготовленный пакет с инструкциями критику. Репозиторий и переписка целиком не загружаются, запросы идут с `store: false`, лимит входа 128 КиБ. Без ключа API есть ручной режим: внешняя модель критикует пакет, а вы вставляете ее настоящий ответ обратно. Скилл обязан пометить такой режим и не может выдумывать участие внешней модели.
Для кого. Тем, кто получает от Claude Code аналитику, оценки и рекомендации и хочет проверить их возражениями другой модели до решения.
Подходит, если
- Перед повышением цены или запуском услуги нужен ответ, который прошел критику второй модели
- В техническом плане или обзоре надо найти слабые утверждения и контрпримеры
- Нужен реестр того, какие утверждения выдержали спор, а какие пришлось исправить
- Ключа OpenAI API нет, но внешняя модель доступна вручную, и нужен ручной режим дуэли
Не подходит, если
- Нужна независимая проверка фактов: у дуэли нет нейтрального судьи, итог пишет сам Claude
- Ответ содержит секреты или чувствительные материалы: пакет уходит на сторонний API OpenAI
- Нужна критика по подписке ChatGPT: критик работает только через платный OpenAI API
Пример запроса к агенту
Проведи дуэль с ChatGPT по моему ответу о повышении цены коучинга с 500 до 700 долларов, два раунда.Ограничения
Нужны Claude Code и Python 3.9 или новее. Для критика требуется `OPENAI_API_KEY` в окружении, откуда запущен Claude Code, ключ в чат вставлять нельзя. Ключ Anthropic не нужен: защитник — текущая сессия Claude Code. Обычный прогон делает до трех вызовов критика, `--quick` один, оплата идет по тарифам OpenAI API.
Гарантии правильности итога нет: спор выявляет слабые места и не заменяет проверку каждого факта. Запрос не сохраняется на стороне приложения из-за `store: false`, но нулевое хранение это не гарантирует. Критик не получает инструментов, запись прогонов лежит в каталоге `.duel/`.
Как отключить. Удалите папку `~/.claude/skills/duel` или проектную `.claude/skills/duel`. Для плагина выполните `/plugin uninstall duel-skill@duel-skill`. Каталог `.duel/` с записями прогонов очистите вручную, а ключ `OPENAI_API_KEY` уберите из окружения, если он больше не нужен.
Частые вопросы
Как установить скилл Duel в Claude Code?
Выполните `git clone https://github.com/Jakeschincariol/duel-skill.git`, затем `mkdir -p ~/.claude/skills` и `cp -R duel-skill/skills/duel ~/.claude/skills/duel`. Есть и плагин: `/plugin marketplace add Jakeschincariol/duel-skill` и `/plugin install duel-skill@duel-skill`.
Нужна ли подписка ChatGPT?
Нет, критик идет через платный OpenAI API по ключу `OPENAI_API_KEY`. «ChatGPT» в названии лишь дружеское имя, подписка и приложение не используются.
Сколько раундов в дуэли?
По умолчанию до трех. Флаг `--quick` оставляет один раунд, `--rounds` принимает 1, 2 или 3, а прогон может закончиться раньше, если критика ничего существенного не добавляет.
Что отправляется в OpenAI?
Подготовленный пакет с задачей, ответом, нужным контекстом и инструкциями критика на `https://api.openai.com/v1/responses`. Репозиторий и переписка целиком не отправляются, лимит входа 128 КиБ.
Как работать без ключа API?
Через ручной режим `/duel --manual --quick`: вы сами показываете подготовленный пакет внешней модели и вставляете ее настоящий ответ обратно в Claude.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл Claude Code: когда ответ не устроил, запускает до 100 субагентов в турнир с атаками и защитой и возвращает единственное решение, которое выжило
Плагин Claude Code, который задает один вопрос сразу нескольким моделям и показывает их ответы рядом с разбором согласий и расхождений
Скилл Claude Code передает Codex CLI трудоемкую реализацию, а планирование, ревью и приемку оставляет Claude.
Плагин Claude Code поручает кодинг-задачи агентам Codex, следит за их работой и проверяет результат независимо
Скилл превращает цель в готовый промпт: агент работает циклом строитель плюс критик, пока результат не выиграет слепое сравнение с эталоном
claude-mods ставит в Claude Code 112 скиллов, 3 агента и 3 команды: стеки, запуск агентов, защита, непрерывность сессий.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| The Duel (Face Off) (эта карточка) | нет | 75 | |
| LLM Council | нет | 3 015 | собирает мнения нескольких моделей-советников, этот ставит одного критика против защиты Claude и ведет реестр утверждений |
| Кросс-ревью Claude Code и Codex | нет | 5 | проверяет код через Codex, этот критикует любой ответ Claude моделью OpenAI и возвращает реестр утверждений |
Коротко о README
Описание объясняет, что «ChatGPT» в названии означает критика через OpenAI API, а защитник и автор итога остается Claude Code. Дальше идут установка тремя способами, настройка ключа, шаги раунда, реестр утверждений, правила отправки данных и офлайн-проверки помощника.
Бейдж для README
Исходный SKILL.md
---
name: duel
description: Have an OpenAI model challenge Claude's answer, then defend or revise it through a short evidence-led debate. Use for "duel this with ChatGPT", "face off this answer", or an explicit request for a second model to critique an answer.
---
# Duel — Face Off
Turn a questionable answer into a stronger one by exchanging actual critiques with
an OpenAI model. You are the defender and final editor in the current Claude Code
session. The bundled helper calls the critic through the OpenAI API. Never write
both sides yourself and describe it as two models debating.
## Start with the user's question
- `/duel` uses the last substantive request and the answer the user wants challenged.
- `/duel <task>` drafts an initial answer to that task, then debates it.
- `/duel --quick` allows one critique/revision exchange.
- `/duel --rounds N` allows 1–3 exchanges; default maximum is 3.
- `/duel --model MODEL` selects the critic. Otherwise use `DUEL_OPENAI_MODEL`, then
the helper's default. `/duel --manual` uses critiques the user supplies from a
separate model instead of the API.
Interpret flags as data. Never interpolate raw user arguments into a shell command.
Ask a short clarifying question only if the target request or answer is ambiguous.
Do not broaden the original task. A debate about an action does not authorize
performing that action.
An explicit request to use Duel authorizes its ordinary bounded critique calls.
If you merely suggest Duel during another task, get agreement before sending that
task to another provider. Keep normal tool permissions in force. Briefly tell the
user which model will receive the prepared question, answer, and relevant context,
and the maximum number of calls. OpenAI API usage is billed separately.
## Prepare the exchange
1. Run `python3 "${CLAUDE_SKILL_DIR}/scripts/duel.py" check` (add `--model` when the
user selected one). It checks configuration
without making a network request or printing the API key. A successful check
does not prove the key is valid or the model is accessible.
2. If configuration is missing, explain how to set `OPENAI_API_KEY` in the terminal
environment that launches Claude Code, or offer manual mode. Never ask the user
to paste a key into chat, read credential stores, or quietly substitute a
simulated critic. A different model requires the user's choice if the configured
model fails.
3. Create a unique run folder under `.duel/` in the working project, with private
permissions where supported. Store only the selected task, answer, necessary
context, and debate artifacts there. These can be sensitive: do not commit them
or change the project's ignore rules without authorization. If the project
cannot be written, use a temporary run folder and report its location.
4. Identify the material claims in the initial answer. Assign stable IDs such as
C1, C2, C3. Capture constraints and user-supplied facts separately from guesses.
Include only relevant content authorized for this task, with credentials removed.
Do not collect the whole conversation or scan unrelated project files.
Read [references/protocol.md](references/protocol.md) for the exact packet and file
formats before the first exchange. Write JSON with a file-writing tool or a JSON
serializer. Use distinct filenames for each round and do not overwrite prior runs.
## Run the debate