Use when the user asks how to build with OpenAI products or APIs and needs up-to-date official documentation with citations (for example: Codex, Responses API, Chat Completions, Apps SDK, Agents SDK,...
Provide authoritative, current guidance from OpenAI developer docs using the developers.openai.com MCP server. "Docs MCP" means mcp__openaiDeveloperDocs__search_openai_docs and mcp__openaiDeveloperDocs__fetch_openai_doc; for API reference, schema, parameter, or required-field questions, also use mcp__openaiDeveloperDocs__get_openapi_spec when available. Official-domain web search is fallback after those tools are unavailable or unhelpful. Broad Codex questions use the manual helper before Docs MCP. This skill also owns model selection, API model migration, and prompt-upgrade guidance.
mcp__openaiDeveloperDocs__search_openai_docs to find the most relevant doc pages.mcp__openaiDeveloperDocs__fetch_openai_doc before answering. If search is noisy, run a narrower Docs MCP search; when any plausible official OpenAI docs URL is known or found, try fetching that URL through Docs MCP before relying on web-search content.mcp__openaiDeveloperDocs__get_openapi_spec when available to verify the API shape alongside the relevant guide or reference page.mcp__openaiDeveloperDocs__list_openai_docs only when you need to browse or discover non-Codex pages without a clear query.https://developers.openai.com/api/docs/guides/latest-model.md first. If that is unavailable, load references/latest-model.md.node scripts/resolve-latest-model-info.js only when the target is latest/current/default or otherwise unspecified; otherwise preserve the explicitly requested target.latest-model.md names a newer model. Mention newer guidance only as optional.Use this path for questions about Codex itself: configuring, extending, operating, troubleshooting, local state, product surfaces, or where Codex behavior should live. A codebase merely mentioning a plugin, skill, hook, MCP server, browser, or automation is not enough. For generic software tasks, answer the software task directly; if asked whether Codex self-knowledge applies, answer that meta question briefly and continue the requested artifact.
The Codex manual is the first source for broad Codex synthesis. Treat the manual and Docs MCP as different lanes, not interchangeable official-doc sources. For published-user Codex product answers, the source route is complete: the manual, Docs MCP when this route calls for it, official OpenAI web fallback, and callable capabilities surfaced in the current session when the question is about that capability. Knowledge bases outside developers.openai.com are outside this route for public product answers.
For broad Codex behavior, setup, customization, skills, plugins, MCP, hooks, AGENTS.md, automations, surfaces, local state, or system-map questions:
$TMPDIR/openai-docs-cache, %TEMP%\openai-docs-cache, %TMP%\openai-docs-cache, /private/tmp/openai-docs-cache, then /tmp/openai-docs-cache. Workspace-only write access is not enough for this temp cache.curl when native fetch is unavailable or when proxy env vars are present, so no shell-specific proxy prefix is required. Resolve <skill-dir> to this skill's actual directory; in copied local eval workdirs this is usually .codex/skills/openai-docs:node <skill-dir>/scripts/fetch-codex-manual.mjs
If you need to override the cache dir, pass --cache-dir <cache-dir>. On Windows, the helper checks %TEMP% and %TMP% automatically; in PowerShell, $env:TEMP\\openai-docs-cache is a typical explicit override.
Treat helper availability as established by explicit read-only/no-shell policy or an actual command result. A guessed sandbox or guessed helper failure is not enough to switch to Docs MCP or web lookup; after an actual helper command failure, continue to the narrowest official next source below.
The helper verifies freshness, writes codex-manual.md, and emits codex-manual.outline.md. The outline maps source pages and headings to line ranges; use it to choose the relevant manual section, then read or search targeted manual sections for Codex product facts. Use the skill directory to locate and run the helper; after the helper succeeds, use the returned manual and outline paths as the search scope for Codex product facts and term coverage checks.
Reuse the same-thread manual and outline paths for follow-up Codex questions. Refresh first when the manual was fetched more than about a day ago, the path is unusable, the path came from another thread or uncertain provenance, or likely-current information is missing and staleness is plausible.
For questions about whether the manual is current enough to rely on now, run the helper when temp caching is allowed and base the answer on its returned status, manual path, and outline path.
If the manual resolves a Codex claim, answer from it and stop expanding sources for that claim; continue the user's broader task if the docs lookup was only one dependency. Manual source pages and known anchors are enough citation support for manual-covered material.
If the helper is skipped because the session is read-only, has no shell execution, or has no allowed temp cache, the next source is Docs MCP: call mcp__openaiDeveloperDocs__search_openai_docs, then mcp__openaiDeveloperDocs__fetch_openai_doc for a relevant hit before any web fallback.
If a user names a Codex term or mode that a fresh manual does not use, search the manual for obvious adjacent concepts, then answer that the exact term is not documented and use the closest documented terminology. If the prompt asks how that term maps to Codex behavior, resolve the mapping from adjacent manual sections. If the exact term remains material or likely current after that manual pass, use one narrow Docs MCP search/fetch before bounded uncertainty; otherwise, the source lookup for that terminology or mapping claim is complete.
Use the narrowest official next source only when the manual is unavailable, the helper fails, temp caching is not allowed, another material claim is missing or likely stale, or the user explicitly needs a page-specific citation. Prefer one specific Docs MCP search and, if it returns a clearly relevant page, one fetch; for unresolved Codex capability names, acronyms, scheduling terms, or exact error text, this Docs MCP step is the next source before web search. After the manual plus any permitted Docs MCP gap-fill, resolve remaining gaps as bounded uncertainty. Use official-domain web fallback only after that Docs MCP path is unavailable or unhelpful. If the claim is still not established, stop with bounded uncertainty. If official docs/manual conflict with a callable capability already surfaced in the current session, state the conflict and prefer verified current-session behavior for that environment.
For undocumented or private-looking model slugs, product mode labels, entitlement labels, account access paths, or rollout names, answer from current public docs and bounded uncertainty. Those labels are not a reason to leave the public source route.
For support-style diagnostics, prefer a layer-by-layer answer from the manual over provider-specific web lookups: installed/enabled plugin, bundled app or connector authorization, MCP setup, workspace/admin policy, restart or new-thread expectations, then support or feedback if still unresolved.
If the source route still does not establish a claim, return bounded uncertainty or route to support, an admin, or product feedback instead of widening the investigation.
For unresolved product terminology, answer from the manual plus the allowed official next source. If those sources do not establish the term, answer with bounded uncertainty from those sources.
When Codex nouns or durable-instruction surfaces overlap, recommend the smallest surface that matches the scope:
AGENTS.md -> durable repo conventions, commands, verification steps, and review expectations; closer nested files apply under their subtree..codex/config.toml -> trusted-repo Codex settings such as sandbox, MCP, hooks, model, or reasoning defaults.Split mixed-scope requests instead of forcing one answer. Example: "always do X, but only for this PR" defaults to prompt/thread context for the current run; use AGENTS.md or project config only if it should persist, hooks only for mechanical enforcement, and automations only for scheduled or follow-up work.
Use this quick product map when needed: CLI is terminal-first local repo work; IDE extension is editor-attached coding; Codex app is desktop planning, review, and interactive work; cloud/web is hosted parallel/offloaded work; Browser Use/in-app browser is Codex-controlled web testing; Chrome extension uses the user's Chrome profile; Computer Use controls desktop apps and OS UI. Keep config.toml defaults, requirements.toml constraints, and managed/admin policy separate.
concepts/customization#agents-guidance for AGENTS.md, concepts/customization#skills for skills, plugins/build#plugin-structure for plugins, concepts/customization#mcp for MCP, config-advanced#hooks for hooks, app/automations#thread-automations for thread automations, and config-reference#configtoml for config.If MCP tools fail or no OpenAI docs resources are available:
codex mcp add openaiDeveloperDocs --url https://developers.openai.com/mcphttps://developers.openai.com/api/docs/guides/latest-model.md.node scripts/resolve-latest-model-info.js, then fetch both returned guide URLs directly when possible.Read only what you need:
https://developers.openai.com/api/docs/guides/latest-model.md -> current model-selection and "best/latest/current model" questions.scripts/fetch-codex-manual.mjs -> current Codex manual fetch, verification, local temp cache, and outline generation.https://developers.openai.com/codex/codex-manual.md -> current Codex self-knowledge synthesis, including setup, customization, skills, plugins, MCP, hooks, AGENTS.md, automations, and surface behavior; normally access it through the helper path and targeted file reads when temp caching is available.references/latest-model.md -> bundled fallback for model-selection and "best/latest/current model" questions.references/upgrade-guide.md -> bundled fallback for model upgrade and upgrade-planning requests.references/prompting-guide.md -> bundled fallback for prompt rewrites and prompt-behavior upgrades.