CtrlK
BlogDocsLog inGet started
Tessl Logo

build-chatgpt-app

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.

70

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

77%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, deeply actionable skill body with an explicitly sequenced workflow, real validation checkpoints, and clean one-level-deep progressive disclosure into verified bundle files. Its main weakness is conciseness: archetype and upstream-example guidance is duplicated across sections and references are listed both inline and in the References block.

Suggestions

Deduplicate the archetype guidance: keep the decision rubric in 'Classify The App Before Choosing Code' and have Build Workflow step 0 reference it instead of restating it.

Consolidate the upstream starting-point guidance: merge 'Default Starting-Point Order' and Build Workflow step 2a into one section to remove the overlapping rationale.

Trim the inline reference callouts or the References section so each path is announced once; consider adding at least one minimal executable code block (server resource registration or a widget bridge listener) to lift actionability to the top anchor.

DimensionReasoningScore

Conciseness

Content is domain-specific rather than teaching known concepts, but it repeats guidance in two places each — archetype classification appears both in 'Classify The App Before Choosing Code' and 'Build Workflow step 0', and upstream-example selection appears both in 'Default Starting-Point Order' and 'step 2a' — and every reference is listed both inline and again in the References section, so it could be tightened noticeably.

3 / 5

Actionability

Gives concrete, specific guidance — exact annotations (readOnlyHint, destructiveHint, openWorldHint, idempotentHint), the MIME type 'text/html;profile=mcp-app', exact _meta.ui fields (csp/domain/prefersBorder, connectDomains/resourceDomains), exact window.openai methods and globals, the /mcp endpoint, and 'ngrok http <port>' — but provides no full copy-paste code blocks for a server registration, tool handler, or widget bridge listener.

4 / 5

Workflow Clarity

The Build Workflow is explicitly numbered 0–9 with dedicated validation steps (5a 'Minimum Working Repo Contract' checklist and 6 'Validate the Local Loop' ladder running low-cost checks before runtime checks), feedback-loop language for retries/idempotency, and an explicit 'say exactly what you did not run' instruction, satisfying the validation-checkpoint requirement.

5 / 5

Progressive Disclosure

The body is an overview that signals one-level-deep references — each of the 7 reference files and the scaffold script is cited inline with a clear purpose statement ('Read references/X.md for...') and summarized in a References section; all referenced paths resolve to real bundle files, so navigation is easy and nothing is nested beyond one level.

5 / 5

Total

17

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, specific description that concretely states capabilities and gives explicit 'Use when...' trigger guidance with domain-specific synonyms. It is slightly technical in its trigger phrasing and lacks casual phrasings or file-extension cues, which keeps trigger_term_quality just below the top anchor.

DimensionReasoningScore

Specificity

Lists multiple concrete actions across the domain — 'Build, scaffold, refactor, and troubleshoot', 'design tools, register UI resources, wire the MCP Apps bridge', 'apply Apps SDK metadata or CSP or domain settings', 'produce a docs-aligned project scaffold' — giving comprehensive coverage rather than just naming the domain.

5 / 5

Completeness

Explicitly answers both 'what' (build/scaffold/refactor/troubleshoot Apps SDK apps combining an MCP server and widget UI) and 'when' via a detailed 'Use when Codex needs to...' clause with multiple concrete trigger phrases, so it clears the explicit-trigger bar rather than only weakly implying when.

5 / 5

Trigger Term Quality

Strong keyword coverage with synonyms ('ChatGPT Apps SDK', 'MCP server', 'widget UI', 'MCP Apps bridge', 'ChatGPT compatibility APIs', 'CSP', 'domain settings', 'project scaffold'), but the phrasing leans technical and omits more casual user phrasings and any file-extension triggers.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (ChatGPT Apps SDK apps with MCP server + widget UI) with distinct, specialized triggers (MCP Apps bridge, window.openai compatibility APIs, CSP/domain settings) that are unlikely to fire for unrelated skills.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
openai/plugins
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.