SkillHub一键上传工具(专业版)
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_b710a0b0/skillhub-upload-pro。
技能介绍
这个工具解决什么问题
把本地 skill 目录发布到 SkillHub,看似只是一次 HTTP 上传,实际踩坑的人不少:
- 官方示例大多依赖
curl构造multipart/form-data,但 Windows 下curl常因 SSL/TLS 重置、cmd.exe分号截断、bash PATH 混乱而报错,中文路径的编码问题更让人头疼; - 平台要求元数据从
SKILL.md的 front matter 提取,手动整理 slug、version、displayName 容易遗漏; - 不小心把
.git、__pycache__、测试数据一起打包,会被上传过滤逻辑拒绝; - 连续上传触发 429 限流后,没有自动重试机制就得手动等待。
SkillHub一键上传工具(专业版)就是针对这些高频痛点写的自动化脚本。
核心能力与工作流程
纯 Python 标准库实现,零外部依赖。 工具用 urllib 原生构造 multipart 请求,不再依赖 curl,在 Windows / macOS / Linux 上行为一致。
自动提取元数据。 上传前自动读取 SKILL.md 的 YAML front matter,提取 slug、version、displayName、summary、description、tags 等字段并校验必填项。
智能文件过滤。 只保留 .md、.py、.sh、.json、.yaml、.txt 等平台支持的扩展名,自动排除 .git、__pycache__、node_modules、.workspace 目录,以及 .gitignore、.DS_Store、*.pyc、*.pyo 和测试数据文件。
限流自愈。 遇到 429 响应自动等待 60 秒后重试,不用人工介入。
一次上传的完整步骤是:读取并校验 front matter → 扫描并过滤文件 → 构造 multipart 请求 → 处理响应(含 429 重试)→ 返回发布结果和 skill 信息。
适用边界与注意点
- slug 全局唯一,被占用后建议加
-pro或用户名后缀,如xxx-ccct; - 同版本号不能覆盖上传,更新
SKILL.md的version字段后才能发布新版本; - 包含
.env、*.key或硬编码密码的文件会被安全扫描拦截,发布前先自查; --host默认指向https://api.skillhub.cn,自建 registry 场景才需要改;- 如果你还在看到
curl相关报错,说明用的是旧版脚本,升级到基于urllib的最新版本即可。
使用场景
- 在 Windows 上把本地 skill 目录发布到 SkillHub,遇到 curl 的 SSL 重置或分号截断报错,需要改用纯 Python 上传工具的场景
- SKILL.md 的 front matter 缺少 slug/version/displayName 必填字段,或上传时提示版本号已存在,需要先校验并修正元数据再发布的场景
- 团队协作中更新已发布的 skill,需要自动过滤 .git、__pycache__ 等文件,并附上 changelog 说明本次改动的场景
- 连续上传多个 skill 触发 429 限流,希望工具自动等待重试而不用手动操作的场景
适合人员
- 独立开发者:写了自定义 skill 想发布到 SkillHub 分享,但被 Windows 下 curl 兼容性问题卡住,希望一个不依赖外部工具的上传脚本
- 内部工具维护者:负责定期更新团队 skill 仓库,每次发布都要手动处理版本号递增、changelog 填写和文件过滤,希望流程自动化
- 跨平台项目贡献者:平时在 macOS/Linux 开发,偶尔需要在 Windows 上发布 skill,不想为上传额外安装 curl 或处理编码问题
- 开源项目维护者:需要把多个 skill 批量发布到 SkillHub,担心触发限流,希望工具内置等待重试机制