Chatgpt app builder
Skill aiskillstore/marketplace/skills/mcp-use/chatgpt-app-builder
DEPRECATED: This skill has been replaced by `mcp-app-builder`. Check if `mcp-app-builder` is available in the skills folder. If not, install it: `npx skills install mcp-use/mcp-use --skill mcp-app-builder` Use `mcp-app-builder` instead of this skill. Build ChatGPT apps with interactive widgets using mcp-use and OpenAI Apps SDK. Use when creating ChatGPT apps, building MCP servers with widgets, defining React widgets, working with Apps SDK, or when user mentions ChatGPT widgets, mcp-use widgets, or Apps SDK development.From its SKILL.md
npx -y skills add aiskillstore/marketplace --skill chatgpt-app-builderAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
3.1 KB, 611 tokens by cl100k_base, as published. Nobody here has run it
ChatGPT App Builder
Build ChatGPT apps with interactive widgets using mcp-use. Zero-config widget development with automatic registration and built-in React hooks.
The app is consumed by two users at once: the human and the ChatGPT LLM. They collaborate through the widget -- the human interacts with it, the LLM sees its state. The widget is your shared surface.
Before You Code
- Clarify what to build → discover.md: when starting a new app, validating an idea, or scoping features
- Design tools and widgets → architecture.md: when deciding what needs UI vs tools-only, designing UX flows
Setup
- Scaffold and run → setup.md: when creating a new project, starting dev server, connecting to ChatGPT/Claude
Implementation
- Server handlers + widget creation → server-and-widgets.md: when writing server.tool() with widgets, widget() helper, React widget files
- Widget state and LLM context → state-and-context.md: when persisting state, triggering LLM from widget, managing ephemeral vs persistent data
- Display modes, theme, layout → ui-guidelines.md: when adapting to inline/fullscreen/PiP, handling theme, device, locale
- Component API → components-api.md: when using McpUseProvider, Image, ErrorBoundary, useWidget
- CSP and metadata → csp-and-metadata.md: when configuring external domains, dual-protocol metadata
- Advanced patterns → widget-patterns.md: when building complex widgets with tool calls, state, theming
Quick Reference
// Server
import { MCPServer, widget, text, object } from "mcp-use/server";
server.tool({ name: "...", schema: z.object({...}), widget: { name: "widget-name" } },
async (input) => widget({ props: {...}, output: text("...") })
);
// Widget (resources/widget-name.tsx)
import { McpUseProvider, useWidget, type WidgetMetadata } from "mcp-use/react";
export const widgetMetadata: WidgetMetadata = { description: "...", props: z.object({...}) };
export default function MyWidget() {
const { props, isPending, callTool, sendFollowUpMessage, state, setState, theme } = useWidget();
if (isPending) return <McpUseProvider autoSize><div>Loading...</div></McpUseProvider>;
return <McpUseProvider autoSize><div>{/* UI */}</div></McpUseProvider>;
}
What ships with it: 18 files
112.5 KB alongside SKILL.md
evals/
- architecture.json2.3 KB
- discover.json1.7 KB
- README.md476 B
- skill.json2.1 KB
- state-and-context.json1.4 KB
- ui-guidelines.json1.6 KB
- widgets.json1.6 KB
references/
- architecture.md5.0 KB
- components-api.md8.3 KB
- csp-and-metadata.md5.1 KB
- discover.md2.1 KB
- server-and-widgets.md6.3 KB
- setup.md2.1 KB
- state-and-context.md6.6 KB
- ui-guidelines.md5.1 KB
- widget-patterns.md6.6 KB
- LICENSE.txt8.9 KB
- skill-report.json45.1 KB