SuperAPI AI 工具集

plugin-builder

编程与开发

查看项目

更新于 10-15 10:01

技能介绍

用途

plugin-builder 用于自动化 Claude Code 插件的整个创建与分发流程。它的目标是:把一个技能在几分钟内转换为可分发的插件,而不是耗费数小时手工处理。具体场景包括:把技能打包以供分发、创建可安装的技能集合、与团队共享技能、发布到社区市场、在发布前校验结构、搭建团队或组织市场、批量将多个技能转换为插件,以及把现有技能迁移为插件格式。

主要能力

  • 初始化插件目录结构,生成完整骨架与 README 模板。
  • 生成有效的 plugin.json 与 marketplace.json 清单文件。
  • 校验插件结构与 2025 schema 合规性。
  • 将已有技能打包为插件格式。
  • 自动化重复性的插件任务。

插件可以包含:Skills(智能体能力)、Commands(自定义斜杠命令)、Agents(专用子智能体)、Hooks(事件处理器)、MCP Servers(外部工具集成)。插件通过基于 Git 的市场进行分发,用户使用以下命令安装:

/plugin marketplace add owner/repo
/plugin install plugin-name@marketplace-name

插件目录结构如下:

plugin-name/
├── .claude-plugin/
│   ├── plugin.json           # 必需:插件元数据
│   └── marketplace.json      # 可选:用于分发
├── skills/                    # 你的技能放在这里
├── commands/                  # 自定义命令(可选)
├── agents/                    # 子智能体(可选)
└── README.md                  # 建议:文档

使用方式

前置条件

需要基本了解 Claude Code skills、熟悉终端命令行、了解基本 JSON 概念(脚本会代为生成),并安装 Python 3.8+、Git;进行打包操作时需已有要打包的技能/命令/智能体。可选:GitHub 账号(用于公开分发)、文本编辑器(用于手动编辑清单)。

操作 1:初始化插件结构

以最少配置创建完整的插件目录结构。适用场景:从零开始创建新插件、需要正确的目录布局、希望生成 README 模板。

交互式脚本(推荐):

cd /path/to/your/workspace
python /path/to/plugin-builder/scripts/init_plugin.py

按提示输入插件名、描述、作者名、作者邮箱(可选),并选择要包含的组件(skills/commands/agents)。

命令行方式:

python /path/to/plugin-builder/scripts/init_plugin.py my-plugin \
  --description "My awesome plugin" \
  --author "Your Name" \
  --email "you@example.com" \
  --components skills,commands

手动创建方式:

mkdir -p my-plugin/.claude-plugin
mkdir -p my-plugin/skills
mkdir -p my-plugin/commands  # optional
mkdir -p my-plugin/agents    # optional

# Create minimal plugin.json
cat > my-plugin/.claude-plugin/plugin.json <<'EOF'
{
  "name": "my-plugin"
}
EOF

执行后会生成选定的组件目录、plugin.json(仅含名称的最小清单)和 README.md 模板。校验要点:目录名称正确、.claude-plugin/plugin.json 存在且为有效 JSON、README.md 存在、选定的组件目录已创建。

操作 2:生成 plugin.json

创建或更新插件清单文件。适用场景:初始化结构之后、需要添加或更新元数据、想要包含所有可选字段、从最小清单升级为完整清单。可输入插件名(必需)、版本(建议,默认 1.0.0)、描述(建议)、作者信息、主页 URL、仓库 URL、许可证(默认 MIT)、关键词、组件路径等。

交互式脚本:

python scripts/generate_manifest.py /path/to/my-plugin

更新现有清单:

python scripts/generate_manifest.py /path/to/my-plugin --update

使用模板:

python scripts/generate_manifest.py /path/to/my-plugin --template standard

模板包括 minimal(仅名称)、standard(名称、版本、描述、作者,推荐)、complete(所有字段加示例)。手动创建时从 templates/plugin.json.standard 复制并编辑,例如:

{
  "name": "my-plugin",
  "version": "1.0.0",
  "description": "Brief description of plugin functionality",
  "author": {
    "name": "Your Name",
    "email": "you@example.com"
  },
  "keywords": ["keyword1", "keyword2"],
  "license": "MIT"
}

保存到 .claude-plugin/plugin.json。校验要点:JSON 语法有效、name 字段存在且为 kebab-case、version 遵循 semver、无绝对路径、文件保存位置正确。建议使用语义化版本、包含关键词以提升可发现性、为开源插件添加仓库 URL、描述不超过 200 字符、插件名使用 kebab-case。

操作 3:生成 marketplace.json

创建一个用于分发一个或多个插件的市场目录文件。适用场景:通过 GitHub 仓库分发插件、创建团队市场、发布多个插件、设置插件目录。输入包括市场名称(必需)、所有者名称与邮箱(必需)、插件条目(名称、来源、描述、分类、版本)等。

交互式脚本:

python scripts/generate_marketplace.py

自动扫描插件:

python scripts/generate_marketplace.py --scan plugins/

手动创建时从 templates/marketplace.json.minimal 复制并编辑,例如:

{
  "name": "my-marketplace",
  "description": "Curated plugins for my team",
  "owner": {
    "name": "Team Name",
    "email": "team@company.com"
  },
  "plugins": [
    {
      "name": "plugin-one",
      "description": "First plugin",
      "source": "./plugins/plugin-one",
      "category": "development"
    }
  ]
}

保存到仓库根目录的 .claude-plugin/marketplace.json。校验要点:JSON 语法有效、必需字段(name、owner、plugins)存在、所有插件来源有效、插件名为 kebab-case、分类为标准值(development、productivity、security、learning)。

分发设置:生成 marketplace.json 后,创建 GitHub 仓库并推送:

cd /path/to/marketplace
git init
git add .
git commit -m "Initial marketplace setup"
git remote add origin git@github.com:username/my-marketplace.git
git push -u origin main

用户添加市场:

/plugin marketplace add username/my-marketplace

用户安装插件:

/plugin install plugin-name@my-marketplace

操作 4:校验插件

对插件结构、清单和组件合规性进行全面校验。适用场景:发布到市场之前、修改插件之后、创建 GitHub release 之前、排查插件问题、确保 2025 schema 合规。

python scripts/validate_plugin.py /path/to/my-plugin

详细输出:

python scripts/validate_plugin.py /path/to/my-plugin --verbose

指定校验类型:

# 仅结构
python scripts/validate_plugin.py /path/to/my-plugin --check structure

# 仅清单
python scripts/validate_plugin.py /path/to/my-plugin --check manifests

# 仅组件(skills、commands、agents)
python scripts/validate_plugin.py /path/to/my-plugin --check components

# 2025 schema 合规
python scripts/validate_plugin.py /path/to/my-plugin --check 2025

校验类别包括结构校验(.claude-plugin/ 目录存在、plugin.json 存在、组件目录位于插件根目录而非 .claude-plugin/ 内、目录名为 kebab-case、README.md 存在)、清单校验(JSON 有效、name 字段存在且为 kebab-case、version 遵循 semver、无绝对路径、引用的文件真实存在)、组件校验(skills 有 SKILL.md、有效 YAML frontmatter、有 allowed-tools 字段;commands 有带 frontmatter 的有效 markdown;agents 有正确的 markdown 结构;生产文件中无占位 TODO 注释)以及 2025 schema 合规(所有 skills 的 frontmatter 中有 allowed-tools 字段、allowed-tools 列出有效的 Claude Code 工具、frontmatter 格式正确)。

适用场景

  • 创建插件:为分发打包技能、创建可安装的技能集合、与团队共享技能、发布到社区市场。
  • 校验与质量:发布前校验插件结构、确保 2025 schema 合规、检查清单正确性、验证组件格式。
  • 分发设置:创建团队/组织市场、设置 GitHub 分发、配置多插件目录。
  • 批量操作:将多个技能转换为插件、打包整个技能生态、把现有技能迁移为插件格式。

限制

资料中未提供该工具的收费、价格信息,暂未提供其他使用限制说明。