THE LATHAM Subscribe → thelatham.net
A field guide from THE LATHAM

Custom GPT to Plugin Migration Guide

A practical, non-technical guide for moving your existing Custom GPTs into ChatGPT Plugins, Skills, reference files, and connected apps.

Custom GPT retirement: December 11, 2026 · Eligible Enterprise deferral: February 11, 2027

What is changing?

Custom GPTs are being retired. OpenAI is moving reusable workflows into Plugins, which can package instructions, reference files, and connected apps together.

The goal is similar, but the structure is more modular and easier to reuse across ChatGPT and supported Codex workflows.

What should I do first?

Start by identifying the GPTs your team actually relies on, then decide whether each one should be migrated, combined with others, or retired.

Do not wait until the retirement date. Leave time to test the replacement before switching users.

1. Understand the new structure

The easiest way to think about the migration is to map the parts of your current Custom GPT to their new equivalent.

GPT InstructionsYour reusable rules, workflow steps, tone, and output requirements.
→
SkillThe reusable workflow instructions inside a Plugin.
Knowledge FilesPDFs, docs, examples, checklists, templates, or other uploaded files.
→
Reference FilesSupporting material used by the Skill.
Connected AppsExternal services available to the GPT.
→
Apps in the PluginConnected services the Plugin can use, subject to access and authorization.
Custom ActionsAPI-based actions configured directly in a GPT.
→
Rebuild RequiredCustom Actions do not transfer automatically and may need an existing app or custom MCP setup.

2. Use this four-step migration process

1

Inventory

List the GPTs you rely on, who owns them, what they do, and whether they use files, apps, or custom actions.

2

Consolidate

Decide whether similar GPTs should become separate Skills inside one Plugin instead of separate Plugins.

3

Build

Use the built-in migration, create plugin files manually, or ask Plugin Creator to repackage the workflow.

4

Validate

Test familiar prompts, one harder prompt, files, output formats, app access, and sharing before rollout.

3. Pre-migration checklist

Important: Migration uses the GPT's latest published version. Draft or unpublished edits do not transfer.

4. Decide what each GPT should become

Create its own PluginBest when the workflow is distinct, important, and may include its own apps or permissions.
Combine it as a SkillBest when several GPTs are part of the same broader function, such as SEO research, reporting, or audits.
Retire itBest when the GPT is rarely used, duplicated elsewhere, or no longer provides enough value to maintain.
ExampleRecommended approachComplexity
Schema GeneratorSkill inside an SEO PluginLow
SEO Audit Assistant with templatesSkill + reference filesLow
SEO performance workflow using connected appsSkill + apps inside a PluginMedium
GPT using a custom API ActionPlugin + rebuilt integration / MCPHigh
Blog Post Writer with a brand voice guideContent Writing Skill + brand voice and editorial reference filesLow
SEO Content Brief Builder with a brief templateContent Brief Skill + template, audience notes, and examplesLow
Multilingual Content LocalizerLocalization Skill + language guides and terminology references; review output with a native-language editorMedium
Social Post Repurposer that reads approved contentRepurposing Skill + channel rules and approved source material; add an app only if it needs to fetch or publish contentMedium
Content creation example: If you have separate GPTs for blog drafts, SEO briefs, and social posts, you could combine them as three Skills in a Content Creation Plugin. Attach the brand voice guide, brief template, and channel guidelines as reference files. Keep each Skill's task and output requirements clear so the right one is used.

These are starting points. Choose a separate Plugin when a content workflow needs different owners, permissions, or integrations. Review factual claims, brand fit, and publication readiness before sharing generated content.

5. Create the replacement: choose a path

Use the built-in conversion for a GPT you own when it is available. If you want to reorganize several GPTs into one plugin, choose the manual or AI-assisted build. Those create a new plugin; they do not migrate the original GPT in place.

Before any path: Open the GPT's configuration. Save its latest published instructions, original knowledge files, sample outputs, and 5–10 real test prompts. Note every connected app and Custom Action. Confirm you own the GPT or have permission to reuse its materials. Do not assume a chat transcript or conversation starter transfers as a file.

A · Use the built-in “Migrate to plugin” option

  1. Finish and publish your edits. In the GPT builder, review instructions and knowledge files, then publish the latest version. It does not have to be shared publicly.
  2. Start the conversion. Open My GPTs → Created by me, select the GPT, and choose Migrate to plugin. Follow the on-screen review and creation steps.
  3. Review the result. Check the new skill instructions, copied knowledge/reference files, and connected apps. The selected model and Custom Actions do not transfer; rebuild any required Action separately.
  4. Install and test privately. Find the plugin under Customize → Plugins where available, install it if prompted, then test familiar and difficult tasks in a new conversation.
  5. Share after validation. Give intended users access and ask one colleague to install and try it. Existing GPT sharing permissions do not carry over.

If you cannot see the migration option, check the account/workspace where the GPT was created, that it is published, and that plugins are enabled; availability can vary.

B · Create the plugin files and folders manually

Example: turn an “SEO Content Brief” GPT into a plugin containing one skill. This path uses a local folder and a portable plugin manifest. You can edit the files in any plain-text editor.

  1. Create the folder structure shown below. Copy any approved brand guide and brief template into references/. Create another folder under skills/ for each distinct workflow.
  2. Write plugin.json. Place it at the root of the plugin folder; use a stable lowercase name with hyphens.
  3. Write SKILL.md. Give it YAML frontmatter with name and description. In the body, adapt the GPT's purpose, trigger, required inputs, steps, output format, and missing-information rules. Point to each reference file by its relative path.
  4. Handle integrations separately. A skill can describe when to use an available app, but text alone does not connect it. Configure an approved app or MCP connection and test its permissions. A GPT Custom Action requires its own replacement.
  5. Add the local plugin to a marketplace and install it. Ask @plugin-creator to register this existing folder in a personal marketplace, or follow the manual marketplace instructions. Restart the desktop app if necessary, find the plugin in the Plugins Directory, install it, and test it in a new chat. Local marketplace distribution and workspace-wide sharing are separate steps.
Example folder layout
seo-content-plugin/
  plugin.json
  skills/
    seo-content-brief/
      SKILL.md
      references/
        brief-template.md
        brand-voice.md
seo-content-plugin/plugin.json
{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "seo-content-plugin",
  "version": "1.0.0",
  "description": "Reusable SEO content brief workflow"
}
seo-content-plugin/skills/seo-content-brief/SKILL.md
---
name: seo-content-brief
description: Create an SEO content brief from a keyword, audience, and source material. Use when a user asks for a brief; do not publish content.
---

# SEO content brief

1. Ask for the target keyword, audience, and page goal if missing.
2. Review references/brief-template.md and references/brand-voice.md.
3. Draft search intent, outline, questions to answer, and CTA guidance.
4. Use the template headings. Flag unsupported claims for review.
5. Return a draft for a human editor to check before use.

The portable manifest discovers skills in the root skills/ folder. These example reference files are placeholders: copy in your real approved files. If Plugin Creator scaffolds .codex-plugin/plugin.json instead, that is a supported compatibility layout; follow the file paths it generates rather than mixing the two layouts.

C · Use AI to repackage the GPT

Use this path when you want help turning existing instructions and files into a clean plugin. You still need to supply the GPT configuration and original knowledge files. AI cannot infer what is in a file it has not been given.

  1. Gather the inputs. Copy the GPT's published instructions into a text file. Download or locate the original knowledge documents. Save example outputs and test prompts, plus a list of apps and Custom Actions.
  2. Start Plugin Creator. In ChatGPT Chat or Work, type @ and select Plugin Creator if your workspace offers it. For a local development workflow in Codex, use the available @plugin-creator or $plugin-creator skill as shown in your environment.
  3. Attach the source material and paste the brief below. Ask it to separate stable workflow instructions from supporting references, to show the proposed structure, and to flag integrations it cannot transfer.
  4. Inspect the draft. Confirm the skill description triggers for the right request, the full instructions preserve critical rules, reference files are included, and any dependencies are actually configured. Revise with follow-up prompts.
  5. Finish, install, and test. Follow Plugin Creator's prompts to create the plugin, install it if prompted, and compare the results with your saved GPT examples. Share only after another intended user can use it.
Copyable prompt for Plugin Creator
Create a private plugin to replace my existing "SEO Content Brief" Custom GPT.
I am attaching its published instructions, original knowledge files,
one example output, and several test prompts.

Please:
1. Make a reusable skill for creating SEO content briefs.
2. Put the lasting process, inputs, output format, and review rules in
   the skill instructions. Keep the approved brief template and brand
   voice guide as reference files.
3. Show me the proposed skill name, description, file structure,
   and a list of what was copied, rewritten, or omitted.
4. List every connected app and Custom Action separately. Do not
   claim an integration is working until it has been connected and tested.
5. Ask me about any missing source file or unclear instruction.
6. Keep it private while we run the attached test prompts.

Do not invent facts, brand guidance, or permissions that are absent
from the source materials.

For a manual file package assisted by AI, replace the first line with: “Create a local, portable plugin folder with a root plugin.json, skills/<name>/SKILL.md, and the original supporting files in references/. Show me the files before any installation.” Have a person review the generated files before they are installed.

6. Test the replacement before rollout

A migrated Plugin may not behave exactly like the original GPT, so use the same prompts before and after migration and compare the results.

7. Sharing and rollout

Migration does not automatically carry over your existing GPT sharing settings. A migrated Plugin starts private, and users may need the Plugin shared with them and installed before they can use it.

Do not assume existing GPT users automatically get the replacement. Test access with another user before announcing the migration is complete.

A simple rollout flow is: migrate → test → share → have users install → confirm access → switch the team over.

8. Recommended inventory sheet

For teams with multiple GPTs, track the migration in a simple spreadsheet using columns like these:

ColumnWhat to capture
GPT NameName of the existing Custom GPT.
OwnerPerson responsible for maintaining it.
PurposeWhat business task it supports.
Knowledge FilesTemplates, SOPs, reports, or reference documents.
Apps / ActionsConnected apps or Custom Actions currently in use.
UsersWho relies on it today.
DecisionStandalone Plugin, Skill in a larger Plugin, or retire.
Migration ComplexityLow, Medium, or High.
StatusNot started, Migrated, Testing, Ready, Retired.

9. Dates to plan around

DateMilestone
October 26, 2026Planned end of new Custom GPT creation for affected Enterprise workspaces. Existing unmigrated GPTs can still be edited.
December 11, 2026Standard scheduled retirement date for Custom GPTs.
February 11, 2027Retirement date for qualifying Enterprise workspaces with an approved deferral.

Quick summary

Instructions become Skills. Knowledge files become reference files. Connected apps can be included in Plugins. Custom Actions need special attention because they do not automatically transfer.

For most teams, the best approach is to inventory what you have, combine similar GPTs where it makes sense, migrate the important ones, and run side-by-side testing before asking users to switch.

Official OpenAI references

Custom GPT retirement and migration FAQ

Plugins in ChatGPT

Moving your custom GPT workflows to plugins

Build plugins with Plugin Creator

Package your plugin: files, manifests, and local marketplaces

Build skills: SKILL.md structure

Want more guides like this?

I write THE LATHAM every week: what I'm building with AI, what's working, and what the human still has to do. No fluff, no faceless content.

Read THE LATHAM →