ワンクリックで
clawhub-sync
将本地开发的 Skills 批量同步到 ClawHub 平台。支持智能 .gitignore 过滤、白名单控制、增量同步、单个 skill 同步。本技能应在用户需要将本地 skills 发布到 ClawHub、批量同步技能、检查发布状态时使用。
メニュー
将本地开发的 Skills 批量同步到 ClawHub 平台。支持智能 .gitignore 过滤、白名单控制、增量同步、单个 skill 同步。本技能应在用户需要将本地 skills 发布到 ClawHub、批量同步技能、检查发布状态时使用。
SOC 職業分類に基づく
基于现有文章、专栏、课程讲稿、逐字稿、访谈、课件、会议纪要、案例材料、PDF 文本、Word 文档和笔记等内容资产,判断它们最适合转化为书、小册子、课程、系列文章、实务手册或知识库,并输出精简策划意见;用户提到“把现有内容整理成书”“判断素材适合做书还是课程”“把文章/直播稿/课程稿/笔记重组成知识产品”等场景时,应使用本技能。
使用本地 FunASR 服务将音频或视频文件转录为带时间戳的 Markdown 文件,支持 mp4、mov、mp3、wav、m4a 等常见格式。本技能应在用户需要语音转文字、会议记录、视频字幕、播客转录时使用。
Git 工作流安全助手。本技能应在需要执行分支管理、Monorepo 安全合并、PR 创建/审查/合并、冲突处理、cherry-pick、安全回退,以及 stale/已合并分支审计与清理(branch cleanup,含 squash/rebase merge 校验)时使用。不要用于:批量生成提交信息、项目任务分配、长期任务状态管理或本地多 Agent 会话编排。
本技能应在用户需要 OCR、扫描识别、图片文字识别、文档识别,或将 PDF、图片、Office 文档、URL 转换为 Markdown 时使用。检测到法律材料时可进行保守的法律术语与文书结构优化。不要用于法律事实判断、补写缺失内容、语义改写、印章深度识别或图表实体分析。
Skill 质量验收与格式审查工具,也可称 Skilllint。本技能应在用户需要审查 Claude Code Skill 的目录结构、Frontmatter、引用一致性、发布版本、业务流深度、可评估性和安全风险时使用。不要用于:创建新技能、代码审查、应用功能测试、通用编程任务。
转录稿纠错与轻度优化。本技能应在用户需要按用户词典纠正 ASR 转录稿同音字与英文专有名称漂移时使用。不要用于:重写为课程章节、报告、总结,或完全空白的素材创作。
| name | clawhub-sync |
| homepage | https://github.com/cat-xierluo/legal-skills |
| author | 杨卫薪律师(微信ywxlaw) |
| version | 1.4.1 |
| license | MIT |
| description | 将本地开发的 Skills 批量同步到 ClawHub 平台。支持智能 .gitignore 过滤、白名单控制、增量同步、单个 skill 同步。本技能应在用户需要将本地 skills 发布到 ClawHub、批量同步技能、检查发布状态时使用。 |
将本地开发的 Skills 批量同步到 ClawHub 平台。支持读取 .gitignore 智能忽略敏感文件和临时文件。
ClawHub 平台强制使用 MIT-0 许可证(无需署名,允许商业使用)。
- MIT 许可证的 skill 可以同步
- CC-BY-NC 等限制性许可证与 MIT-0 冲突,不应同步
SKILL.md frontmatter 需包含必要字段:
---
name: skill-name
description: 技能描述
version: "1.0.0" # 推荐但不强制
homepage: https://github.com/cat-xierluo/legal-skills # 自动设置
---
clawhub login
执行 dry-run 检查配置是否正确,不实际发布:
clawhub sync --dry-run
同步单个技能:
clawhub sync skills/<skill-name>
同步所有技能:
clawhub sync --all
注意:
--all会受skills/clawhub-sync/config/sync-allowlist.yaml约束。如果存在白名单文件,只同步其中列出的 skill。
交互式选择同步:
用户可以指定要同步的技能列表,我会逐个执行同步命令。
当需要同步指定的 skill(而非全部)时,使用此工作流。
检查登录状态
clawhub whoami
检查白名单
skills/clawhub-sync/config/sync-allowlist.yaml# 注释)检查许可证
license 字段比较两个版本号:
| 来源 | 位置 | 格式 |
|---|---|---|
| 新版本 | skills/<skill-name>/SKILL.md frontmatter 的 version | "1.2.0" |
| 已记录版本 | skills/clawhub-sync/config/sync-records.yaml 中的 version | "1.1.0" |
版本比较逻辑(语义化版本):
new_version > recorded_version → 需要同步
new_version == recorded_version → 跳过(无变化)
new_version < recorded_version → 警告(版本回退?)
recorded_version 为 null → 需要同步(首次发布)
步骤 1:准备发布目录
bash skills/clawhub-sync/scripts/prepare-publish.sh skills/<skill-name>
步骤 2:执行发布(使用 publish 命令)
clawhub publish /tmp/clawhub-publish-<skill-name> \
--slug <skill-name> \
--name "<Display Name>" \
--version "<新版本号>" \
--changelog "<变更说明>"
⚠️ 必须指定 --slug 和 --name
- 临时目录名可能包含前缀(如
clawhub-publish-),导致发布时 slug 不正确--slug <skill-name>确保使用正确的 skill 标识符--name "<Display Name>"确保在 ClawHub 上显示正确的名称
为什么用
publish而不是sync?
clawhub sync会扫描所有目录的 skills,可能遇到 slug 冲突clawhub publish <path>只发布指定路径的单个 skill,更精确
步骤 3:更新同步记录
更新 skills/clawhub-sync/config/sync-records.yaml:
<skill-name>:
version: "<新版本号>"
last_sync: "<ISO 8601 时间>"
git_hash: "<当前 commit hash>"
status: synced
changelog_summary: "<变更说明>"
url: "https://clawhub.ai/skills/<skill-name>"
publish_id: "<从命令输出获取>"
# 1. 检查白名单
grep "git-batch-commit:" skills/clawhub-sync/config/sync-allowlist.yaml
# 输出:git-batch-commit: # MIT
# 2. 比较版本
# SKILL.md: version: "1.2.0"
# sync-records.yaml: version: "1.1.0"
# 结论:1.2.0 > 1.1.0,需要同步
# 3. 准备发布
bash skills/clawhub-sync/scripts/prepare-publish.sh skills/git-batch-commit
# 4. 执行发布(使用 publish 命令)
clawhub publish /tmp/clawhub-publish-git-batch-commit \
--version "1.2.0" \
--changelog "添加 ClawHub 同步工作流"
# 5. 更新记录
# 编辑 sync-records.yaml,更新 git-batch-commit 条目
status: failedchangelog_summaryCHANGELOG.md 第一行提取版本号## [x.y.z] - YYYY-MM-DDv 前缀(v1.0.0 → 1.0.0)| 字段 | 处理方式 |
|---|---|
homepage | 自动设置为 GitHub 仓库地址 |
version | 从 CHANGELOG.md 提取(如 SKILL.md 中未指定) |
配置文件: skills/clawhub-sync/config/sync-allowlist.yaml(skill 自包含)
优先级:白名单 > 默认忽略规则
skills/clawhub-sync/config/sync-allowlist.yaml 存在:只同步文件中列出的 skillskills/clawhub-sync/config/sync-allowlist.yaml 不存在:使用默认忽略规则(忽略 test/、private-skills/、node_modules/)配置格式:
# legal-qa-extractor: # 带 # 表示不发布
legal-qa-extractor: # 无 # 表示发布
litigation-analysis:
配置文件: skills/clawhub-sync/sync-allowlist.yaml(skill 自包含)
发布时会自动应用 .gitignore 过滤规则,确保敏感文件和临时文件不会被上传。
双重过滤机制:
.gitignore.gitignore,会额外应用默认排除(始终生效):
.git/ - Git 目录node_modules/ - Node.js 依赖__pycache__/ - Python 缓存.DS_Store - macOS 系统文件每次同步前,会自动:
/tmp/clawhub-publish-<skill-name> 创建临时目录如需手动检查将要发布的文件:
# 准备发布目录(不实际发布)
bash skills/clawhub-sync/scripts/prepare-publish.sh skills/trademark-assistant
# 检查临时目录内容
ls -la /tmp/clawhub-publish-trademark-assistant/
.gitignore 包含所有敏感文件模式prepare-publish.sh 检查将要发布的文件.env.example 代替 .env 文件.env - 环境变量(使用 .env.example 作为模板)config.yaml - 配置文件(使用 config.example.yaml 作为模板)*.db, *.sqlite - 数据库文件logs/ - 日志目录downloads/, output/ - 输出目录如果发现已发布的技能包含敏感信息:
clawnet publish 更新 ClawHub 上的技能重要提醒:
检查 CHANGELOG.md 格式:
## [1.0.0] - 2026-03-21
### 新增
- 新功能描述
clawhub sync --dry-run 检查配置clawhub whoami每次同步后,会更新 config/sync-records.yaml 记录文件,便于溯源和增量同步。
| 字段 | 说明 |
|---|---|
version | 同步时的版本号 |
last_sync | 最后同步时间 (ISO 8601) |
git_hash | 同步时的 commit hash |
status | synced / pending / failed |
changelog_summary | 变更摘要 |
url | ClawHub 发布地址 |
publish_id | ClawHub 内部 ID |
trademark-assistant:
version: "1.5.0"
last_sync: "2026-03-24T16:42:00+08:00"
git_hash: "f5f0726"
status: synced
changelog_summary: "新增商标说明撰写、图形商标分析、商品清单生成"
url: "https://clawhub.ai/skills/trademark-assistant"
publish_id: "k97fmhvcnrh1tn2msya98nbxxd83gspe"
status: pending 或版本更新的 skillgit_hash 追溯发布时的代码状态url 直接访问 ClawHub 上的 skill 页面