发布与共享 Skills —— Registry 发布流程、版本管理、语义化版本、社区贡献与私有源搭建
简介
在前文中,我们详细探讨了如何从零开始创建高质量的自定义 Skills——从经验抽象到 SKILL.md 格式规范,从知识库组织到工作流定义,再到八大常见陷阱的避坑指南。你已经掌握了编写一个好 Skill的全部技能。
但写完 Skill 只是第一步。如果你把它锁在本地,它的价值就只限于你自己。
想象一下:你花了一周时间编写的 Kubernetes 故障排查 Skill,包含了你三年运维经验的精华。如果发布到 Skills Hub,可能被成千上万的开发者使用。你的一次知识沉淀,可以帮到无数遇到同样问题的人。
本文将带你走完从本地到全球分发的完整旅程:
- Registry 发布流程:从准备到发布到审核的完整步骤
- 语义化版本管理:MAJOR.MINOR.PATCH 的正确使用方式
- 发布前检查清单:确保你的 Skill 达到发布标准
- 社区贡献指南:如何参与官方技能的维护和改进
- 私有 Registry 搭建:企业内部技能分发方案
- CI/CD 自动化发布:让发布流程自动化
- 发布后的维护:用户反馈、bug 修复、版本迭代
核心观点:发布不是终点,而是技能生命周期的真正开始。
目录
Registry 发布流程
发布架构概览
┌──────────────────────────────────────────────────────────────────┐
│ Skills Registry 发布架构 │
├──────────────────────────────────────────────────────────────────┤
│ │
│ 本地 Skill ──→ 验证 ──→ 打包 ──→ 上传 ──→ 审核 ──→ 发布 │
│ │
│ ┌─────────┐ ┌─────────┐ ┌──────┐ ┌─────────┐ ┌───────┐ │
│ │ SKILL.md│──→│ validate│──→│ pack │──→│ upload │──→│ publish│ │
│ │ + 知识库 │ │ + test │ │ .tar │ │ + sign │ │ + CDN │ │
│ └─────────┘ └─────────┘ └──────┘ └─────────┘ └───────┘ │
│ │ │ │ │ │ │
│ │ │ │ │ ▼ │
│ │ │ │ │ ┌─────────┐ │
│ │ │ │ │ │ Skills │ │
│ │ │ │ │ │ Hub │ │
│ │ │ │ │ │ (CDN) │ │
│ │ │ │ │ └─────────┘ │
│ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 用户端:hermes skills install │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────┘第一步:注册开发者账号
# 注册 Skills Hub 开发者账号
hermes registry register
# 交互式注册流程:
# ═══════════════════════════════════════════════════
# Hermes Skills Registry - 开发者注册
# ═══════════════════════════════════════════════════
#
# 用户名: zhangsan
# 邮箱: zhangsan@example.com
# 显示名称: 张三
# 组织 (可选): 可以不填,或填写你的团队/公司名称
# 个人主页 (可选): https://github.com/zhangsan
#
# [?] 请阅读并同意开发者协议 (Y/n): Y
#
# ✅ 注册成功!
# 验证邮件已发送到 zhangsan@example.com
# 请在 24 小时内完成邮箱验证# 验证邮箱后登录
hermes registry login
# 交互式登录:
# 用户名或邮箱: zhangsan@example.com
# 密码: ********
#
# ✅ 登录成功!
# Token 已保存到 ~/.hermes/registry-token
# 有效期: 30 天第二步:本地验证
在发布之前,必须通过完整的本地验证:
# 完整验证
hermes skills validate ./react-performance-audit/ --strict
# 输出:
# ═══════════════════════════════════════════════════
# Skill 验证报告: react-performance-audit
# ═══════════════════════════════════════════════════
#
# [1/8] SKILL.md 格式检查... ✅
# [2/8] Frontmatter 验证... ✅ (所有必需字段完整)
# [3/8] 知识库文件检查... ✅ (8/8 文件存在)
# [4/8] 工作流定义检查... ✅ (1 个工作流定义有效)
# [5/8] 工具依赖检查... ✅ (4 required + 1 optional)
# [6/8] 依赖兼容性检查... ✅ (node >= 18 满足)
# [7/8] 命名冲突检查... ✅ (名称可用)
# [8/8] 内容质量检查... ✅
# ├── 描述长度: 42 字符 ✅
# ├── 标签数量: 4 个 ✅
# ├── 知识库覆盖率: 85% ✅
# └── 触发词质量: 4 个精准词 ✅
#
# ✅ 所有检查通过!Skill 符合发布标准。第三步:预览发布效果
# 预览发布后的展示效果
hermes skills preview ./react-performance-audit/
# 输出:
# ═══════════════════════════════════════════════════
# 发布预览: react-performance-audit v1.0.0
# ═══════════════════════════════════════════════════
#
# ┌──────────────────────────────────────────────┐
# │ 📦 react-performance-audit │
# │ │
# │ ⭐ Not yet rated │
# │ 📥 0 downloads │
# │ 📐 35KB │
# │ │
# │ React 18+ 组件性能审计与优化,自动检测 │
# │ 重渲染、memo 误用、虚拟列表等问题 │
# │ │
# │ 标签: react, performance, frontend, audit │
# │ 作者: Hermes Community │
# │ 许可: MIT │
# │ │
# │ 📁 包含 8 个知识文件,1 个工作流 │
# └──────────────────────────────────────────────┘
#
# 此预览与 Skills Hub 上的实际展示一致。
# 确认无误后使用 'hermes skills publish' 发布。第四步:打包与签名
# 打包 Skill
hermes skills package ./react-performance-audit/
# 输出:
# ═══════════════════════════════════════════════════
# 打包: react-performance-audit v1.0.0
# ═══════════════════════════════════════════════════
#
# [1/3] 收集文件...
# ├── SKILL.md ✅
# ├── knowledge/ (8 files, 28KB) ✅
# └── workflows/ (1 file, 2KB) ✅
#
# [2/3] 生成清单...
# ├── manifest.json ✅
# └── checksums.sha256 ✅
#
# [3/3] 压缩打包...
# └── react-performance-audit-1.0.0.tar.gz (18KB) ✅
#
# ✅ 打包完成!
# 文件: ./dist/react-performance-audit-1.0.0.tar.gz
# 大小: 18KB# 签名包(使用你的开发者密钥)
hermes skills sign ./dist/react-performance-audit-1.0.0.tar.gz
# 输出:
# ✅ 签名完成
# 签名文件: react-performance-audit-1.0.0.tar.gz.sig
# 签名算法: Ed25519
# 签名者: zhangsan (Hermes Community)第五步:发布到 Registry
# 发布到公共 Registry
hermes skills publish ./dist/react-performance-audit-1.0.0.tar.gz
# 输出:
# ═══════════════════════════════════════════════════
# 发布: react-performance-audit v1.0.0
# ═══════════════════════════════════════════════════
#
# [1/5] 上传到 Registry...
# ✓ 上传完成 (18KB / 18KB)
#
# [2/5] 验证签名...
# ✓ 签名验证通过
#
# [3/5] 自动化检查...
# ✓ 格式检查通过
# ✓ 安全检查通过(无恶意代码)
# ✓ 质量检查通过
#
# [4/5] 创建版本记录...
# ✓ 版本 v1.0.0 已注册
#
# [5/5] CDN 同步...
# ✓ 已分发到 12 个边缘节点
#
# ✅ 发布成功!
# 技能页面: https://skills.hermes.ai/skills/react-performance-audit
# 安装命令: hermes skills install react-performance-audit
#
# 📊 你的技能将在 5-10 分钟内出现在搜索结果中。发布到私有 Registry
# 发布到企业内部 Registry
hermes skills publish ./dist/react-performance-audit-1.0.0.tar.gz \
--registry https://skills.internal.company.com \
--token $COMPANY_REGISTRY_TOKEN
# 输出:
# ✅ 已发布到私有 Registry
# 地址: https://skills.internal.company.com/skills/react-performance-audit发布状态与审核
# 查看发布状态
hermes skills publish-status react-performance-audit
# 输出:
# ═══════════════════════════════════════════════════
# 发布状态: react-performance-audit
# ═══════════════════════════════════════════════════
#
# 当前状态: ✅ 已发布
# 版本: v1.0.0
# 发布时间: 2025-06-20 14:30:00
# 审核状态: ✅ 自动审核通过
#
# 统计数据:
# ├── 下载量: 127
# ├── 评分: ⭐4.8/5.0 (12 评价)
# ├── 安装成功率: 100%
# └── 报告问题: 0
#
# 历史版本:
# ┌──────────┬────────────┬────────┬────────┐
# │ 版本 │ 发布日期 │ 下载量 │ 状态 │
# ├──────────┼────────────┼────────┼────────┤
# │ v1.0.0 │ 2025-06-20 │ 127 │ 当前 │
# └──────────┴────────────┴────────┴────────┘语义化版本管理
版本命名规范
Hermes Skills 严格遵循 Semantic Versioning 2.0.0(语义化版本)规范:
版本号格式: MAJOR.MINOR.PATCH
示例: 1.2.3
MAJOR (主版本号): 不兼容的 API/行为变更
- SKILL.md 结构变更
- 工作流步骤增删或重命名
- 注入模式变更
- 必需工具变更
MINOR (次版本号): 向后兼容的功能新增
- 新增知识库文件
- 新增工作流
- 新增触发词
- 新增可选工具
- 优化现有知识库内容
PATCH (补丁版本): 向后兼容的 bug 修复
- 修正错别字
- 修复知识库中的错误信息
- 修正代码示例
- 更新过时的引用链接版本变更决策树
你要做的变更是什么类型?
│
├─ 会破坏现有用户的体验吗?
│ └─ 会 ──→ MAJOR 版本 (+1.0.0)
│ 示例:重命名工作流、移除注入文件、改变工具需求
│
├─ 是新增功能吗?
│ └─ 是 ──→ MINOR 版本 (0.+1.0)
│ 示例:添加新的知识库、新的工作流、新的触发词
│
└─ 是修复错误吗?
└─ 是 ──→ PATCH 版本 (0.0.+1)
示例:修正错别字、修复代码示例、更新链接版本升级命令
# 自动增加版本号
hermes skills version bump patch # 1.0.0 → 1.0.1
hermes skills version bump minor # 1.0.0 → 1.1.0
hermes skills version bump major # 1.0.0 → 2.0.0
# 设置指定版本
hermes skills version set 2.0.0
# 查看当前版本
hermes skills version
# 输出: react-performance-audit v1.0.0发布新版本
# 完整发布流程:版本 bump → 验证 → 打包 → 发布
hermes skills release --bump minor
# 等价于执行:
# 1. hermes skills version bump minor (v1.0.0 → v1.1.0)
# 2. hermes skills validate --strict (验证)
# 3. hermes skills package (打包)
# 4. hermes skills sign (签名)
# 5. hermes skills publish (发布)
# 6. git tag v1.1.0 && git push --tags (打标签)
# 输出:
# ═══════════════════════════════════════════════════
# 发布新版本: react-performance-audit
# ═══════════════════════════════════════════════════
#
# 版本: v1.0.0 → v1.1.0
# 类型: MINOR (向后兼容的功能新增)
#
# 变更内容:
# + 新增 React 19 兼容性支持
# + 新增 Suspense 性能模式知识库
# + 优化虚拟列表检测算法
#
# [?] 确认发布? (y/N): y
#
# ✅ v1.1.0 发布成功!
# 技能页面: https://skills.hermes.ai/skills/react-performance-audit废弃版本管理
# 标记某个版本为已废弃(不删除,但推荐用户升级)
hermes skills deprecate react-performance-audit v1.0.0 \
--message "请使用 v1.1.0+,此版本存在已知的检测遗漏问题"
# 用户安装时会看到警告:
# ⚠️ v1.0.0 已废弃,请使用 v1.1.0+
# 废弃原因: 此版本存在已知的检测遗漏问题
# 自动安装: v1.1.0 (最新版本)版本兼容性矩阵
# 在 SKILL.md 中声明版本兼容性
---
name: react-performance-audit
version: 2.0.0
# 声明与其他技能的兼容版本
compatibility:
react-testing: ">=1.0.0 <3.0.0" # 兼容 react-testing 1.x 和 2.x
react-security: ">=2.0.0" # 需要 react-security 2.0+
# 声明与 Hermes Agent 的版本要求
min_hermes_version: 0.10.0
max_hermes_version: 1.0.0 # 可选:上限约束
---发布前检查清单
在发布之前,逐项检查以下内容:
✅ 必备检查项
# 发布前检查清单
# [ ] 1. SKILL.md 格式正确
hermes skills validate ./my-skill/SKILL.md --strict
# [ ] 2. 所有知识库文件存在且可读
find ./my-skill/knowledge/ -type f -name "*.md" | while read f; do
echo "Checking: $f"
head -5 "$f"
done
# [ ] 3. 工作流定义有效
hermes skills validate ./my-skill/ --check-workflows
# [ ] 4. 没有敏感信息泄漏
# 检查是否包含 API Key、密码、私钥等
grep -r "AKIA\|password\|secret\|token" ./my-skill/
# [ ] 5. 版本号格式正确
hermes skills version
# [ ] 6. 描述清晰准确
# 重新阅读 description 字段,确认别人能看懂
# [ ] 7. 标签相关准确
# 确保 tags 反映技能的核心领域
# [ ] 8. 许可证明确
# 确认 license 字段填写正确
# [ ] 9. 作者信息完整
# 确认 author 字段包含可联系的方式
# [ ] 10. 本地测试通过
hermes skills test ./my-skill/📋 推荐检查项
# [ ] 代码示例经过验证
# 确保知识库中的代码示例可以正确运行
# [ ] 知识库内容时效性
# 检查引用的文档版本、API 是否过时
# [ ] 多语言支持
# 如果你的技能支持多语言,确保翻译完整
# [ ] README 补充
# 建议在仓库根目录添加 README.md,包含:
# - 快速开始指南
# - 开发说明
# - 贡献指南
# - 变更日志
# [ ] 截图/演示
# 准备技能使用的截图或录屏,用于 Skills Hub 展示
# [ ] 更新 Changelog
# 记录本次版本的所有变更发布前检查脚本
#!/bin/bash
# pre-publish-check.sh
# 发布前自动检查脚本
SKILL_DIR="${1:-.}"
echo "╔══════════════════════════════════════════════════╗"
echo "║ 发布前检查: $SKILL_DIR "
echo "╚══════════════════════════════════════════════════╝"
echo ""
PASS=0
FAIL=0
WARN=0
check() {
local name="$1"
local result="$2"
if [ "$result" -eq 0 ]; then
echo "✅ $name"
PASS=$((PASS + 1))
else
echo "❌ $name"
FAIL=$((FAIL + 1))
fi
}
warn() {
local name="$1"
echo "⚠️ $name"
WARN=$((WARN + 1))
}
# 检查 SKILL.md
[ -f "$SKILL_DIR/SKILL.md" ]
check "SKILL.md 存在" $?
# 检查 Frontmatter
grep -q "^---" "$SKILL_DIR/SKILL.md"
check "Frontmatter 标记" $?
# 检查必需字段
grep -q "^name:" "$SKILL_DIR/SKILL.md"
check "name 字段" $?
grep -q "^version:" "$SKILL_DIR/SKILL.md"
check "version 字段" $?
grep -q "^description:" "$SKILL_DIR/SKILL.md"
check "description 字段" $?
# 检查知识库目录
[ -d "$SKILL_DIR/knowledge" ]
check "knowledge 目录存在" $?
# 检查敏感信息
if grep -rq "AKIA\|password.*=.*['\"]" "$SKILL_DIR/"; then
warn "可能包含敏感信息"
else
check "无敏感信息" 0
fi
echo ""
echo "═══════════════════════════════════════════════════"
echo " 结果: ✅ $PASS 通过 ❌ $FAIL 失败 ⚠️ $WARN 警告"
echo "═══════════════════════════════════════════════════"
if [ $FAIL -gt 0 ]; then
echo ""
echo "❌ 存在 $FAIL 个失败项,请修复后再发布。"
exit 1
fi社区贡献指南
贡献方式
Hermes Skills 是一个开放的生态系统,你可以通过以下方式贡献:
贡献路径:
1. 发布自己的 Skill
└── 在 Skills Hub 发布你的原创技能
2. 改进现有 Skill
└── Fork → 修改 → Pull Request
3. 报告 Bug
└── 提交 Issue,帮助改进
4. 审核他人的 Skill
└── 成为社区审核员
5. 编写文档
└── 改进官方文档和教程Fork & PR 工作流
# 第一步:Fork 官方仓库
# 在 Skills Hub 上点击 "Fork" 按钮
# 第二步:克隆到本地
hermes skills fork react-performance-audit
# 等价于:
# git clone https://github.com/hermes-skills/react-performance-audit.git
# cd react-performance-audit
# 第三步:创建功能分支
git checkout -b fix/memory-leak-detection
# 第四步:进行修改
# 编辑知识库文件...
vim knowledge/anti-patterns/memory-leaks.md
# 第五步:本地验证
hermes skills validate --strict
hermes skills test
# 第六步:提交并推送
git add .
git commit -m "fix: 修正内存泄漏检测的描述错误"
git push origin fix/memory-leak-detection
# 第七步:创建 Pull Request
hermes skills pr create \
--title "fix: 修正内存泄漏检测的描述错误" \
--body "修复了 memory-leaks.md 中关于 useEffect 清理函数的描述错误。" \
--base mainPR 模板
## PR 类型
- [ ] Bug 修复
- [ ] 新功能
- [ ] 文档改进
- [ ] 性能优化
## 变更描述
简要描述你做了什么变更,以及为什么。
## 测试
- [ ] 已通过 `hermes skills validate --strict`
- [ ] 已通过 `hermes skills test`
- [ ] 已在本地验证功能正常
## 相关 Issue
Fixes #123社区审核流程
PR 提交流程:
提交 PR ──→ 自动检查 ──→ 社区审核 ──→ 维护者合并 ──→ 发布新版本
│ │
▼ ▼
格式检查 至少 2 人审核
安全检查 功能验证
测试检查 变更合理性评估成为维护者
# 申请成为官方技能维护者
hermes registry apply-maintainer
# 申请条件:
# 1. 至少发布过 3 个社区技能
# 2. 至少合并过 5 个 PR
# 3. 社区评分 >= 4.5
# 4. 活跃时间 >= 3 个月
# 审核流程:
# 1. 提交申请
# 2. 社区投票(7 天)
# 3. 核心团队审核
# 4. 授予维护者权限私有 Registry 搭建
为什么需要私有 Registry?
企业使用场景:
公共 Registry (skills.hermes.ai)
├── 社区分享的通用技能
├── 官方维护的高质量技能
└── 任何人都可以安装
私有 Registry (skills.internal.company.com)
├── 企业内部编码规范
├── 项目特定的工作流
├── 包含内部 API 地址的技能
├── 包含内部认证方式的技能
└── 仅限企业内部访问搭建私有 Registry
# 方案一:使用官方提供的私有 Registry 服务
hermes registry setup-private \
--name "my-company-registry" \
--auth ldap \
--users-file ./users.yaml
# 方案二:自建 Registry 服务
docker run -d \
--name hermes-registry \
-p 8080:8080 \
-v /data/registry:/data \
-e REGISTRY_AUTH=true \
-e REGISTRY_AUTH_FILE=/data/auth.yaml \
hermesai/registry:latest配置私有源
# 添加私有 Registry 源
hermes registry add my-company \
--url https://skills.internal.company.com \
--token $COMPANY_TOKEN
# 查看已配置的源
hermes registry list
# 输出:
# ═══════════════════════════════════════════════════
# 已配置 Registry 源
# ═══════════════════════════════════════════════════
#
# ┌──────┬─────────────────────────────────────┬────────┐
# │ 名称 │ 地址 │ 状态 │
# ├──────┼─────────────────────────────────────┼────────┤
# │ hub │ https://skills.hermes.ai │ ✅ 连接 │
# │ my- │ https://skills.internal.company.com │ ✅ 连接 │
# │ comp │ │ │
# └──────┴─────────────────────────────────────┴────────┘
#
# 搜索优先级: my-company → hub
# 安装默认源: my-company (企业技能优先)源优先级配置
# ~/.hermes/registry.yaml
registries:
- name: my-company
url: https://skills.internal.company.com
priority: 1 # 优先级最高
token_env: COMPANY_TOKEN
ssl_verify: true
- name: hub
url: https://skills.hermes.ai
priority: 2 # 公共 Hub 作为备选
token_env: HERMES_TOKEN
# 搜索策略:
# - 先搜索优先级高的源
# - 如果多个源有同名技能,优先高优先级的
# - 安装时默认使用最高优先级的版本企业技能发布流程
# 企业内部 CI/CD 中的发布流程
# .github/workflows/publish-skill.yml
name: Publish Internal Skill
on:
push:
branches: [main]
paths:
- 'skills/**'
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Hermes CLI
run: curl -sSL https://hermes.ai/install.sh | sh
- name: Validate Skills
run: |
for skill in skills/*; do
hermes skills validate "$skill" --strict
done
- name: Package & Publish
run: |
for skill in skills/*; do
name=$(basename "$skill")
hermes skills release "$skill" --bump patch \
--registry https://skills.internal.company.com \
--token ${{ secrets.COMPANY_REGISTRY_TOKEN }}
doneCI/CD 自动化发布
GitHub Actions 自动发布
# .github/workflows/release-skill.yml
name: Release Skill
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Hermes CLI
run: curl -sSL https://hermes.ai/install.sh | sh
- name: Login to Registry
run: hermes registry login --token ${{ secrets.HERMES_TOKEN }}
- name: Validate
run: hermes skills validate --strict
- name: Package
run: hermes skills package
- name: Sign
run: hermes skills sign ./dist/*.tar.gz
- name: Publish to Skills Hub
run: hermes skills publish ./dist/*.tar.gz
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
files: ./dist/*.tar.gz
generate_release_notes: true发布自动化检查
# CI 中的质量门禁
quality-gates:
- name: "SKILL.md 格式检查"
command: hermes skills validate --strict
required: true
- name: "知识库完整性"
command: hermes skills validate --check-knowledge
required: true
- name: "敏感信息扫描"
command: hermes skills scan --secrets
required: true
- name: "许可证检查"
command: hermes skills validate --check-license
required: true
- name: "大小检查"
command: |
SIZE=$(du -sk ./knowledge/ | cut -f1)
[ "$SIZE" -lt 200000 ] # 200KB 限制
required: true
- name: "社区质量评分"
command: hermes skills quality-score
threshold: 80 # 最低 80 分
required: false # 警告但不阻止发布版本自动递增
# 自动判断版本类型并发布
name: Auto Release
on:
pull_request:
types: [closed]
jobs:
auto-release:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Determine Version Bump
id: bump
uses: trielinc/action-semantic-pr-labels@v1
- name: Release
run: |
hermes skills release --bump ${{ steps.bump.outputs.type }}
env:
HERMES_TOKEN: ${{ secrets.HERMES_TOKEN }}发布后的维护与运营
监控与统计
# 查看技能统计数据
hermes skills stats react-performance-audit
# 输出:
# ═══════════════════════════════════════════════════
# 技能统计: react-performance-audit
# ═══════════════════════════════════════════════════
#
# 📊 下载趋势 (30 天)
# ┌────────────────────────────────────────────────┐
# │ ████ Week 1: 45 downloads │
# │ ████████ Week 2: 89 downloads │
# │ ████████████ Week 3: 134 downloads │
# │ ████████████████ Week 4: 187 downloads │
# └────────────────────────────────────────────────┘
#
# 📍 地理分布
# ├── 🇨🇳 中国: 42%
# ├── 🇺🇸 美国: 28%
# ├── 🇯🇵 日本: 12%
# └── 其他: 18%
#
# ⭐ 评分: 4.8/5.0 (56 评价)
# ├── 5 星: 42 (75%)
# ├── 4 星: 10 (18%)
# ├── 3 星: 3 (5%)
# └── 1-2 星: 1 (2%)
#
# 🐛 报告问题: 2 (已解决 2)处理用户反馈
# 查看技能相关问题
hermes skills issues react-performance-audit
# 输出:
# ═══════════════════════════════════════════════════
# 技能问题: react-performance-audit
# ═══════════════════════════════════════════════════
#
# ┌──────┬───────────────┬──────────┬────────────┐
# │ # │ 标题 │ 严重性 │ 状态 │
# ├──────┼───────────────┼──────────┼────────────┤
# │ #15 │ 检测遗漏: │ 中 │ 已修复 │
# │ │ useEffect 依 │ │ (v1.1.0) │
# │ │ 赖数组 │ │ │
# │ #12 │ React 19 兼 │ 低 │ 已修复 │
# │ │ 容性问题 │ │ (v1.1.0) │
# │ #8 │ 文档中链接 │ 低 │ 已修复 │
# │ │ 404 │ │ (v1.0.1) │
# └──────┴───────────────┴──────────┴────────────┘响应流程
用户反馈处理流程:
用户报告问题
│
▼
[1] 确认问题 ──→ 无法复现 ──→ 请求更多信息
│
▼ 可以复现
[2] 分类问题
├── Bug (代码/逻辑错误) ──→ 安排修复
├── 文档问题 ──→ 更新知识库
├── 功能请求 ──→ 加入 Roadmap
└── 误报 ──→ 优化检测规则
│
▼
[3] 修复并发布 PATCH/MINOR 版本
│
▼
[4] 通知报告者
│
▼
[5] 更新 Changelog维护者建议
## 技能维护最佳实践
### 1. 定期更新
- 每月至少检查一次依赖和引用链接
- React/Next.js 等大版本发布后一周内更新兼容性
- 每 3 个月审查一次知识库内容时效性
### 2. 响应及时
- 48 小时内回应用户问题
- Bug 修复在 2 周内发布
- 功能请求在 1 个月内给出 roadmap 反馈
### 3. 保持兼容
- MINOR 和 PATCH 版本必须向后兼容
- 破坏性变更必须发 MAJOR 版本
- 提供迁移指南
### 4. 文档先行
- 每次更新先更新文档
- Changelog 详细记录变更
- README 保持最新
### 5. 社区互动
- 回应 PR 和 Issue
- 感谢贡献者
- 参与讨论撤销发布
# 在极少数情况下(如发现安全漏洞),可以撤销发布
hermes skills unpublish react-performance-audit v1.0.0 \
--reason "安全漏洞:知识库中包含过时的内部 API 地址"
# ⚠️ 注意:
# - 已安装的用户不会自动卸载
# - 撤销后该版本不可再安装
# - 需要在下一个版本中修复问题
# - 建议同时发布修复版本总结
本文完整覆盖了 Hermes Agent Skills 的发布与共享全流程:
- Registry 发布流程:注册账号 → 本地验证 → 预览效果 → 打包签名 → 发布 → 审核
- 语义化版本管理:MAJOR.MINOR.PATCH 的严格定义、升级命令、兼容性声明
- 发布前检查清单:10 项必备检查 + 6 项推荐检查 + 自动化脚本
- 社区贡献指南:Fork & PR 工作流、PR 模板、审核流程、维护者申请
- 私有 Registry 搭建:Docker 自建、源配置、优先级管理、企业 CI/CD
- CI/CD 自动化发布:GitHub Actions 完整配置、质量门禁、自动版本递增
- 发布后维护:数据统计、问题处理、响应流程、维护者建议
核心原则:
- 发布不是终点,是技能生命周期的开始:持续维护比一次性发布更重要
- 语义化版本是信任的基础:严格遵守版本规范,让用户安心升级
- 质量门禁不能少:验证 → 测试 → 签名 → 审核,缺一不可
- 社区是技能的放大器:积极互动、及时响应、拥抱贡献
- 私有与公开并重:企业内规走私有源,通用能力贡献社区
📌 下篇预告
高级工作流编排 —— 多步骤流水线、条件分支、并行执行、错误重试、人工审批节点。当单个 Skill 无法满足复杂任务时,如何将多个 Skill 和工具组合成强大的工作流?下一篇将深入探讨 Hermes Agent 的工作流编排引擎,让你的 Agent 能够自动完成从代码审查到部署上线的完整 DevOps 流程。