Agent Skills: Chat Apps UI SDK Best Practices

Interactive UI rendered inside ChatGPT or Claude — OpenAI Apps SDK apps, MCP Apps (the @modelcontextprotocol/ext-apps standard), or MCP-UI components, with a Next.js/React server. Covers the MCP tool and resource architecture, the window.openai / ui-bridge data flow, widget state, sandbox/CSP security, display modes, visual design, and directory submission. Trigger when building, reviewing, or designing such apps — even when the user only says "chat app", "ChatGPT widget", "Claude app", "render UI in chat", "window.openai", "createUIResource", "outputTemplate", or "MCP app UI" without naming a specific SDK.

UncategorizedID: pproenca/dot-skills/chat-apps-ui-sdk

Install this agent skill to your local

pnpm dlx add-skill https://github.com/pproenca/dot-skills/tree/HEAD/skills/.experimental/chat-apps-ui-sdk

Skill Files

Browse the full folder contents for chat-apps-ui-sdk.

Download Skill

Loading file tree…

skills/.experimental/chat-apps-ui-sdk/SKILL.md

Skill Metadata

Name
chat-apps-ui-sdk
Description
Interactive UI rendered inside ChatGPT or Claude — OpenAI Apps SDK apps, MCP Apps (the @modelcontextprotocol/ext-apps standard), or MCP-UI components, with a Next.js/React server. Covers the MCP tool and resource architecture, the window.openai / ui-bridge data flow, widget state, sandbox/CSP security, display modes, visual design, and directory submission. Trigger when building, reviewing, or designing such apps — even when the user only says "chat app", "ChatGPT widget", "Claude app", "render UI in chat", "window.openai", "createUIResource", "outputTemplate", or "MCP app UI" without naming a specific SDK.

Chat Apps UI SDK Best Practices

A reference for building beautiful, review-ready apps that render interactive UI inside the chat surface of ChatGPT and Claude. As of January 2026 these platforms share one foundation — the MCP Apps standard (@modelcontextprotocol/ext-apps), rendered by Claude, ChatGPT, VS Code, and Goose. The OpenAI Apps SDK is a superset adding the window.openai bridge, and MCP-UI (@mcp-ui/server / @mcp-ui/client) is the community implementation. This skill contains 46 rules across 8 categories, ordered by impact so the highest-leverage decisions come first.

The mental model: an app is an MCP tool first, UI second. The model invokes a tool; the tool returns data plus a link to a UI resource; the host renders that resource in a sandboxed iframe; the iframe talks back over a defined bridge. Mistakes early in that chain mean nothing renders; mistakes later mean it renders broken, unsafe, or unpolished.

When to Apply

Reference these guidelines when:

  • Designing the MCP tool and structuredContent / content / _meta contract for a chat app
  • Wiring a tool to a component (_meta.ui.resourceUri, the text/html;profile=mcp-app MIME type, the ui:// scheme)
  • Writing the iframe component and its bridge (window.openai, ui/notifications/*, MCP-UI onUIAction)
  • Choosing display modes, widget state, theming, and responsive layout
  • Hardening a chat app (CSP, sandbox, secrets, OAuth) or preparing it for directory submission
  • Reviewing or refactoring existing ChatGPT-app / Claude-app / MCP-UI code

Rule Categories by Priority

| Priority | Category | Impact | Prefix | |----------|----------|--------|--------| | 1 | MCP Tool & Discovery Design | CRITICAL | tool- | | 2 | UI Resource Wiring & Templates | CRITICAL | wire- | | 3 | Host–Component Data Bridge | HIGH | bridge- | | 4 | Display Modes & Responsive Layout | HIGH | display- | | 5 | State & Model Context | HIGH | state- | | 6 | Security & Data Boundaries | HIGH | sec- | | 7 | Visual Design & UX Polish | MEDIUM-HIGH | design- | | 8 | Distribution & Cross-Host Portability | MEDIUM | dist- |

Quick Reference

1. MCP Tool & Discovery Design (CRITICAL)

2. UI Resource Wiring & Templates (CRITICAL)

3. Host–Component Data Bridge (HIGH)

4. Display Modes & Responsive Layout (HIGH)

5. State & Model Context (HIGH)

6. Security & Data Boundaries (HIGH)

7. Visual Design & UX Polish (MEDIUM-HIGH)

8. Distribution & Cross-Host Portability (MEDIUM)

How to Use

Read the individual reference files for full explanations and incorrect-vs-correct code examples. Start at the top — category 1 (tool-) and category 2 (wire-) gate whether anything renders at all, so resolve those before touching display or design.

Reference Files

| File | Description | |------|-------------| | references/_sections.md | Category definitions and impact ordering | | assets/templates/_template.md | Template for new rules | | metadata.json | Version and reference URLs |

Related Skills

  • build-mcp-server — Entry point for designing the MCP server shape (deployment model, tool patterns) this skill's UI rules build on top of.