From 0f29cc23d4261e5ea9a3807e91d422245e7c2173 Mon Sep 17 00:00:00 2001 From: Casey Chow Date: Wed, 6 May 2026 15:41:57 -0400 Subject: [PATCH] fix(skills): restore plugin creator guidance --- .../src/assets/samples/plugin-creator/SKILL.md | 15 ++++----------- .../samples/plugin-creator/agents/openai.yaml | 2 +- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/codex-rs/skills/src/assets/samples/plugin-creator/SKILL.md b/codex-rs/skills/src/assets/samples/plugin-creator/SKILL.md index d59a7a0b0a..71caf208d8 100644 --- a/codex-rs/skills/src/assets/samples/plugin-creator/SKILL.md +++ b/codex-rs/skills/src/assets/samples/plugin-creator/SKILL.md @@ -17,8 +17,7 @@ description: Create and scaffold plugin directories for Codex with a required `. python3 .agents/skills/plugin-creator/scripts/create_basic_plugin.py ``` -2. Open `/.codex-plugin/plugin.json` and replace `[TODO: ...]` placeholders only - with real values from the user. Ask for needed values, and leave irrelevant fields blank. +2. Open `/.codex-plugin/plugin.json` and replace `[TODO: ...]` placeholders. 3. Generate or update the repo marketplace entry when the plugin should appear in Codex UI ordering: @@ -50,15 +49,10 @@ python3 .agents/skills/plugin-creator/scripts/create_basic_plugin.py my-plugin - - If the user has not made the plugin location explicit, ask whether they want a repo-local plugin or a home-local plugin before generating marketplace entries. - Creates plugin root at `///`. - Always creates `///.codex-plugin/plugin.json`. -- The scaffold script may create a broad manifest template. After running it, edit - `.codex-plugin/plugin.json` so optional metadata reflects real user input: - - keep `"name"` - - keep component paths such as `"skills"`, `"mcpServers"`, or `"apps"` only when the matching files or directories exist - - ask the user for real description, version, and interface metadata before filling them - - leave irrelevant or unknown optional fields blank rather than inventing author, URL, license, prompt, icon, logo, or screenshot metadata +- Fills the manifest with the full schema shape, placeholder values, and the complete `interface` section. - For local testing after scaffold creation, use `plugin-sideload`; it installs the plugin into the temporary `$CODEX_HOME/plugins/cache` development cache. - Creates or updates `/.agents/plugins/marketplace.json` when `--with-marketplace` is set. - - If the marketplace file does not exist yet, replace placeholder top-level marketplace metadata with real values, or ask the user before leaving the file as part of the result. + - If the marketplace file does not exist yet, seed top-level `name` plus `interface.displayName` placeholders before adding the first plugin entry. - `` is normalized using skill-creator naming rules: - `My Plugin` → `my-plugin` - `My--Plugin` → `my-plugin` @@ -145,8 +139,7 @@ python3 .agents/skills/plugin-creator/scripts/create_basic_plugin.py my-plugin - - Outer folder name and `plugin.json` `"name"` are always the same normalized plugin name. - Do not remove required structure; keep `.codex-plugin/plugin.json` present. -- Before replacing placeholder optional metadata, ask the user for the real value or leave the field blank when it is not relevant. -- Do not replace placeholders with invented values. +- Keep manifest values as placeholders until a human or follow-up step explicitly fills them. - If creating files inside an existing plugin path, use `--force` only when overwrite is intentional. - Preserve any existing marketplace `interface.displayName`. - When generating marketplace entries, always write `policy.installation`, `policy.authentication`, and `category` even if their values are defaults. diff --git a/codex-rs/skills/src/assets/samples/plugin-creator/agents/openai.yaml b/codex-rs/skills/src/assets/samples/plugin-creator/agents/openai.yaml index 3ff9513cd6..c37c339786 100644 --- a/codex-rs/skills/src/assets/samples/plugin-creator/agents/openai.yaml +++ b/codex-rs/skills/src/assets/samples/plugin-creator/agents/openai.yaml @@ -1,6 +1,6 @@ interface: display_name: "Plugin Creator" short_description: "Scaffold plugins and marketplace entries" - default_prompt: "Use $plugin-creator to scaffold a plugin. Ask before filling unknown plugin.json or marketplace.json fields, and leave irrelevant fields blank rather than inventing values. Use $plugin-sideload next when the user wants to install the local plugin into the temporary Codex cache for testing." + default_prompt: "Use $plugin-creator to scaffold a plugin with placeholder plugin.json, optional structure, and a marketplace.json entry. Use $plugin-sideload next when the user wants to install the local plugin into the temporary Codex cache for testing." icon_small: "./assets/plugin-creator-small.svg" icon_large: "./assets/plugin-creator.png"