从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。
数据分析
plugin-creator
为 Codex 一键生成规范化命名的插件目录、清单与可选子目录。
它能做什么
Plugin Creator 通过一条命令为 Codex 搭建插件目录。它总会生成包含完整字段与占位符的 `.codex-plugin/plugin.json`,以及规范化为小写连字符格式(最长 64 字符)、与清单 `name` 保持一致的外层文件夹。脚本可按需创建 `skills/`、`hooks/`、`scripts/`、`assets/`、`.mcp.json` 与 `.app.json`。传入 `--with-marketplace` 时,会新建或更新 `.agents/plugins/marketplace.json`:首次创建会写入顶层的 `name` 与 `interface.displayName` 占位符,并在 `plugins[]` 末尾追加一条包含 `policy.installation`、`policy.authentication` 与 `category` 的条目,默认值分别为 `AVAILABLE`、`ON_INSTALL`、`Productivity`。`--force` 仅在你明确要替换同名条目时使用。
什么时候用它
- 为 Codex 搭建新插件目录,生成规范化名称与清单
- 为现有插件补齐 skills、hooks、scripts、assets、MCP 配置、apps 等可选子目录
- 新建或追加 .agents/plugins/marketplace.json 条目,管理插件展示顺序
技能文档
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 repo root (or replace .agents/... with the absolute path to this SKILL).
# By default creates in /plugins/.
python3 .agents/skills/plugin-creator/scripts/create_basic_plugin.py
-
Open
/.codex-plugin/plugin.jsonand replace[TODO: ...]placeholders. -
Generate or update the repo marketplace entry when the plugin should appear in Codex UI ordering:
# marketplace.json always lives at /.agents/plugins/marketplace.json
python3 .agents/skills/plugin-creator/scripts/create_basic_plugin.py my-plugin --with-marketplace
For a home-local plugin, treat `` 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
- Generate/adjust optional companion folders as needed:
python3 .agents/skills/plugin-creator/scripts/create_basic_plugin.py my-plugin --path \
--with-skills --with-hooks --with-scripts --with-assets --with-mcp --with-apps --with-marketplace
is the directory where the plugin folder will be created (for example ~/code/plugins).
What this skill creates
- 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. - Fills the manifest with the full schema shape, placeholder values, and the complete
interfacesection. - Creates or updates
/.agents/plugins/marketplace.jsonwhen--with-marketplaceis set.- If the marketplace file does not exist yet, seed top-level
nameplusinterface.displayNameplaceholders before adding the first plugin entry.
- If the marketplace file does not exist yet, seed top-level
- `` is normalized using skill-creator naming rules:
My Plugin→my-pluginMy--Plugin→my-plugin- underscores, spaces, and punctuation are converted to
- - result is lower-case hyphen-delimited with consecutive hyphens collapsed
- Supports optional creation of:
skills/hooks/scripts/assets/.mcp.json.app.json
Marketplace workflow
marketplace.jsonalways lives at/.agents/plugins/marketplace.json.- For a home-local plugin, use the same convention with `` as the root:
~/.agents/plugins/marketplace.jsonplus./plugins/. - Marketplace root metadata supports top-level
nameplus optionalinterface.displayName. - Treat plugin order in
plugins[]as render order in Codex. Append new entries unless a user explicitly asks to reorder the list. displayNamebelongs inside the marketplaceinterfaceobject, not individualplugins[]entries.- Each generated marketplace entry must include all of:
policy.installationpolicy.authenticationcategory
- Default new entries to:
policy.installation: "AVAILABLE"policy.authentication: "ON_INSTALL"
- Override defaults only when the user explicitly specifies another allowed value.
- Allowed
policy.installationvalues:NOT_AVAILABLEAVAILABLEINSTALLED_BY_DEFAULT
- Allowed
policy.authenticationvalues:ON_INSTALLON_USE
- Treat
policy.productsas an override. Omit it unless the user explicitly requests product gating. - The generated plugin entry shape is:
{
"name": "plugin-name",
"source": {
"source": "local",
"path": "./plugins/plugin-name"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity"
}
-
Use
--forceonly when intentionally replacing an existing marketplace entry for the same plugin name. -
If
/.agents/plugins/marketplace.jsondoes not exist yet, create it with top-level"name", an"interface"object containing"displayName", and apluginsarray, then add the new entry. -
For a brand-new marketplace file, the root object should look like:
{
"name": "[TODO: marketplace-name]",
"interface": {
"displayName": "[TODO: Marketplace Display Name]"
},
"plugins": [
{
"name": "plugin-name",
"source": {
"source": "local",
"path": "./plugins/plugin-name"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Productivity"
}
]
}
Required behavior
- Outer folder name and
plugin.json"name"are always the same normalized plugin name. - Do not remove required structure; keep
.codex-plugin/plugin.jsonpresent. - Keep manifest values as placeholders until a human or follow-up step explicitly fills them.
- If creating files inside an existing plugin path, use
--forceonly when overwrite is intentional. - Preserve any existing marketplace
interface.displayName. - When generating marketplace entries, always write
policy.installation,policy.authentication, andcategoryeven if their values are defaults. - Add
policy.productsonly when the user explicitly asks for that override. - Keep marketplace
source.pathrelative to repo root as./plugins/.
Reference to exact spec sample
For the exact canonical sample JSON for both plugin manifests and marketplace entries, use:
references/plugin-json-spec.md
Validation
After editing SKILL.md, run:
python3 /scripts/quick_validate.py .agents/skills/plugin-creator
常见问题
- 会覆盖已有的插件目录吗?
- 不会。已有文件会被保留;只有在使用 `--force` 且插件名相同时,才会替换 marketplace 中已有的条目。
- marketplace.json 应该放在哪里?
- 仓库根的 `<root>/.agents/plugins/marketplace.json`;家用本机场景
相关技能
把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。
通过托管 OAuth 代理连接 Notion 工作区,支持搜索、数据库查询与读取,写入需用户确认。
通过托管 OAuth 连接,读写 Google Merchant Center 的商品、库存、促销与账户数据。
通过托管 OAuth 网关调用 Square API 接口,内置连接管理能力。
基于 MachFive API 搭建冷外联活动并从线索数据生成个性化邮件序列,搭活动不消耗配额。
OpenAI 的更多技能
浏览全部技能从概念、品牌或参考图生成 Codex 兼容的宠物精灵动画图谱。
imagegen
官方通过内置图像工具生成或编辑项目所需的位图素材,仅在用户明确要求时切换到 CLI 回退路径。
用官方 Windows App SDK 模板和内置安装流程引导、搭建并验证 WinUI 3 桌面应用。
通过 Code Connect 把 Figma 组件与代码组件对应起来,并扫描代码库寻找匹配的实现。
针对具体代码库产出有据可查的 AppSec 威胁建模 Markdown 文档。
按既定流程把 Figma 设计稿转成项目代码,视觉与 Figma 1:1 对齐,并落到已有设计系统里。