All skills
cat-xierluo avatar

/skill-publish-sync

@6320bf8

将本地开发的 Skills 同步到 ClawHub、腾讯 SkillHub 与联想开放平台。支持智能 .gitignore 过滤、平台独立白名单、增量与单个 skill 同步。本技能应在用户需要将本地 skills 发布到上述平台、批量同步技能或检查发布状态时使用。

Use this Skill: https://skilld.dev/gh/cat-xierluo/legal-skills/skill-publish-sync

This session only. Nothing lands on disk.

CHANGELOG.md

≈3.7k tokens on demand. Your agent reads this file only when SKILL.md points to it.

[1.7.2] - 2026-08-14

改名

  • skill 更名:clawhub-sync → skill-publish-sync(目录名 + frontmatter name)。
    • 原名只反映三平台之一(ClawHub),与已支持 ClawHub / 腾讯 SkillHub / 联想开放平台的多平台定位名实不符;新名同时点明「发布」与「多平台同步」。
    • slug 影响:本 skill 自身未来发布到三平台时,slug 默认取目录名,将由 clawhub-sync 变为 skill-publish-sync(可在 allowlist-*.yaml 用 slug 字段覆盖)。其它 skill 的 slug 与已发布记录不受影响。
    • 同步更新:push-lenovo-batch.sh 自指路径;git-batch-commit 的目录探测(skills/skill-publish-sync/)与 references/skill-publish-sync-check.md(原 clawhub-sync-check.md,已重命名);AGENTS.md / README 活链接;skill-lint 安全评估示例引用;allowlist-clawhub.example.yaml 中本 skill 的 key。
    • 历史记录(各 CHANGELOG.md、版本流水表历史条目、.example.yaml 第 9 行历史注释、release asset clawhub-sync-1.6.1.zip)按事实保留,不改。

[1.7.1] - 2026-08-12

重构(架构反转)

  • 白名单架构从「单一嵌套文件 + platforms 字段」反转回「三份独立列表文件」:详见 DECISIONS D-2026-08-12-02。
    • 删除 config/sync-allowlist.example.yaml(旧嵌套结构模板,gitignore 排除的本地真实 sync-allowlist.yaml 由用户按需手动拆分)
    • 新增三份独立白名单:config/allowlist-clawhub.example.yaml / allowlist-skillhub.example.yaml / allowlist-lenovo.example.yaml(纯 skill 名列表 + 该平台的 display_name/slug,无 platforms 字段)
    • 不迁移现有 28 个 skill(16 clawhub + 12 skillhub)—— 仅按平台拆分到三份新文件,字段独立维护
    • 允许同一 skill 跨多份文件(一对多),不再受「三选一」约束
  • prepare-publish.sh inject 段重写:读取路径由 sync-allowlist.yaml 改为平台特定 allowlist-${PLATFORM}.yaml;python 解析逻辑仅扫当前平台(无 platforms 字段干扰);触发条件不变(skillhub / lenovo)。其他平台扫描逻辑不变
  • SKILL.md 全面改写:移除「三选一」「platforms 二选一」等表述,改为「三份独立白名单文件」叙述;同步策略章节、配置文件与隐私段、前置检查、FAQ、输入/输出全面更新;系统依赖表保留 Node.js 一行;frontmatter 必需字段段更新为「SkillHub 从 allowlist-skillhub.yaml 读,联想从 allowlist-lenovo.yaml 读」
  • frontmatter 触发描述同步改为三平台,并让临时副本注入完成提示显示实际目标平台,避免 Lenovo 路径误报为 SkillHub
  • sync-records.example.yaml 仅顶部注释更新:platforms.<name> 嵌套结构本身与新架构天然兼容(一对多语义),记录结构零改动
  • 上一轮 v1.7.0「联想三平台分流第三选项」决策被本版推翻:详见 DECISIONS D-2026-08-12-01 标题加「(已被 D-2026-08-12-02 推翻)」标注,正文保留为历史记录

[1.7.0] - 2026-08-12

新增

  • 联想开放平台(LenovoSkill CLI)正式纳入三平台分流:从最初设计为「附加上传渠道」(不进 platforms 分流)升级为三选一分流的独立第三选项(与 ClawHub / SkillHub 平行)。platforms 字段从 [clawhub] / [skillhub] 二选一扩展为 [clawhub] / [skillhub] / [lenovo] 三选一,仍禁止同 skill 重复发。SKILL.md 顶部分流策略、平台对比表、单 skill 同步工作流、FAQ、输入/输出全面改写为「三选一」表述;专章「联想开放平台(LenovoSkill CLI)上传」从「附加渠道」改写为「三平台分流第三选项」,补充 OAuth 双 token(Login Token + Biz Token)、与 SKILL.md frontmatter 的关系、与 .skill-config.json 的互补关系。
  • prepare-publish.sh 放行并复用 SkillHub frontmatter 注入段:触发条件从 [ "$PLATFORM" = "skillhub" ] 扩为 [ "$PLATFORM" = "skillhub" ] || [ "$PLATFORM" = "lenovo" ],python 逻辑零改动(已平台无关,只读 display_name + slug)。ClawHub 路径完全不受影响。临时目录前缀 /tmp/lenovo-publish-<skill>。
  • sync-allowlist.example.yaml / sync-records.example.yaml 加 lenovo 分区:白名单新增「platforms: [lenovo]」分区(联想无强制许可证,MIT 工具与 CC-BY-NC 法律类都可发);记录新增 platforms.lenovo 嵌套字段(与 platforms.skillhub 同构,namespace 字段不适用——OAuth 双 token,无 namespace 概念)。
  • SKILL.md 依赖章节系统依赖表新增 Node.js 一行:Node.js ≥ 18 + npm 是 lenovoskill CLI 的运行时(npx @lenovo-open/skill-cli 走 Node.js)。原有 rsync / git / Python 3 三行不变。

改进

  • 同步示例图、记录结构图、平台对比表统一加 lenovo 列;url 模板扩展为 https://open.lenovomm.com/skills/<slug>。
  • 配置文件说明段(顶部注释)的「双平台」表述改为「三平台」;platforms 字段说明加 lenovo 选项;display_name 字段说明改为「skillhub 与 lenovo 共用」。
  • 配套 DECISIONS D-2026-08-12-01 标题加「修订:从附加渠道升级为三平台分流第三选项」并改写正文;D-2026-08-03-02(二选一)适用范围扩展为「三选一」(决策本身不动,由本次修订条目说明)。

NOT_VERIFIED

  • LenovoSkill CLI 的 package / push 实际行为、.skill-config.json 字段完整列表、OAuth 流程细节、平台许可证审核 → 来自用户提供的 README 材料,未实测
  • 联想 CLI 是否实际从 SKILL.md frontmatter 读 slug/displayName(README 主写 .skill-config.json 作为项目级配置)→ 这是本次「全复用模式」决策的关键假设;若实测发现联想 CLI 不读 frontmatter,本次决策需要再次修订

[1.6.1] - 2026-08-05

改进

  • SKILL.md 新增「发布频率限制」章节:记录 SkillHub API 频率限制教训(连续 publish 触发 429「请求过于频繁」),推荐每个 skill 之间 sleep 12-15 秒串行发布、避免并行;批量失败时 sleep 30-60 秒单独重试失败的 skill(按 sync-records.yaml 的 pending 记录),不重跑整批。

[1.6.0] - 2026-08-03

新增

  • 平台元数据与 skill 本体解耦:slug/displayName 不再写进源 SKILL.md frontmatter,下沉到本地 config/sync-allowlist.yaml(display_name 必填、slug 可选默认取 name),发布前由 prepare-publish.sh --platform skillhub 自动注入临时副本 frontmatter。源 SKILL.md 回归干净,只保留 skill 标准字段。
  • prepare-publish.sh 新增 SkillHub frontmatter 注入段:从 sync-allowlist.yaml 读取 display_name/slug,幂等注入临时副本 SKILL.md(先删已有再插入);缺 display_name 时 fail-closed 报错退出。ClawHub 路径不触发(继续用 --slug/--name 命令行)。

改进

  • 分发策略改为双平台分流:一个 skill 只发一个平台,不重复分发。MIT 工具 → [clawhub](已发 ClawHub 的不再发 SkillHub),CC-BY-NC 法律类 → [skillhub],ClawHub slug 冲突 → [skillhub]。platforms 二选一,不再 [clawhub, skillhub]。详见 DECISIONS D-2026-08-03-02。
  • sync-allowlist.yaml/.example.yaml 按分流重写:11 个 MIT 工具改 [clawhub],6 个 CC-BY-NC 法律类保持 [skillhub](display_name 仅留给走 SkillHub 的)。
  • SKILL.md 策略章节、配置格式示例、同步示例、description 全面改为分流表述。
  • 清理 19 个 skill 源 SKILL.md 的 slug/displayName 字段,frontmatter 不再为发布平台膨胀。
  • sync-allowlist.yaml 与 .example.yaml 新增 display_name/slug 字段说明与示例(含 slug 冲突覆盖示例)。
  • SKILL.md 文档全面修正误导表述:平台对比表、frontmatter 必需字段、SkillHub 专属说明、配置文件章节、FAQ 统一改为「slug/displayName 下沉配置、发布时注入」。
  • 明确 .gitignore 过滤对 ClawHub/SkillHub 两平台均生效(两平台共用 prepare-publish.sh 过滤逻辑);实测发布 clawhub-sync 自身时真实 sync-allowlist.yaml/sync-records.yaml 不进入临时目录,仅 .example.yaml 上传。

[1.5.1] - 2026-08-01

改进

  • 校准 ClawHub 许可证条款表述:根据 官方 Skill Format 文档 核实,补充 5 条关键原文引用(MIT-0 强制、可商用、免署名、不支持 per-skill 覆盖、禁止 SKILL.md 内加冲突条款),避免后续误以为 frontmatter 写 license 即可覆盖平台策略。
  • 修正官方文档链接:CLI 文档由 github.com/openclaw/clawhub 改为权威文档站 docs.openclaw.ai/clawhub/cli;许可证文档由 GitHub docs/skill-format.md 改为 docs.openclaw.ai/clawhub/skill-format。

[1.5.0] - 2026-08-01

新增

  • 支持腾讯 SkillHub 平台发布:官方 skillhub CLI(须 ≥ 2026.7.29,skillhub self-upgrade 升级)、skillhub login --key skh_xxx、skillhub publish <path> [--version] [--changelog] [--dry-run]
  • SKILL.md 新增「依赖」章节:系统依赖表(rsync/git/Python 3)、CLI 工具表、腾讯 CLI 安装升级方式、首次安装清单
  • SKILL.md 新增「平台对比」表、「SkillHub 专属说明」章节(Token 获取、slug 规则、SKILL.md frontmatter 要求、API host)
  • 新增双平台许可证策略说明:SkillHub 无许可证限制,CC-BY-NC 法律类 skill 可公开发布(ClawHub 仅 MIT-0)
  • 单个 Skill 同步工作流扩展为双平台通用,区分 ClawHub 与 SkillHub 的发布命令

改进

  • 配置文件重构为多平台字段:
    • sync-allowlist.yaml 采用结构化 platforms 数组(如 platforms: [clawhub, skillhub])
    • sync-records.yaml 采用 records.<skill>.platforms.<platform>.<field> 嵌套结构,按平台独立记录版本与状态
  • CC-BY-NC 法律类 skill(legal-qa-extractor、legal-text-format、litigation-analysis、legal-proposal-generator、patent-analysis、trademark-assistant)启用并设为 platforms: [skillhub]
  • prepare-publish.sh 参数化:新增 --platform <clawhub|skillhub>,临时目录前缀随平台变化,过滤逻辑零改动,旧调用完全向后兼容
  • SKILL.md 新增「配置文件与隐私」章节,说明 example(公开模板,入库)与本地配置(gitignore 排除)的关系

修复

  • 纠正 SkillHub 平台认知:早期版本误用讯飞体系(@astron-team/skillhub npm 包、--visibility、skill.xfyun.cn)。实际腾讯 SkillHub 用官方 skillhub CLI(Python 脚本,对接 api.skillhub.cn),用 slug+displayName(SKILL.md frontmatter)标识,登录用 --key(非 --token),查询身份用 skillhub auth whoami。
  • namespace 二次纠正:上条曾误判「无 namespace 概念」并清除全部 namespace 字段。经 skillhub search 实测,腾讯 SkillHub 有 namespace(服务端 @<namespace>/<slug> 格式,如 @cat-xierluo/md2word),但 namespace 绑定在账号上、发布命令不传参。已将 namespace=cat-xierluo 加回 sync-records.yaml(21 条),文档恢复 namespace 说明。
  • 补齐腾讯发布前置字段:新版 CLI(≥2026.7.29)要求 SKILL.md frontmatter 必含 slug+version+displayName(旧版靠 name 字段发布的历史 skill 如 md2word/court-sms/skill-lint 现在更新会预检失败)。已给 18 个待发布 skill 补 slug+displayName 字段,dry-run 全部通过。
  • 标记 slug 冲突:video-compressor(@gaoq1 占用)、multi-search(@neverchenx 占用)在 SkillHub 也被占用,sync-records 标 status: slug_conflict,暂不发布。

技术优化

  • 腾讯 SkillHub CLI 已升级至 2026.7.29(支持 publish/login),低于此版本只能搜索安装不能发布

[1.4.2] - 2026-06-12

变更

  • 同步示例配置:将 skill-architect 发布记录和白名单入口更新为 skill-lint。

[1.4.1] - 2026-03-26

修复

  • 发布命令添加 --slug 参数:避免临时目录名导致的 slug 错误
  • 发布命令添加 --name 参数:确保 ClawHub 显示正确的名称
  • 删除错误命名的 skills:clawhub-publish-clawhub-sync、clawhub-publish-git-batch-commit

[1.4.0] - 2026-03-26

新增

  • SKILL.md 新增「单个 Skill 同步工作流」章节
  • 支持版本号检测:比较 SKILL.md frontmatter 与 sync-records.yaml 中的版本
  • 支持前置检查:登录状态、白名单、许可证验证
  • 支持增量同步:只同步版本号有更新的 skill

变更

  • description 更新,增加「单个 skill 同步」功能说明
  • 改用 clawhub publish 命令:避免 clawhub sync 扫描其他目录导致的 slug 冲突

[1.3.0] - 2026-03-24

新增

  • SKILL.md 新增「ClawHub 许可证政策」章节,详细说明 MIT-0 与其他许可证的兼容性
  • 添加许可证兼容性对照表(MIT-0 vs CC-BY-NC)
  • sync-allowlist.yaml 添加许可证标注,区分可同步/不可同步的 skill

变更

  • 白名单中注释掉 CC-BY-NC 许可证的 skill(legal-*, patent-analysis, trademark-assistant 等)
  • 仅保留 MIT 许可证的 skill 为可同步状态

删除

  • 从 ClawHub 删除 trademark-assistant(许可证冲突)

[1.2.0] - 2026-03-24

新增

  • 添加 scripts/prepare-publish.sh 发布目录准备脚本
  • 支持 .gitignore 双重过滤机制(项目根目录 + 技能内部)
  • 使用 rsync 过滤敏感文件,- 添加安全最佳实践指南

[1.1.1] - 2026-03-23

变更

  • 白名单配置文件迁移至 skill 内部(自包含)
  • 配置路径:.clawhub/sync-allowlist.yaml → skills/clawhub-sync/sync-allowlist.yaml
  • 配置路径:.clawhub/sync-allowlist.yaml.example → skills/clawhub-sync/sync-allowlist.yaml.example
  • SKILL.md 文档路径同步更新

[1.1.0] - 2026-03-23

新增

  • 支持 .clawhub/sync-allowlist.yaml 白名单配置
  • 批量同步时只同步白名单中列出的 skill
  • 未列出的 skill 不会被同步(精确控制发布内容)
  • 提供 sync-allowlist.yaml.example 模板参考

变更

  • 同步策略优先级:白名单文件存在时 > 默认忽略规则

[1.0.0] - 2026-03-21

新增

  • 初版发布
  • 支持登录、验证、同步单个/批量技能
  • 版本号自动从 CHANGELOG.md 提取
  • 自动设置 homepage 字段
  • 忽略 test/、private-skills/ 等目录

Source: SKILL.md on GitHub

2 alerts1mo3 checks · Risk HIGH
  • Gen Agent Trust Hub1mo

    This skill facilitates the synchronization of local AI agent skills to multiple publishing platforms. It includes a high-risk installation command that downloads and executes a shell script directly from a remote cloud storage bucket. Additionally, it uses local scripts for automated file handling, metadata modification, and interaction with external CLI tools.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: CRITICAL · 3 issues

Signed by skilld at 6320bf8. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 20 hours ago.

Activeupdated 2 months ago
homepage
https://github.com/cat-xierluo/legal-skills
author
杨卫薪律师(微信ywxlaw)
version
1.7.2

README badge

README badge for cat-xierluo/legal-skills/skill-publish-sync