← GPTs to PluginCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to GPTs to Plugin
Snapshot Sep 30, 2026 · 23:17 UTC · version 0.1.2+codex.20260921090000
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "submission-preflight",
"description": "Run a deterministic preflight for OpenAI plugin manifests, assets, skills, prompts, names, and ZIP structure before dashboard upload.",
"included_files": [],
"skill_md_contents": "---\nname: submission-preflight\ndescription: Run a deterministic preflight for OpenAI plugin manifests, assets, skills, prompts, names, and ZIP structure before dashboard upload.\n---\n\n# Submission preflight\n\nUse this skill before every OpenAI dashboard upload or version update.\n\n## Checks\n\n- Parse `.codex-plugin/plugin.json` and confirm the package name matches the outer folder.\n- Confirm `interface.defaultPrompt` is an array containing at most three non-empty strings.\n- Confirm the subtitle is no more than 30 characters and describes a concrete user benefit.\n- For every skill, confirm frontmatter exists, the skill name is normalized, and the combined plugin-name plus skill-name length is within the platform limit.\n- Resolve `interface.logo` and `interface.composerIcon`; require square PNG files and verify directory and composer minimum dimensions.\n- Confirm every referenced skill and asset exists.\n- Confirm the ZIP has `.codex-plugin/plugin.json` at its root and contains no accidental parent directory, secrets, or macOS metadata.\n- Run the plugin validator and record its exact result.\n\n## Issue ledger\n\nFor every failure, record the observed error, source path and field, smallest fix, validation result, and remaining status. Do not move to dashboard upload while a preflight failure remains.\n\n## Update invariant\n\nWhen updating an existing published plugin, preserve its plugin ID, package name, developer identity, public metadata, branding, and directory identity. Only upload a newly versioned package after all checks pass.\n"
}SHA-256: 268500659b6d4c6ed01cd684d31b854c54d1fba172a478acb70831c0fd937308