Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

chatgpt-app-builder — Claude Code skill: build ChatGPT plugins

Walks through the full lifecycle of a ChatGPT plugin, from idea to directory submission. Use it when building an MCP server with UI for ChatGPT on Skybridge.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add alpic-ai/skybridge --skill chatgpt-app-builder -a claude-code
Open on GitHub

What chatgpt-app-builder does

chatgpt-app-builder is built for one job: creating ChatGPT plugins, formerly called ChatGPT apps. Under the hood these are MCP servers invoked mid-conversation, with custom UI views. The skill keeps repeating a core point — the plugin has two users at once. The human interacts with the view, the LLM reads its state. That shared surface shapes every design decision.

Inside is a set of references, one per stage. No project yet? It sends you to discover.md and refuses to proceed until SPEC.md exists. From there architecture.md covers UX flows and API shape, then implementation splits into narrow topics: fetching data in handlers, persisting view state, prompting the LLM from the view, OAuth, CSP, events, assets. Ecommerce plugins get a dedicated ecommerce.md to read first.

Deployment goes through Alpic, with a separate reference for submitting to the ChatGPT Directory. Migrating from Skybridge < 0.36.x or 1.x to 2.x? The skill fetches release notes first and expects you to follow them. MIT licensed, source in alpic-ai/skybridge.

What it helps with

  • design a plugin UX flow against ChatGPT guidelines
  • bootstrap a project from a template with a ready SPEC.md
  • run a dev server and connect the plugin to ChatGPT
  • add OAuth so tools can reach user-specific data
  • run evals and check the model reaches the right tools from natural prompts

Example prompts for the agent

  • Create a ChatGPT plugin: idea is restaurant booking via chat
  • Help me draft a SPEC.md for an online booking plugin
  • Set up OAuth in my Skybridge plugin

How to install chatgpt-app-builder

1Skills CLI (Vercel)

npx skills add alpic-ai/skybridge --skill chatgpt-app-builder -a claude-code

2Manually: put the files in place

~/.claude/skills/chatgpt-app-builder/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/chatgpt-app-builder/

Similar

react-expert reactjs Researches React APIs and internals directly against tests, commits, and pull requests. Useful for writing accurate docs without relying on outdated model memory. Claude Code CX Codex Cursor +1 1,300installs mintlify mintlify Sets up, writes, and deploys Mintlify documentation sites directly via CLI or MCP. Helpful when turning a README or OpenAPI spec into a hosted docs site. Claude Code CX Codex Cursor +1 19,500installs full-output-enforcement nexu-io This skill asks an agent to return complete implementations without omitted sections or placeholder code. Use it when a partial answer would not meet the request. Claude Code CX Codex Cursor +1 1,600installs printing-press-publish mvanhorn Publishes a generated local CLI to mvanhorn/printing-press-library as a pull request. The skill stops and reports the reason when testing is blocked. Claude Code CX Codex Cursor +1 6,800installs Swarm Orchestration ruvnet Skill for managing agent swarms with parallel execution, dynamic topology, and automatic load balancing. Use when a single agent is not enough and you need to orchestrate specialists of different types. Claude Code CX Codex Cursor +1 2,100installs quickstart official anthropics Guides a first pass through the code-security repository, from threat modeling to a canary scan. It also answers repo-specific questions with cited sources. Claude Code CX Codex Cursor +1 1,100installs setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. Claude Code 1,052,851installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. Claude Code 711,230installs

Questions about chatgpt-app-builder

How do I install chatgpt-app-builder in Claude Code?

Run npx skills add alpic-ai/skybridge --skill chatgpt-app-builder -a claude-code. The skill lands in ~/.claude/skills/chatgpt-app-builder/SKILL.md.

What does chatgpt-app-builder do?

It guides you through the whole ChatGPT plugin lifecycle: brainstorming ideas against UX guidelines, bootstrapping the project, implementing tools and views, debugging, deploying via Alpic, and publishing to the ChatGPT Directory.

What should I read before starting an ecommerce plugin?

The skill points to ecommerce.md first. That reference covers ecommerce-specific requirements before you touch any other part of the process.

Source text

SKILL.md · MIT
---
name: chatgpt-app-builder
description: |
  Guide developers through creating and updating ChatGPT plugins.
  Covers the full lifecycle: brainstorming ideas against UX guidelines, bootstrapping projects, implementing tools/views, debugging, running dev servers, deploying and connecting plugins to ChatGPT.
  Use when a user wants to create or update a ChatGPT plugin (formerly called a ChatGPT app) / MCP server for ChatGPT, or use the Skybridge framework.
---

# Creating Plugins For LLMs

ChatGPT plugins are conversational experiences that extend ChatGPT through tools and custom UI views. They're built as MCP servers invoked during conversations.

⚠️ The plugin is consumed by two users at once: the **human** and the **ChatGPT LLM**. They collaborate through the view—the human interacts with it, the LLM sees its state. Internalize this before writing code: the view is your shared surface.

SPEC.md keeps track of the plugin's requirements and design decisions. Keep it up to date as you work on the plugin.

**Building an ecommerce plugin?** → Read [ecommerce.md](references/ecommerce.md) first.

**No SPEC.md?** → Read [discover.md](references/discover.md) first. Nothing else until SPEC.md exists.

**SPEC.md exists?** → Read SPEC.md, then follow [architecture.md](references/architecture.md) to design the change. Update SPEC.md, then read the relevant Implementation references below before writing code.

**Migrating from Skybridge `< 0.36.x`?** → Read [migrate-to-v1.md](references/migrate-to-v1.md) first. Users may reference `skybridge >= 0.36.x` as v1.

**Migrating from Skybridge `1.x` to `2.x`?** → Fetch the [v2.0.0 release notes](https://github.com/alpic-ai/skybridge/releases/tag/v2.0.0) first and follow them.

## Setup

1. **Copy template** → [copy-template.md](references/copy-template.md): when starting a new project with ready SPEC.md
2. **Run locally** → [run-locally.md](references/run-locally.md): when ready to test, need dev server or ChatGPT connection
3. **Evals** → [evals.md](references/evals.md): when checking that a real model reaches the right tools from natural prompts, in a test

## Architecture

Design or evolve UX flows and API shape → [architecture.md](references/architecture.md)

## Implementation

- **Fetch and render data** → [fetch-and-render-data.md](references/fetch-and-render-data.md): when implementing server handlers and view data fetching
- **State and context** → [state-and-context.md](references/state-and-context.md): when persisting view UI state and updating LLM context
- **Prompt LLM** → [prompt-llm.md](references/prompt-llm.md): when view needs to trigger LLM response
- **UI guidelines** → [ui-guidelines.md](references/ui-guidelines.md): display modes, layout constraints, theme, device, and locale
- **External links** → [open-external-links.md](references/open-external-links.md): when redirecting to external URLs or setting "open in app" target
- **OAuth** → [oauth.md](references/oauth.md): when tools need user authentication to access user-specific data
- **Assets and styling** → [assets-and-styling.md](references/assets-and-styling.md): when adding images, fonts or CSS to views
- **CSP** → [csp.md](references/csp.md): when declaring allowed domains for fetch, assets, redirects, or iframes
- **Events** → [events.md](references/events.md): when ChatGPT should react to activity in the app without the user, such as new comments or incidents
- **OpenAI MCP extensions** → [openai-extensions.md](references/openai-extensions.md): when the view should open from the ChatGPT sidebar, a conversation side panel, a file, or a deep link, or use ChatGPT at-mentions, titled messages or local files

## Deploy

- **Ship to production** → [deploy.md](references/deploy.md): when ready to deploy via Alpic
- **Publish to ChatGPT Directory** → [publish.md](references/publish.md): when ready to submit for review

Full API docs: [https://docs.skybridge.tech/api-reference.md](https://docs.skybridge.tech/api-reference.md)

Release notes & changelog: [https://skybridge.tech/changelog.md](https://skybridge.tech/changelog.md)

© alpic-ai · MIT · alpic-ai/skybridge

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor