skills/codex-app-server/SKILL.md
Build rich Codex integrations with the Codex App Server across Electron, Swift, Next.js, and other host apps. Use when embedding Codex into a product, adding ChatGPT or API-key login to a desktop or web host, integrating managed or externally supplied ChatGPT tokens, streaming thread/turn/item events, handling approvals, generating version-matched schemas, or deciding between App Server and the Codex SDK for a new or existing app.
npx skillsauth add jakerains/agentskills codex-app-serverInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Embed Codex into a host product using the same protocol used by OpenAI's rich Codex clients. This skill is adaptable across Electron, Swift, Next.js, and other hosts by choosing the right transport and bridge pattern for each environment.
assets/ for the target host.scripts/generate-schemas.sh before building a typed client.stdio first for local desktop hosts that can spawn codex app-server. Use WebSocket when the host cannot manage a child process, when the UI is browser-based, or when a separate sidecar/service boundary is the cleaner architecture.experimentalApi features as opt-in. They are useful, but they are not the safest production default.authUrl with a localhost callback, which is a poor default fit for a pure browser deployment.codex version you will run:./scripts/generate-schemas.sh ./schemas
assets/node-stdio-starter for a greenfield Node/TS client.assets/existing-app-auth-bridge for an existing app that already owns auth, routing, or UI state.assets/electron-main-process for Electron main/preload/renderer boundaries.assets/nextjs-web-sidecar for a Next.js server-side bridge that keeps app-server off the browser bundle.assets/swift-bridge-patterns for Swift desktop and sidecar-based WebSocket patterns.initialize with clientInfo.initialized.thread/start for a new conversation.thread/resume to continue an existing thread.thread/fork when the user wants a branch of existing history.thread/read and thread/list for history views that should not resume execution.turn/start to submit user input.turn/steer for follow-up input on an in-flight turn.turn/interrupt to cancel.turn/completed.item/started and item/completed as the authoritative item state.agentMessage, reasoning, plan, and command output in order.Thread, Turn, and ThreadItem, not just plain chat messages.tool/requestUserInput.threadId and turnId.apiKey mode when the host app wants OpenAI API-key auth.chatgpt mode when app-server should own browser login and token refresh.chatgptAuthTokens when the host app already owns ChatGPT auth and can supply fresh idToken and accessToken.account/chatgptAuthTokens/refresh, respond quickly with fresh tokens or the original request will fail.account/read to discover the active auth state.account/updated to update the UI.account/rateLimits/read and account/rateLimits/updated to show ChatGPT-backed usage state in-product.Process for a local app-server bridge when the app can ship or locate the codex binary.codex process.authUrl; the host should open it in the system browser and wait for account/login/completed.chatgptAuthTokens or a carefully designed bridge. Do not assume a server-hosted app-server can complete a localhost callback in the end user's browser.requiresOpenaiAuth tells you whether the active provider requires OpenAI credentials before Codex can run.references/overview-and-architecture.mdreferences/platform-patterns.mdreferences/auth-and-account-flows.mdreferences/protocol-and-events.mdopenai/codex app-server implementation over third-party examples.codex binary instead of hand-maintaining request types.stdio unless there is a concrete reason to expose WebSocket transport.Not initialized, Already initialized, and approval interruptions.development
Build durable workflows with Vercel Workflow DevKit using "use workflow" and "use step" directives. Use for long-running tasks, background jobs, AI agents, webhooks, scheduled tasks, retries, and workflow orchestration. Supports Next.js, Vite, Astro, Express, Fastify, Hono, Nitro, Nuxt, SvelteKit.
documentation
Automate changelog management, version bumping, release tracking, tags, and GitHub Releases. Sets up a changelog system (CHANGELOG.md, UI modal, version display) if none exists, or updates an existing one. Use when: updating changelog, bumping version, creating release entry, promoting [Unreleased], tagging, publishing GitHub Release notes, handling prerelease versions, setting up changelog, adding version display, managing semver, commit/push/release workflow. Triggers on: changelog, version bump, release notes, semver, CHANGELOG.md, release entry, what's new, patch/minor/major/prerelease bump, tag release, GitHub Release, update the changelog, release, new version.
development
Convert documentation websites, GitHub repositories, and PDFs into Claude AI skills. Use when creating Claude skills from docs, scraping documentation, packaging websites into skills, or converting repos/PDFs to Claude knowledge.
development
Generate professional shot lists from screenplays and scripts. Use when user uploads a screenplay (.fountain, .fdx, .txt, .pdf, .docx) or describes scenes for production planning. Parses scripts to extract scenes, helps determine camera setups, shot types, framing, and movement through collaborative discussion, then generates beautifully formatted PDF shot lists for production. Triggers include requests to create shot lists, plan shots, break down scripts for filming, or organize camera coverage.