chatgpt-apps
Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code.
Security Assessment
About chatgpt-apps
Guides building, scaffolding, refactoring, and troubleshooting ChatGPT Apps SDK applications, which pair an MCP server with a widget UI. It enforces a docs-first, example-first workflow: before writing code the OpenAI docs are consulted (via the openai-docs skill or the OpenAI developer docs MCP tools), baseline Apps SDK pages are fetched for server, UI, examples, tool planning, and reference, and the doc URLs used are cited when explaining design choices. Current docs guidance takes precedence over older repository patterns, and compatibility aliases are called out explicitly.
Each request is classified into one primary app archetype (tool-only, vanilla-widget, react-widget, interactive-decoupled, or submission-ready) to decide whether a UI is needed, whether to keep a split server and web layout, which examples or scaffolds to prefer, and which validation checks matter. Tools are planned before code with one job per tool, explicit machine-friendly inputs, and accurate annotations such as readOnlyHint, destructiveHint, openWorldHint, and idempotentHint. Connector-like, data-only, or deep-research apps default to the standard search and fetch tools rather than custom read-only equivalents.
For greenfield work the recommended starting points are ordered: official OpenAI examples first, then version-matched @modelcontextprotocol/ext-apps examples, and only a small local Node scaffold when nothing else fits. Generated widgets favor the MCP Apps bridge first and window.openai compatibility second. The output includes an MCP server scaffold, widget scaffold, a validation report against a minimum-working-repo contract, local dev and connector setup, and covers CSP allowlists, domain settings, and URI versioning for production-ready structure.
FAQ
What must happen before any code is generated?
The mandatory docs-first workflow requires fetching current Apps SDK docs (through the openai-docs skill or OpenAI docs MCP tools) and citing the URLs used, preferring current docs over older repo patterns.
What app archetypes can a request be classified into?
Five: tool-only, vanilla-widget, react-widget, interactive-decoupled, and submission-ready. The archetype drives repo shape, example choice, and which validations apply.
Where should a new greenfield app start?
Prefer official OpenAI examples first, then version-matched @modelcontextprotocol/ext-apps examples, and only fall back to the local Node scaffold when no close example fits or network retrieval is undesirable.
When should tools default to standard search and fetch?
When the app is connector-like, data-only, sync-oriented, or meant to work with company knowledge or deep research, use the standard search and fetch tools instead of inventing custom read-only equivalents.
What tool annotations does it set?
readOnlyHint, destructiveHint, and openWorldHint on every tool, plus idempotentHint when the tool is idempotent.
All Files
11 filesInstall chatgpt-apps
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
openai/skills