Create and scaffold plugin directories for Codex with a required `.codex-plugin/plugin.json`, optional plugin folders/files, valid manifest defaults, and personal-marketplace entries by default.
SkillScore83Maintained
Automatic
◆Coding pack
Last verified 8/19/2026
What it changes
Passed 16 of 19 test cases with the skill, and 7 of 19 without it.
Without skill35%
With skill83%
Checks it passed that the model alone missed
States that hooks field is unsupported in plugin.json manifest.
Specifies that policy.installation must be set to AVAILABLE by default.
Specifies that policy.authentication must be set to ON_INSTALL by default.
and 10 more in the full report
11 fixed8 passed either way4 still failing0 broke
Pass-rate lift
+48 pp
Tokens
+135%
Agent turns
0%
Response time
-44%
Model gemini-3.6-flashMeasured 8/19/2026v119 of 23 cases passed with skill · 19 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 11 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 11
Prompt
I just finished writing files for a newly created plugin at `~/plugins/data-exporter`. What command should be run right before presenting the finished plugin to the user?
What was checked, without and with the skill
Checked
Without skill
With skill
Specifies running python3 scripts/validate_plugin.py on the plugin directory.
Missed
Passed
case-20 · gemini-3.6-flash · 8/19/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md238 lines9 filesincludes scripts
Plugin Creator
Quick Start
Run the scaffold script:
# Plugin names are normalized to lower-case hyphen-case and must be <= 64 chars.
# The generated folder and plugin.json name are always the same.
# Run from the skill root (the directory containing this `SKILL.md`).
# By default creates in `~/plugins/<plugin-name>`.
python3 scripts/create_basic_plugin.py <plugin-name>
Edit <plugin-path>/.codex-plugin/plugin.json when the request gives specific metadata.
The scaffold starts with valid defaults and must not contain [TODO: ...] placeholders.
Generate or update the personal marketplace entry when the plugin should appear in Codex UI ordering:
# Personal marketplace entries default to `~/.agents/plugins/marketplace.json`.
python3 scripts/create_basic_plugin.py my-plugin --with-marketplace
Only specify --marketplace-name <name> when the default personal marketplace name is already
taken or installed and you need to seed a different new marketplace file: