gpt-apps-sdk-builder

GPT Apps SDKを用いたアプリ開発を設計・実装・検証する

16 stars

Best use case

gpt-apps-sdk-builder is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

GPT Apps SDKを用いたアプリ開発を設計・実装・検証する

Teams using gpt-apps-sdk-builder should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/gpt-apps-sdk-builder/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/ai-agents/gpt-apps-sdk-builder/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/gpt-apps-sdk-builder/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How gpt-apps-sdk-builder Compares

Feature / Agentgpt-apps-sdk-builderStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

GPT Apps SDKを用いたアプリ開発を設計・実装・検証する

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 🧩 GPT Apps SDK Builder

あなたはGPT Apps SDKのアーキテクト兼実装パートナーとして、MCPサーバーとUIを一貫して設計・実装・検証・公開まで導く。

---

## Prerequisites

- Node.js 18+ と npm
- もしくは Python 3.10+ と pip
- 公開URLを用意するトンネルまたはホスティング(例: ngrok)
- ChatGPT の開発者モード有効化
- 環境変数: `PORT`(任意), `PUBLIC_MCP_URL`(公開時), `APP_NAME`

---

## Workflow

### Step 1: 要件ブリーフを作成する

アプリの目的、ユーザー体験、必要なツール、データソース、認証要否を短く整理する。

**Input**: ユーザー要望、対象ユーザー、操作シナリオ  
**Output**: templates/app_brief_template.md を埋めた要件ブリーフ  
**If this fails**: 不明点を列挙し、最小構成の仮ブリーフを作成して前進する

### Step 2: ツール仕様とデータモデルを定義する

ツール名、入力スキーマ、出力形式、状態管理を決定する。

**Input**: 要件ブリーフ  
**Output**: templates/tool_spec_template.md を埋めたツール仕様  
**If this fails**: ツール数を削減し、1ツール単位で段階的に定義する

### Step 3: UIコンポーネントを設計する(任意)

UIが必要な場合は、MCP Apps UIブリッジに対応したHTML/JSを設計する。

**Input**: UI要件、ツール仕様  
**Output**: templates/ui_widget_template.html を基にしたUI  
**If this fails**: UIを後回しにしてツールのみのMCPサーバーに切り替える

### Step 4: MCPサーバーを実装する

ツールとUIリソースを登録し、/mcp エンドポイントを提供する。

**Input**: ツール仕様、UIリソース(任意)  
**Output**: templates/node_mcp_server_template.md を基にしたサーバー実装  
**If this fails**: 依存関係、CORS、/mcp ルート、ESM設定を再確認する

### Step 5: ローカル検証を実行する

MCP Inspectorでツール呼び出しとUI連携を確認する。

```bash
npx @modelcontextprotocol/inspector@latest --server-url http://localhost:8787/mcp --transport http
```

**Input**: ローカルMCP URL(例: http://localhost:8787/mcp)  
**Output**: ツールが期待通りの structuredContent を返すこと  
**If this fails**: inspectorのログを確認し、ツール定義と入力スキーマを調整する

### Step 6: 公開URLで接続を確認する

公開URLに /mcp を付与してChatGPTに追加し、実際の会話で動作確認する。

**Input**: PUBLIC_MCP_URL  
**Output**: ChatGPT上でのツール実行とUI表示  
**If this fails**: HTTPS、CORS、/mcp パス、レスポンス形式を再確認する

### Step 7: 反復と提出準備を行う

ツール説明、エラーメッセージ、UI導線を改善し、提出ガイドラインに沿って最終確認する。

**Input**: テスト結果、使用ログ、改善点  
**Output**: resources/launch_checklist.md の完了  
**If this fails**: 直近の変更を差し戻し、最小構成で再確認する

---

## Key Concepts

| Concept | Description |
|---|---|
| MCP | ChatGPTとアプリを接続するプロトコル。/mcp エンドポイントを提供する |
| Tool | モデルが呼び出す機能単位。入力スキーマとレスポンスが重要 |
| Resource | UIやデータを公開する仕組み。UIは resourceUri で関連付ける |
| UI Bridge | postMessageによるJSON-RPC通信でUIとモデルを連携する |
| structuredContent | UIレンダリングや状態共有に使う構造化データ |
| Connector | ChatGPTに追加する接続設定。公開URLと説明が必要 |

---

## Error Handling

| Error | Cause | Fix |
|---|---|---|
| 404 /mcp | ルート設定やパスが不一致 | /mcp ルートとHTTPメソッド対応を確認 |
| CORS error | プリフライト未対応 | OPTIONSを処理しヘッダーを付与 |
| Tool not found | tool名が不一致 | register名と呼び出し名を一致させる |
| UIが表示されない | resourceUri不一致 | UI resourceUri と toolの ui.resourceUri を合わせる |
| structuredContentが空 | レスポンス形式が不一致 | structuredContentに必要なキーを返す |

---

## Examples

### Example 1: UI付きタスク管理アプリ

**User says**: "タスク追加と完了ができるアプリを作りたい。UIも欲しい。"

**Agent does**:
1. app_brief_template.md を埋め、ツールは add_task と complete_task に限定する
2. ui_widget_template.html をベースにUIのイベントとツール呼び出しを接続する
3. node_mcp_server_template.md を基にMCPサーバーを実装し、Inspectorで検証する

### Example 2: UIなしの翻訳ツール

**User says**: "UIなしで翻訳ツールだけを使えるようにしたい。"

**Agent does**:
1. ツール仕様のみ定義し、UI resource を登録しない
2. MCPサーバーに翻訳ツールを登録し、ツール出力を structuredContent で返す
3. 公開URLでChatGPTに接続し、会話内でツールを実行する

---

## References

- https://chatgpt.com/apps
- https://developers.openai.com/apps-sdk/
- https://developers.openai.com/apps-sdk/quickstart
- https://note.com/npaka/n/nce50143f6064
- https://dev.classmethod.jp/articles/apps-in-chatgpt-apps-sdk-chatgpt/
- https://zenn.dev/himara2/articles/ae362b516e9e52
- https://www.youtube.com/watch?v=YdEK6M0dOmM
- https://note.com/npaka/n/nd69e0f856bea

Related Skills

agent-builder

16
from diegosouzapw/awesome-omni-skill

Build AI agents using pai-agent-sdk with Pydantic AI. Covers agent creation via create_agent(), toolset configuration, session persistence with ResumableState, subagent hierarchies, and browser automation. Use when creating agent applications, configuring custom tools, managing multi-turn sessions, setting up hierarchical agents, or implementing HITL approval flows.

apps-script-update

16
from diegosouzapw/awesome-omni-skill

Google Apps Script のコードを更新する。「GAS 更新」「Apps Script 更新」「スクリプト編集」「コードを更新」などで起動。

apps-script-search

16
from diegosouzapw/awesome-omni-skill

Google Apps Script を検索する。「Apps Script 検索」「GAS 検索」「スクリプト検索」「Apps Script を探して」「GAS を見つけたい」「Google スクリプト検索」「Apps Script の検索」などで起動。`/shiiman-google:apps-script-search` を実行して検索する。

apps-script-create

16
from diegosouzapw/awesome-omni-skill

Google Apps Script プロジェクトを新規作成する。「GAS 作成」「Apps Script 作成」「スクリプト作成」「GAS を作って」などで起動。

Advisory Board Builder

16
from diegosouzapw/awesome-omni-skill

Recruit, structure, and manage advisory boards for strategic guidance

web-backend-builder

16
from diegosouzapw/awesome-omni-skill

Scaffold backend API, data models, ORM setup, and endpoint inventory with OpenAPI output.

multi-platform-apps-multi-platform

16
from diegosouzapw/awesome-omni-skill

Build and deploy the same feature consistently across web, mobile, and desktop platforms using API-first architecture and parallel implementation strategies.

mcp-builder

16
from diegosouzapw/awesome-omni-skill

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP), Node/TypeScript (MCP SDK), or C#/.NET (Microsoft MCP SDK).

mcp-builder-microsoft

16
from diegosouzapw/awesome-omni-skill

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP), Node/TypeScript (MCP SDK), or C#/.NET (Microsoft MCP SDK).

api-request-builder

16
from diegosouzapw/awesome-omni-skill

Build a basic HTTP request (curl or fetch) for an API. Use when a junior developer needs a quick request example.

api-integration-builder

16
from diegosouzapw/awesome-omni-skill

Build reliable third-party API integrations including OAuth, webhooks, rate limiting, error handling, and data sync. Use when integrating with external services (Slack, Stripe, Gmail, etc.), building API connections, handling webhooks, or implementing OAuth flows.

api-endpoint-builder

16
from diegosouzapw/awesome-omni-skill

Build REST API endpoints when designing or implementing API routes with security best practices. Not for client-side fetching or non-API logic.