Create and scaffold Codex plugin folders, configs, and marketplace metadata entries.
The materials indicate this is an open-source, highly adopted prompt/scaffolding skill for creating local plugin structures, with no required secrets and no declared remote endpoints. Its main security consideration is routine local file creation or updates to plugin directories and marketplace configuration, so overall risk is low.
The materials explicitly state that no keys or environment variables are required, and the README does not request logins, tokens, or external credentials, so there is no evident credential collection, storage, or abuse surface.
No remote endpoints are declared, and the documentation focuses on local scaffolding and local marketplace.json updates; based on the provided materials, there is no evidence of user data being sent to external services.
The README explicitly runs a local Python script, create_basic_plugin.py, to generate the structure, which is standard local code execution capability; the materials do not show requests for unusual system privileges, but executing a local script still warrants caution.
This skill creates plugin directories under user-specified paths, writes .codex-plugin/plugin.json, and can create or update .agents/plugins/marketplace.json under the repo root or home; this local file write scope matches its stated purpose, and no out-of-scope data access is described.
The source is the open-source GitHub repository openai/skills with high community adoption (~22k stars), providing strong auditability and source credibility; license and maintenance status are not clearly stated, but that uncertainty alone does not materially raise the risk.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "plugin-creator" skill from askskill: 1. Download https://raw.githubusercontent.com/openai/skills/main/skills/.system/plugin-creator/SKILL.md 2. Save it as ~/.claude/skills/plugin-creator/SKILL.md 3. Reload skills and tell me it's ready
# 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 repo root (or replace .agents/... with the absolute path to this SKILL).
# By default creates in <repo_root>/plugins/<plugin-name>.
python3 .agents/skills/plugin-creator/scripts/create_basic_plugin.py <plugin-name>
Open <plugin-path>/.codex-plugin/plugin.json and replace [TODO: ...] placeholders.
Generate or update the repo marketplace entry when the plugin should appear in Codex UI ordering:
# marketplace.json always lives at <repo-root>/.agents/plugins/marketplace.json
python3 .agents/skills/plugin-creator/scripts/create_basic_plugin.py my-plugin --with-marketplace
For a home-local plugin, treat <home> as the root and use:
python3 .agents/skills/plugin-creator/scripts/create_basic_plugin.py my-plugin \
--path ~/plugins \
--marketplace-path ~/.agents/plugins/marketplace.json \
--with-marketplace
python3 .agents/skills/plugin-creator/scripts/create_basic_plugin.py my-plugin --path <parent-plugin-directory> \
--with-skills --with-hooks --with-scripts --with-assets --with-mcp --with-apps --with-marketplace
<parent-plugin-directory> is the directory where the plugin folder <plugin-name> will be created (for example ~/code/plugins).
/<parent-plugin-directory>/<plugin-name>/./<parent-plugin-directory>/<plugin-name>/.codex-plugin/plugin.json.interface section.<repo-root>/.agents/plugins/marketplace.json when --with-marketplace is set.
name plus interface.displayName placeholders before adding the first plugin entry.<plugin-name> is normalized using skill-creator naming rules:
My Plugin → my-pluginMy--Plugin → my-plugin-skills/hooks/scripts/assets/.mcp.json.app.jsonmarketplace.json always lives at <repo-root>/.agents/plugins/marketplace.json.<home> as the root:
~/.agents/plugins/marketplace.json plus ./plugins/<plugin-name>.name plus optional interface.displayName.plugins[] as render order in Codex. Append new entries unless a user explicitly asks to reorder the list.displayName belongs inside the marketplace interface object, not individual plugins[] entries.policy.installationpolicy.authenticationcategorypolicy.installation: "AVAILABLE"policy.authentication: "ON_INSTALL"policy.installation values:
NOT_AVAILABLEAVAILABLEINSTALLED_BY_DEFAULTpolicy.authentication values:
ON_INSTALLON_USEpolicy.products as an override. Omit it unless the user explicitly requests product gating.{
"name": "plugin-name",
"source": {
"source": "local",
"path": "./plugins/plugin-name"
},
"policy": {
"installation": "AVAILABLE",
…
Debug failing GitHub Actions PR checks, analyze logs, propose fixes, then implement with approval.
Convert text into voiceovers, accessibility reads, and batch audio prompts.
Build, review, refactor, and architect modern ASP.NET Core web applications.
Create, scaffold, or edit Jupyter notebooks for experiments, exploration, and tutorials.
Turn Notion specs into implementation plans, tasks, and progress tracking.
Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications.
Guide users to build a plugin from scratch and deliver a .plugin file.
Build, update, test, and release Claude Code plugins efficiently end to end.
Create a composable CLI from docs, specs, SDKs, apps, or scripts.
Generate or update chat customization files for AI coding agents.
Discover Claude Code plugins to extend commands, agents, hooks, and MCP tools.
Scaffold, validate, and manage plugins for the Motor Agéntico ecosystem.