Migrate Plugin
Port the user capability and its evidence, not the source host's packaging
assumptions.
Workflow
- Record the source repository, exact commit, version, and target base commit.
Read every source component and its tests before editing.
- Fetch current official documentation for both the source host and Codex. In
this marketplace, complete the root
AGENTS.md preflight and read
docs/PLUGIN-PHILOSOPHY.md plus docs/MIGRATION-PLAYBOOK.md. Record live
URLs and the date checked; copy no upstream prose.
- Define the user-goal vertical slice: inputs, repository context, output,
side effects, boundaries, platform variants, and acceptance evidence.
- Read references/component-map.md, then create
a complete keep, reshape, replace, or drop ledger. Override
the map when current official docs differ. Record every replacement and drop.
- Identify the cohesive core, inbound ports for intent and repository context,
outbound ports for files, shell, MCP, connectors, network, UI, and writes,
and the smallest Codex-native adapter for each port.
- Scaffold the Codex package with
$plugin-creator and each skill with
$skill-creator. Never add a second host manifest to the source plugin.
- Rewrite host-specific hooks, MCP wiring, agents, settings, paths, tools, and
lifecycle behavior using current Codex contracts. Preserve domain logic only
after removing user, company, machine, source-install, and sibling-plugin
assumptions.
- Discover behavior from the current request, active
AGENTS.md hierarchy,
native project evidence, and available capabilities before applying plugin
defaults. Keep consumer-specific policy outside the plugin.
- Prefer explicit input and native Codex configuration. Put optional tools
behind narrow adapters with a useful fallback or clear unsupported result.
- Run
$plugin-ops:verify-plugin, the built-in creation validators, and behavioral tests
in a new Codex task with the source marketplace and sibling plugins disabled.
Test direct, indirect, negative, incomplete, nested-repository-context, missing-
dependency, platform, existing-change, partial-failure, and isolated-install
cases. Compare outcomes and side effects, not copied wording.
Return contract
The pull request must record source and target commits, live upstream pointers,
the use-case inventory, the component ledger, native surfaces, ports and
adapters, context precedence, defaults and fallbacks, intentional differences,
and validation evidence.
Boundary
Do not create automatic cross-repository synchronization. Claude Code, Cursor,
and Codex packages remain independent sources of truth. Port improvements
deliberately in either direction.
1---2name: migrate-plugin3description: Translate a Claude Code, Cursor, or older Codex plugin into an independent Codex-native package. Use when porting skills, agents, hooks, MCP configuration, manifests, marketplace entries, scripts, or plugin behavior between agent hosts.4---56# Migrate Plugin78Port the user capability and its evidence, not the source host's packaging9assumptions.1011## Workflow12131. Record the source repository, exact commit, version, and target base commit.14 Read every source component and its tests before editing.152. Fetch current official documentation for both the source host and Codex. In16 this marketplace, complete the root `AGENTS.md` preflight and read17 `docs/PLUGIN-PHILOSOPHY.md` plus `docs/MIGRATION-PLAYBOOK.md`. Record live18 URLs and the date checked; copy no upstream prose.193. Define the user-goal vertical slice: inputs, repository context, output,20 side effects, boundaries, platform variants, and acceptance evidence.214. Read [references/component-map.md](references/component-map.md), then create22 a complete **keep**, **reshape**, **replace**, or **drop** ledger. Override23 the map when current official docs differ. Record every replacement and drop.245. Identify the cohesive core, inbound ports for intent and repository context,25 outbound ports for files, shell, MCP, connectors, network, UI, and writes,26 and the smallest Codex-native adapter for each port.276. Scaffold the Codex package with `$plugin-creator` and each skill with28 `$skill-creator`. Never add a second host manifest to the source plugin.297. Rewrite host-specific hooks, MCP wiring, agents, settings, paths, tools, and30 lifecycle behavior using current Codex contracts. Preserve domain logic only31 after removing user, company, machine, source-install, and sibling-plugin32 assumptions.338. Discover behavior from the current request, active `AGENTS.md` hierarchy,34 native project evidence, and available capabilities before applying plugin35 defaults. Keep consumer-specific policy outside the plugin.369. Prefer explicit input and native Codex configuration. Put optional tools37 behind narrow adapters with a useful fallback or clear unsupported result.3810. Run `$plugin-ops:verify-plugin`, the built-in creation validators, and behavioral tests39 in a new Codex task with the source marketplace and sibling plugins disabled.4041Test direct, indirect, negative, incomplete, nested-repository-context, missing-42dependency, platform, existing-change, partial-failure, and isolated-install43cases. Compare outcomes and side effects, not copied wording.4445## Return contract4647The pull request must record source and target commits, live upstream pointers,48the use-case inventory, the component ledger, native surfaces, ports and49adapters, context precedence, defaults and fallbacks, intentional differences,50and validation evidence.5152## Boundary5354Do not create automatic cross-repository synchronization. Claude Code, Cursor,55and Codex packages remain independent sources of truth. Port improvements56deliberately in either direction.