SuperAPI AI 工具集

marketplace-publishing

通用与其它

查看项目

更新于 10-15 09:48

技能介绍

用途

该技能用于记录如何将技能(skills)和智能体(agents)发布到 dotnet-skills Claude Code 市场。它面向需要向该市场贡献内容的开发者,提供从新增内容、注册、校验到发布版本的完整流程说明。

仓库结构

仓库 dotnet-skills 的主要结构如下:

  • .claude-plugin/:包含 marketplace.json(市场目录)和 plugin.json(插件元数据及技能/智能体注册表)。
  • .github/workflows/:包含 release.yml(发布自动化)。
  • skills/:按领域组织技能,包括 akka/(Akka.NET 技能)、aspire/(.NET Aspire 技能)、csharp/(C# 语言技能)、testing/(测试框架技能)、meta/(关于本市场的元技能)。
  • agents/:存放智能体定义(*.md)。
  • scripts/:包含 validate-marketplace.sh 校验脚本。

新增技能

  1. 选择分类:技能按领域组织,包括 akka/、aspire/、csharp/、testing/、meta/。若没有合适分类,可新建分类文件夹。
  2. 创建技能文件夹:路径为 skills/<category>/<skill-name>/SKILL.md,例如 skills/akka/cluster-sharding/SKILL.md。
  3. 编写 SKILL.md:需包含 YAML frontmatter,其中 name 必须为小写并用连字符(如 cluster-sharding),description 用 1-2 句话说明何时应使用该技能。正文应全面覆盖主题,内容约 10-40KB,并包含使用现代 C# 模式的具体代码示例。
  4. 在 plugin.json 中注册:将技能路径加入 .claude-plugin/plugin.json 的 skills 数组。
  5. 校验:运行 ./scripts/validate-marketplace.sh。
  6. 一起提交:将技能文件夹与 plugin.json 一并提交。

新增智能体

  1. 创建智能体文件:在 /agents/ 下创建 markdown 文件,frontmatter 中 name 必须为小写并用连字符,model 必须为 haiku、sonnet、opus 之一,color 可选(用于 UI 显示)。正文需说明智能体的领域专长、参考资料、核心专长领域和诊断方法。
  2. 在 plugin.json 中注册:将智能体路径加入 agents 数组。
  3. 一起提交:将智能体文件与 plugin.json 一并提交。

发布版本

版本号在 .claude-plugin/plugin.json 中更新,使用语义化版本(MAJOR.MINOR.PATCH):MAJOR 表示破坏性变更(重命名/移除技能),MINOR 表示新增技能或智能体,PATCH 表示修复或改进现有内容。

发布流程:更新 plugin.json 中的版本号 → 运行校验脚本 → 提交版本变更 → 创建并推送标签(如 git tag v1.1.0、git push origin master --tags)。GitHub Actions 会自动校验市场结构并创建带自动生成说明的 GitHub release。

用户安装

用户安装的是完整插件(包含所有技能和智能体):

# 添加市场(一次性)
/plugin marketplace add Aaronontheweb/dotnet-skills

# 安装插件(获取全部内容)
/plugin install dotnet-skills

# 更新到最新版本
/plugin marketplace update

校验清单

提交前需确认:SKILL.md 具有包含 name 和 description 的有效 YAML frontmatter;技能文件夹位于合适分类下;路径已加入 plugin.json 的 skills 数组;智能体需指定 model(haiku/sonnet/opus);./scripts/validate-marketplace.sh 通过。

常见问题排查

  • 安装后技能未出现:检查 plugin.json 中的路径是否与文件夹结构匹配,确认文件夹中存在 SKILL.md,可尝试卸载后重新安装。
  • 校验错误:确保 JSON 有效(jq . .claude-plugin/plugin.json),检查数组中的尾随逗号,确认所有引用的文件夹都包含 SKILL.md。
  • 未创建 release:确保标签符合 semver 格式(v1.0.0),检查 GitHub Actions 日志,确认 plugin.json 版本与标签一致。