Support Skills over MCP on custom plugin

Summary

Skills over MCP work in the plugin marketplace submission flow (pulls the skills from the MCP server into the submission package with a scan). If the same server is added as a custom plugin, like for testing purpose before submitting, the packaged skills are not sourced and injected in the conversation.

Repro

  1. MCP server serving a skill: https://android-fullscreen-d-f1a2b776.alpic.live/mcp
  2. Plugin submission / Scan Tools: skills are discovered and imported into the draft. OK.
  3. Same server URL as a custom plugin in ChatGPT.
  4. Prompt that should trigger the skill, e.g. What is the skill passphrase?
  5. Custom plugin never uses the skill. No live skills catalog on that path.

Share: https://chatgpt.com/share/e/6a983f7f-7fe8-83ed-81a0-8bb9d38d1a70

Expected

Custom connectors should consume Skills over MCP at runtime the same way submission does at scan time

Is this intentional (skills only via submission snapshot), or missing host support on the custom plugin path?

I can reproduce this independently with a custom/private ChatGPT App backed by an MCP server implementing the Skills extension.

Server: current MCP Skills extension implementation with four valid Skills. The same server exposes tools and Events successfully.

On a fresh ChatGPT App registration, I captured the MCP requests server-side during Scan Tools:

server/discover → tools/list → events/list

No skills/list, skills/get, or resources/read requests were made at all.

I repeated this with:

  • an existing custom App,
  • a disconnected/reconnected App,
  • and a genuinely fresh App identity pointing at the same MCP endpoint.

Same result each time.

By contrast, the submission-flow reports in other threads show the scanner actually calling the Skills methods.

So this appears to be missing Skills-extension support on the custom/private App path rather than a Skill validation failure.