codex-update
Install or update the upstream openai/codex-plugin-cc to the pinned tag
First-run wizard — pick AI providers, walk through CLI install + auth, verify each, save settings
> /plugin marketplace add dysfunc/ai-plugins-ccHow it fires
How this command gets triggered: by you, by Claude, or both.
/setupContext preview
What this command does when you run it.
First-run wizard — pick AI providers, walk through CLI install + auth, verify each, save settings
description: First-run wizard — pick AI providers, walk through CLI install + auth, verify each, save settings allowed-tools: Bash(node:*), Bash(npm:*), AskUserQuestion
You are walking the user through first-time setup of `@ai-plugins-cc/ai`. Be efficient and decisive — they want to be done, not lectured.
Before running the bash probe, create a task so the user sees a friendly progress spinner instead of a blank "thinking" pause:
TaskCreate(subject="Probe AI providers", activeForm="Probing AI providers") TaskUpdate(taskId=<id>, status="in_progress")
Then run:
node "${CLAUDE_PLUGIN_ROOT}/scripts/ai-companion.mjs" setupMark the task `completed` once the bash returns. Use the same TaskCreate pattern for any other long-running probe step (CLI installs, codex-update). Keep `activeForm` short and concrete — it shows in the spinner area as the user waits.
The non-JSON form prints a 5-7 line human-readable summary, one line per provider. Format: `- <id> [<tags>] (enabled|disabled): <detail>`. The `<detail>` field is one of:
If every enabled provider's `<detail>` is `ready`, tell the user setup is already complete and offer `/ai:settings` if they want to change anything. Stop.
When you need structured fields (`available`, `loggedIn`, `pluginInstalled`, raw probe output) for a specific provider during the per-provider walkthrough, run `node "${CLAUDE_PLUGIN_ROOT}/scripts/ai-companion.mjs" verify --provider=<id> --json` — that returns the single-provider blob without dumping all three. Avoid `setup --json` unless you genuinely need the full multi-provider snapshot; its output is ~100 lines and clutters the chat.
Use `AskUserQuestion` once with `multiSelect: true`. Options are the entries in `knownProviders`. Pre-select any provider whose probe shows `ready: true`. Suggested copy:
> Which AI providers do you want to enable? Pick any combination — you can change this later with `/ai:settings`.
Append `(Recommended)` to **every** option that has a viable default auth path on the local machine — that's all three of `gemini`, `grok`, and `codex`. They each install in seconds and have a clear default credential (Google API key / OAuth, xAI API key, ChatGPT login). Don't single one out as "the" recommendation — the umbrella works best with all three, and the user is the only one who knows which providers they pay for.
For each selected provider, follow the matching block below. Run them in the order the user picked.
For each selected provider:
> **Important:** the umbrella plugin (`ai@ai-plugins-cc`) ships bundled fallback runtimes for Gemini and Grok at `sibling-fallback/<provider>/`. **Do not** tell the user to `/plugin install gemini@ai-plugins-cc` or `/plugin install grok@ai-plugins-cc` as a prerequisite — `resolveSiblingCompanionPath` will use the bundled fallback automatically when the per-provider Claude plugin isn't installed. The per-provider plugins are only needed if the user wants the dedicated `/gemini:*` / `/grok:*` slash commands; the `/ai:*` flow works with just the umbrella.
If `available: false`, the user already opted in by selecting Gemini — don't ask again, just install:
If `loggedIn: false`, use `AskUserQuestion` (single choice) to pick the auth method:
Auth-path actions:
Same shape — the user already opted in by selecting Grok, so install without re-asking.
If `available: false`:
Claude Code plugins that delegate to external AI CLIs — Codex, Gemini, and Grok — sharing a hardened core and an optional umbrella plugin that dispatches across providers. Status: active development.
Repo: dysfunc/ai-plugins-cc
Install or update the upstream openai/codex-plugin-cc to the pinned tag
Fan out a review to multiple AI providers and render their findings side-by-side
Hand a substantial coding task to the configured AI provider (gemini, grok, or codex)
Review the pending change with the configured AI provider (gemini, grok, or codex)