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:

  1. Unconditional skills field. build_plugin_json() always writes "skills": "./skills/" into plugin.json, but skills/ is only created when --with-skills is passed (optional_directories, line ~280). A default scaffold ships a manifest pointing at a directory that does not exist.
  1. 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

View original on GitHub ↗