К основному содержанию
скилл CX Codex

oracle · steipete — скилл для Claude Code: что делает и как установить

Собирает файлы репозитория с промптом в один запрос и отправляет другой модели через браузер или API для независимого ревью кода.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add steipete/oracle --skill oracle -a claude-code
Открыть на GitHub

Что делает oracle

Скилл упаковывает контекст проекта и передаёт его внешней модели — например, GPT-5.6 через интерфейс ChatGPT или через API. Это даёт независимый взгляд со стороны на отладку, рефакторинг и архитектурные решения. Ответы второй модели носят рекомендательный характер, поэтому их всегда нужно перепроверять на тестах.

Для выбора контекста используется параметр --file, куда можно передавать пути, папки и маски исключений через восклицательный знак. Скилл автоматически отсекает node_modules, сборки и служебные каталоги, а также соблюдает правила .gitignore. Файлы крупнее 1 МБ отклоняются по умолчанию, чтобы не раздувать контекст выше лимита около 196k токенов.

Если переменная OPENAI_API_KEY не задана, инструмент автоматически переключается на управление браузером. Для прямого доступа к API потребуется отдельное подтверждение пользователя из-за потенциальных расходов на токены. Секретные ключи и файлы .env передавать нельзя, инструмент требует исключать их из выборки.

Какие задачи решает

  • передать код из src/ на независимое ревью во вторую модель
  • упаковать файлы проекта без тестов и артефактов сборки в единый промпт
  • проверить сложный рефакторинг через веб-интерфейс GPT-5.6
  • оценить расход токенов перед отправкой контекста через предварительный прогон

Примеры запросов агенту

  • Проверь архитектуру компонентов в src/** через oracle с помощью модели GPT-5.6 Sol в браузере.
  • Запусти предварительный просмотр бандла через oracle с ключом --dry-run summary для файлов из папки src/.
  • Отправь код из src/**, исключая тесты через !**/*.test.*, на ревью во вторую модель.

Как установить oracle

1Через Skills CLI (Vercel)

npx skills add steipete/oracle --skill oracle -a claude-code

2Вручную: положить файлы

~/.claude/skills/oracle/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/oracle/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Другие версии oracle

Похожие

indexion-identity trkbt10 Скилл проверяет, совпадают ли имена функций, файлов и папок с их содержимым, и планирует переименования. Пригодится при рефакторинге. CX Codex +1 4 900установок codex Hermes Agent Скилл делегирует задачи кодирования агенту OpenAI Codex через CLI. Подойдёт, если нужно автоматизировать фичи, рефакторинг, ревью PR или массовое исправление багов прямо из терминала. CX Codex +1 414установок thermo-nuclear-code-quality-review cursor Строго проверяет поддерживаемость кода, качество абстракций и рост условной логики. Нужен для глубокого аудита изменений и структуры проекта. CX Codex +1 22 200установок simplify brianlovin Переписывает код, который вы только что написали: снимает лишнюю вложенность, дубли и неудачные имена. Поведение программы остаётся прежним. CX Codex +1 20 100установок clanker-discipline gbasin Скилл устраняет раздувание состояния в коде от ИИ-агентов. Он помогает на код-ревью типов, опциональных полей и функций с мутациями. CX Codex +1 7 500установок clean-code davila7 Задаёт агенту правила чистого кода: короткие функции, понятные имена, никаких очевидных комментариев и лишних абстракций. Пригодится, когда агент пишет рабочий код, а не учебник. 7 176установок

Рядом в теме «Код-ревью и рефакторинг»

Всё по теме «Код-ревью и рефакторинг» →

Вопросы о oracle

Как установить oracle в Claude Code?

Выполните команду npx skills add steipete/oracle --skill oracle -a claude-code. Файлы скилла сохранятся в ~/.claude/skills/oracle/SKILL.md.

Что делает oracle?

Он собирает выбранные файлы проекта и задачу в единый пакет, чтобы отправить его на проверку другой модели через API или браузер. Это помогает получить альтернативное мнение по багам или дизайну архитектуры.

Чем браузерный режим отличается от API?

Браузерный режим работает через открытую сессию ChatGPT или Gemini без прямых затрат на вызовы API. Режим API включается автоматически при наличии ключа OPENAI_API_KEY и запрашивает согласие пользователя перед отправкой платных запросов.

Исходный текст

SKILL.md · MIT
---
name: oracle
description: "Oracle second-model review: bundle prompts/files, debug, refactor, design."
---

# Oracle (CLI) — best use

Oracle bundles a prompt and selected files into a one-shot request so another
model can answer with real repository context through the API or browser. A
prompt is required; attach files only when they add necessary context. Treat
responses as advisory and verify them against the codebase and tests.

## Main use case (browser, GPT-5.6)

Use browser mode with GPT-5.6 when the ChatGPT account exposes it. GPT-5.6 Sol
and GPT-5.6 Sol Pro are distinct targets: base Sol uses the Extra High effort
setting, while Pro is a separate picker target for difficult or long-running
work.

Recommended defaults:

- Engine: browser (`--engine browser`)
- Base Sol: `--model gpt-5.6-sol`
- Base Sol maximum reasoning: `--browser-thinking-time extra-high` (Extra High)
- Explicit Pro effort on GPT-5.6 Sol: `--browser-thinking-time pro` (fails closed if Pro cannot be confirmed)
- Browser GPT-5.5 with Pro effort: `--model gpt-5.5 --browser-thinking-time pro`
- API Pro maximum reasoning: `--model gpt-5.6-sol --reasoning-mode pro --reasoning-effort max`
- Fallback: explicitly use `--model gpt-5.5-pro` when GPT-5.6 is unavailable
- Attachments: directories/globs plus excludes; never attach secrets by default

GPT-5.6 availability is account-dependent. Confirm the base Sol picker and
retain model-selection evidence. A bare `Pro` picker label proves picker
selection but does not, by itself, prove the server-side Pro generation.

## GPT-5.6 model selection

This version supports GPT-5.6 on both surfaces, but Pro selection differs:

- `gpt-5.6`: follow the GPT-5.6 family default
- `gpt-5.6-sol`: pin ChatGPT's `GPT-5.6 Sol` entry
- Browser: `gpt-5-pro` selects ChatGPT's `Pro` target
- API: `--reasoning-mode pro` enables Pro execution on `gpt-5.6-sol`; pair it with `--reasoning-effort max` for maximum reasoning

For base Sol, use:

```bash
oracle --engine browser --browser-manual-login --model gpt-5.6-sol \
  --browser-thinking-time extra-high \
  -p "<task>" --file "src/**"
```

For GPT-5.6 Sol Pro through the Responses API, use:

```bash
oracle --engine api --model gpt-5.6-sol \
  --reasoning-mode pro \
  --reasoning-effort max \
  -p "<task>" --file "src/**"
```

Do not use `--model "GPT-5.6 Sol Pro"`. Pro is intentionally handled as a
browser picker target and an API reasoning mode. Browser label validation rejects unknown future
variants such as `gpt-5.6-luna` instead of silently falling back to Sol; API
runs preserve such provider model IDs unchanged.

Browser mode maps these aliases to ChatGPT's Sol picker. API and multi-model
runs preserve the corresponding first-party OpenAI model IDs; provider-qualified
and unrelated custom IDs remain pass-through values.

The GPT-5.6 browser support depends on the unified Intelligence picker. It
recognizes the current English and Chinese effort labels, avoids matching
`高` inside `极高`, and re-queries the composer pill after React replaces it so
selection verification cannot rely on a detached stale node.

## Compatibility with npm 0.15.2

Do not pass `gpt-5.6` or `gpt-5.6-sol` to an unpatched npm 0.15.2 install. That
release can normalize those labels to `gpt-5.2`. Use the explicit fallback:

```bash
npx -y @steipete/[email protected] --engine browser --model gpt-5.5-pro \
  -p "<task>" --file "src/**"
```

After upgrading to a release containing the GPT-5.6 model-selection and
unified-picker changes, verify all of the following before removing the
fallback guidance: `--help --verbose` exposes the new options, browser dry-run
resolves both aliases to GPT-5.6 Sol, API routing selects first-party OpenAI,
and a live browser run records strict GPT-5.6 selection evidence.

## Golden path

1. Pick the smallest file set that still contains the truth.
2. Preview the bundle with `--dry-run` and `--files-report`.
3. Use browser mode for GPT-5.6; use API only when explicitly intended.
4. If a run detaches or times out, reattach to the stored session instead of
   starting a duplicate.

## Commands

- Show help:
  - `npx -y @steipete/oracle --help --verbose`

- Preview without calling a model:
  - `npx -y @steipete/oracle --dry-run summary -p "<task>" --file "src/**" --file "!**/*.test.*"`
  - `npx -y @steipete/oracle --dry-run full -p "<task>" --file "src/**"`

- Inspect token usage:
  - `npx -y @steipete/oracle --dry-run summary --files-report -p "<task>" --file "src/**"`

- Browser run:
  - `oracle --engine browser --browser-manual-login --model gpt-5.6-sol --browser-thinking-time extra-high -p "<task>" --file "src/**"`

- Manual paste fallback:
  - `npx -y @steipete/oracle --render-markdown --copy-markdown -p "<task>" --file "src/**"`
  - `--render` is an alias for `--render-markdown`.

- Performance trace:
  - `npx -y @steipete/oracle --perf-trace --perf-trace-path /tmp/oracle-perf.json --dry-run summary -p "<task>" --file "src/**"`

## Attaching files

`--file` accepts files, directories, and globs. Pass it multiple times or use
comma-separated entries.

- Include: `--file "src/**"`, `--file src/index.ts`, `--file docs --file README.md`
- Exclude: prefix a pattern with `!`, for example `--file "!src/**/*.test.ts"`
- Default ignored directories: `node_modules`, `dist`, `coverage`, `.git`,
  `.turbo`, `.next`, `build`, and `tmp`
- Globs honor `.gitignore` and do not follow symlinks.
- Dotfiles require an explicit dot-segment in the pattern, such as
  `--file ".github/**"`.
- Files over 1 MB are rejected by default; configure
  `ORACLE_MAX_FILE_SIZE_BYTES` or `maxFileSizeBytes` when necessary.

Keep total input under roughly 196k tokens. Use `--files-report` or
`--dry-run json` to identify oversized inputs. Never attach `.env` files,
private keys, auth tokens, or other secrets unless they have been redacted and
are essential to the question.

## Engines and browser controls

- Auto-selection uses API when `OPENAI_API_KEY` is set and browser otherwise.
- Browser supports GPT models through ChatGPT and Gemini models through Gemini
  web. API-only models include `gpt-5.1-codex`.
- Current model families include GPT-5.5/5.4/5.2/5.1, Gemini 3.x, and Claude
  4.x; availability depends on engine and provider.
- API runs require explicit user consent because they may incur usage costs.
- Browser attachments use `--browser-attachments auto|never|always`.
- Browser uploads keep one text/source file native and bundle multiple
  text/source files. `auto` keeps flattened text for text-only uploads; use
  `--browser-bundle-format zip` for a filesystem tree, or `--browser-bundle-files`
  to force every resolved attachment into one bundle.
- Reuse an existing Chrome session with `--browser-tab <ref>`,
  `--browser-attach-running`, or `--remote-chrome <host:port>`.
- Add `--browser-no-focus` (config `browser.noFocus`) to keep Chrome in the
  background during launch, new tabs, and send. When
  focus emulation is available, an ordinary run does not steal keyboard focus
  or switch macOS Spaces; if it cannot be enabled, Oracle tries to bring
  Chrome forward before clicking. A reattach that falls back to relaunching
  Chrome can still activate it.
- Use `--browser-model-strategy select|current|ignore` to control picker
  behavior.
- Use `--browser-follow-up "<prompt>"` for another turn in the same browser
  conversation, or `--followup <sessionId|responseId>` for a stored run.
- Use `--browser-research deep` only when Deep Research is explicitly wanted.

## API preflight

Before an API run, check provider readiness without printing secrets:

```bash
oracle doctor --providers --models gpt-5.4,claude-4.6-sonnet,gemini-3-pro
oracle --preflight --models gpt-5.4,gemini-3-pro
oracle --route --model gpt-5.4
```

Use `--provider openai` or `--no-azure` when first-party OpenAI routing is
required. For multi-model panels where partial success is useful, use
`--allow-partial --write-output <path>` so successful outputs and the manifest
can be recovered.

Set an explicit deadline for automation, for example `--timeout 10m`; Oracle
derives the HTTP timeout unless `--http-timeout` is supplied.

## Sessions and recovery

- Sessions are stored under `~/.oracle/sessions`; override with
  `ORACLE_HOME_DIR`.
- Browser artifacts include `transcript.md` and, when available, research
  reports and generated images.
- List recent sessions with `oracle status --hours 72`.
- Attach with `oracle session <id> --render`.
- Use `--slug "<3-5 words>"` for readable session IDs.
- If a run times out, reattach; do not re-run it. Use `--force` only when a
  genuinely new identical run is intended.
- Successful non-project browser one-shots are archived automatically by
  default; override with `--browser-archive never|always`.

## Prompt template

Oracle starts with zero project knowledge. Include:

- Project briefing: stack, services, build/test commands, and platform constraints
- Where things live: entrypoints, configs, key modules, and dependency boundaries
- Exact question, prior attempts, and verbatim error text
- Constraints such as API compatibility, performance budgets, and files not to change
- Desired output such as a patch plan, tests, risk list, or tradeoff comparison

For a long investigation, make the prompt restorable: put a 6–30 sentence
briefing at the top, concrete reproduction and errors in the middle, and attach
all context files required by a fresh model at the bottom. Oracle runs are
one-shot; the model does not remember prior runs.

© steipete · MIT · steipete/oracle

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой