Back to Skills

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.

23,377stars1,587forksUpdated 7/8/2026

Security Assessment

Safe(100/100)
Security Score100/100

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 files
references/window-openai-patterns.md4.6 KB
View
SKILL.md19.2 KB
View
LICENSE.txt10.5 KB
View
references/upstream-example-workflow.md3.4 KB
View
agents/openai.yaml0.8 KB
View
references/app-archetypes.md3.4 KB
View
references/repo-contract-and-validation.md2.9 KB
View
references/search-fetch-standard.md2.0 KB
View
references/apps-sdk-docs-workflow.md7.9 KB
View
references/interactive-state-sync-patterns.md4.2 KB
View
scripts/scaffold_node_ext_apps.mjs16.0 KB
View

Install chatgpt-apps

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

openai/skills