plugin-creator scaffold: plugin.json references ./skills/ that is not created by default; marketplace entry path ignores --path
Open 💬 0 comments Opened Jul 8, 2026 by zachbell1
Version: codex-cli 0.133.0, skills/.system/plugin-creator/scripts/create_basic_plugin.py
Two bugs in the bundled scaffold:
- Unconditional
skillsfield.build_plugin_json()always writes"skills": "./skills/"intoplugin.json, butskills/is only created when--with-skillsis passed (optional_directories, line ~280). A default scaffold ships a manifest pointing at a directory that does not exist.
- Marketplace entry ignores
--path.build_marketplace_entry()hard-codes"path": f"./plugins/{plugin_name}"relative to the marketplace root and takes no path argument. When a plugin is created with a custom--path, the marketplace entry points to the wrong location. The help text documents this as intentional ("Marketplace entries always point to ./plugins/<plugin-name> relative to the marketplace root") rather than fixing it — but that assumption only holds when the marketplace and plugin share the default root.
Suggested fixes: make the manifest skills field conditional on --with-skills; derive the marketplace entry path from the plugin's actual location relative to the marketplace root, failing fast if the plugin is outside it.
Repro (from skills/.system/plugin-creator/scripts/):
python3 create_basic_plugin.py demo
# plugin.json references ./skills/, directory not created
python3 create_basic_plugin.py demo --path /tmp/elsewhere --with-marketplace
# marketplace entry still says ./plugins/demo