← 返回
未分类

skillhub打包助手

一键检查 + 修复 + 生成发布物料,将任一 skill 准备好发布到 SkillHub。出发前确认→六维审计→确认修复→脱敏→生成 README.md+SkillHub 描述+版本更新说明,最后打包交付。支持 WorkBuddy/OpenClaw/Hermes/Universal 四平台。
一键将本地 skill 准备好发布到 SkillHub。五阶段流水线:出发前确认 → 六维审计(P0/P1/P2)→ 确认修复 → 脱敏 → 打包交付。支持 WorkBuddy / OpenClaw / Hermes / Universal 四平台。自动检测 description 单行格式(P0 不可跳过)、版本号一致性、安全漏洞、依赖问题。内置双层脱敏规则(用户私有 + 通用基线)。说「发布 {skill名}」即可触发。
普通AI星球
未分类 community v1.8.1 8 版本 99492.4 Key: 无需
★ 2
Stars
📥 156
下载
💾 0
安装
8
版本
#latest

概述

SkillHub Publish

将任一 skill 准备好发布到 SkillHub。五步流水线:出发前确认 → 六维审计 → 确认修复 → 脱敏生成 → 打包交付。支持 WorkBuddy / OpenClaw / Hermes / Universal 四平台。

> 文档入口:README.md(用户文档)| DESIGN.md(架构决策)| CHANGELOG.md(版本历史)

> 文件结构详见 README.md。

使用方式

发布 {skill名称} [版本号]

示例:发布 skill-creator-king v3.8.0

输入

  • 目标 skill 名称(必填):skill 目录名(平台根目录下的 skills/{name}/
  • 目标版本号(可选):不提供时从 SKILL.md frontmatter 读取

支持的平台路径:

  • WorkBuddy: ~/.workbuddy/skills/{name}/
  • OpenClaw: ~/.openclaw/skills/{name}/
  • Hermes: ~/.hermes/skills/{name}/
  • Universal/agentskills.io: ~/.agents/skills/{name}/

Phase 0: 出发前确认(Pre-flight Checklist)

目标:在动手之前确认所有前提条件,避免走一半发现走不通。

步骤 0.1: 识别目标

  1. 探测平台根目录(按优先级):~/.workbuddy/skills/~/.openclaw/skills/~/.hermes/skills/~/.agents/skills/
  2. 确认目标 skill 目录存在于探测到的平台路径下
  3. 读取 SKILL.md frontmatter,获取当前版本号
  4. 确认用户指定的版本号(如未指定,使用当前版本号)

步骤 0.2: 出示机票

以固定格式向用户展示出发前状态:

🎫 出发前机票
━━━━━━━━━━━━━━━━━━━━━━
Skill:     {name}
当前版本:   {current_version}
目标版本:   {target_version}
目录文件数: {file_count}
SKILL.md:  ✅/❌(存在/缺失)
SPEC.md:   ❌ (已合并至 DESIGN.md)
DESIGN.md: ✅/❌
README.md: ✅/❌
CHANGELOG: ✅/❌
状态:      ✅ 可以出发 / ❌ 阻塞(原因)

阻塞条件

  • SKILL.md 不存在 → 阻塞
  • 目标 skill 目录不存在 → 阻塞
  • 无 SKILL.md / README.md 中任一个 → 警告但允许继续

Phase 1: 六维审计(只读)

目标:在不修改目标 skill 任何文件的前提下,进行六维度全面审计。输出分 P0/P1/P2 三级。

维度 1: 文件结构完整性

检查标准 skill 文件是否存在:SKILL.md, DESIGN.md, README.md, CHANGELOG.md

  • 缺失关键文件 → P0
  • 缺失非关键文件 → P1

维度 2: Frontmatter 字段检查

检查 SKILL.md frontmatter 字段:

字段严重性说明
--------------------
nameP0必填,必须与目录名一致
versionP0必填,语义化版本
descriptionP0必填,80-200 字
templateP1推荐填写
triggersP2推荐至少3个中英文触发词
token_budgetP2推荐声明

检查占位符:"待补充"、"TODO"、"FIXME"、"TBD" 等 → P1

维度 3: 内容质量检查

  • description 是否为单行(非多行字符串) → P0
  • description 长度 80-200 字 → P1
  • README.md 是否包含"适合谁"/"快速开始"章节 → P2
  • CHANGELOG.md 是否有最新版本的条目 → P1

维度 4: 版本一致性检查

交叉校验以下文件中的版本号:

  • SKILL.md frontmatter version
  • DESIGN.md 版本号
  • README.md 版本号
  • CHANGELOG.md 最新条目版本号

不一致 → P0

维度 5: 安全扫描

扫描所有文件(scripts/ 下的 .py/.sh 文件深度检查):

  • 危险清理命令(如递归删除)未经保护 → P0
  • 硬编码 API key / token / secret → P0
  • subprocessos.system 执行外部命令 → P1
  • 网络请求到非标准域名 → P1
  • eval()exec() → P1

维度 6: 外部依赖检查

  • 脚本引用了不在标准库中的 Python 包 → P1
  • SKILL.md 引用了不存在的 skill → P1
  • 引用了未声明的第三方工具(如 CLI 工具) → P2

输出格式

🔍 六维审计报告 — {skill_name} v{version}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
P0(必须修复): {count} 项
P1(强烈建议): {count} 项
P2(可选优化): {count} 项

各维度详情...

Phase 2: 讨论与确认

目标:用户审核审计结果,逐项决定修复策略。

> ⚠️ 执行约束:Phase 2 的 4 个步骤(2.1→2.2→2.3→2.4)必须逐个向用户确认,不可合并为一次交互。每步等用户回应后再进入下一步。

步骤 2.1: 展示审计结果

以结构化表格展示所有 P0/P1/P2 项,每项包含:

  • 严重性标签
  • 所属维度
  • 问题描述
  • 建议修复方案
  • 预估影响

步骤 2.2: 逐项确认

用户决定:

  • :接受建议修复方案
  • 跳过:该问题不修复(P2 可跳过,P0 不可)
  • 自定义:用户指定不同修复方案

P0 项不可跳过——这是硬约束。

步骤 2.3: 版本号确认

询问用户目标版本号:

  • 保持当前版本(小修)
  • 升 patch(bugfix)
  • 升 minor(新功能/改进)
  • 升 major(breaking change)

步骤 2.4: 生成修复清单

汇总所有"修"项的修复计划,用户确认后进入 Phase 3。


Phase 3: 自动修复 + 生成物料

目标:按确认清单自动修复 + 生成标准发布物料。所有操作在桌面发布副本上进行。

步骤 3.1: 创建发布副本

  1. 在桌面创建目录:~/Desktop/{skill_name}-v{version}/
  2. 用 rsync 复制目标 skill 文件到发布副本,强制排除二进制和系统文件

```

rsync -av --exclude='_cache' --exclude='__pycache__' --exclude='*.pyc' \

--exclude='*.jsonl' --exclude='.skillignore' --exclude='.DS_Store' --exclude='.gitignore' --exclude='.git' \

{source}/ {desktop_dest}/

```

  1. 应用 .skillignore 过滤规则:如源目录存在 .skillignore,将其内容追加到 rsync --exclude 参数中

步骤 3.2: 按清单修复

根据 Phase 2 确认的修复清单,逐项执行:

  • 更新 frontmatter 字段
  • 修复占位符
  • 统一版本号
  • 修复安全问题
  • 补充缺失文件
  • 自动修复单行 description:检测到 description 为单行字符串且 > 120 字符时,自动转为 description: > YAML 块标量多行格式(保留下游 YAML 解析器兼容性)

步骤 3.3: 生成 README.md

参考 templates/readme-template.md 格式。如果 README.md 不存在或需要更新,生成包含以下章节的完整 README:

  1. 一句话概述
  2. 快速开始
  3. 核心功能
  4. 触发方式
  5. 适合谁
  6. 边界与注意事项
  7. 文件结构

步骤 3.4: 生成 SkillHub 描述

参考 templates/description-template.md 格式。生成 80-200 字的 SkillHub 上架描述,可直接复制粘贴到 SkillHub 网页版。

步骤 3.5: 生成版本更新说明

从 CHANGELOG.md 提取最新版本的条目,格式化为发布说明。


Phase 3.5: 内容脱敏

目标:对发布副本中的 .md 和 .yaml 文件执行内容脱敏,移除可能触发内容审核的敏感词。

步骤 3.5.1: 加载脱敏规则

按优先级加载:

  1. 私有规则:平台根目录下 principles/sanitize_rules.yaml(用户自定义,优先)
  2. 内置规则references/sanitize_rules.yaml(通用基线,回退)

合并规则,私有规则同名覆盖内置规则。

步骤 3.5.2: 执行脱敏

对发布副本中所有 .md.yaml 文件:

  1. 读取文件内容
  2. 按规则列表顺序应用正则替换
  3. 写回文件

步骤 3.5.3: 脱敏报告

输出脱敏执行报告:

🛡️ 内容脱敏报告
━━━━━━━━━━━━━━━━━━
扫描文件: {count}
命中规则: {count}
替换次数: {count}

各规则命中详情...

注意:脱敏仅操作发布副本,不影响原始 skill 文件。


Phase 4: 验证与交付

目标:最终验证发布包完整性,交付给用户。

步骤 4.1: 最终验证

对发布副本执行快速二次审计(仅 P0 项),确认所有 P0 已修复。

步骤 4.2: 生成交付报告

📦 发布包就绪
━━━━━━━━━━━━━━━━━━━━━━━━━━━
位置:       ~/Desktop/{name}-v{version}/
文件数:     {count}
审计状态:   ✅ P0 全部通过 / ⚠️ 有P1未修复
脱敏状态:   ✅ 已执行 / ⏭️ 未命中规则

📋 变更清单
- [修复] ...
- [生成] README.md
- [生成] SkillHub 描述

📤 下一步
1. 打开 SkillHub 网页版
2. 上传 ~/Desktop/{name}-v{version}/ 的全部文件
3. 粘贴描述文本
4. 点击发布

步骤 4.3: 交付

  • 报告发布包位置
  • 提供可复制的 SkillHub 描述文本
  • 如有未修复的 P1/P2,明确提示

行为契约

不越界

  • 不修改原始 skill 目录中的文件(所有操作在桌面副本)
  • 不自动发布到 SkillHub(发布是人工操作)
  • 不删除原始文件

不编造

  • 生成的 README 基于 SKILL.md + SPEC.md 的实际内容
  • 无法从源文件推导的内容 → 标记
  • 审计报告仅报告事实

安全第一

  • P0 安全项不可跳过
  • 脱敏规则优先使用用户私有规则
  • 发布副本在桌面,不接触受保护路径

版本历史

共 7 个版本

  • v1.8.1 [1.8.1] — 2026-05-29 修复 - description 单行格式检查升级为 P0:单行长 description 导致部分 YAML 解析器拒绝加载。从 P1 升为 P0 - Phase 3 新增自动修复:检测到单行长 description 时自动转为 description: > 块标量多行格式 - SPEC.md 合并至 DESIGN.md:审计维度表 + 功能规格并入 DESIGN.md「需求规格」章节,版本校验从六文件减为四文件 [1.8.0] — 2026-05-28 新增 - Phase 3.5 内容脱敏:发布副本自动扫描 .md 和 .yaml 文件,移除敏感词。支持用户私有规则 + 内置基线规则双层脱敏 当前
    2026-05-29 08:29 安全 安全
  • v1.7.1 新增 - 跨平台支持:platform: universal,四平台路径自动探测(WB/OC/HM/UV) - 脱敏规则分层:内置基线(安全)+ 私有规则(内容合规),README 说明用户自配置 改进 - 审计修复:READ+CHANGELOG+DESIGN 版本委托统一 - rm -rf 表述中性化,消除假阳性 - Phase 2 新增执行约束:4 个确认步骤必须逐个交互,不可合并
    2026-05-26 12:39 安全 安全
  • v1.6.1 Added - Phase 0 出发前确认(Pre-flight Checklist) — 审计开始前必须先向用户出示完整"机票": - 列出接下来要做的所有阶段(Phase 1-5 概览) - 列出输出成果(发布包位置、描述文本、版本说明) - 确认输出位置(默认 ~/Desktop/,可改) - 告知全程约需手动确认 1-2 次 - 用户明确签字("确认"/"OK")后才进入 Phase 1 审计 Changed - 工作流从"五阶段"升级为"六阶段" - SKILL.md / README.md / SPEC.md / DESIGN.md 全线同步
    2026-05-09 13:33 安全 安全
  • v1.5.0 v1.5.0 - 2026-05-06 新增: - Phase 3.5.0 规则自举(AI Bootstrap) — 首次运行自动扫描发布内容,用 LLM 识别敏感词并生成脱敏规则 - 反馈闭环 — 发布后用户告知 skill 文件被报警,自动扫描新触发词并补入规则库 - 反馈闭环独立触发词(文件报警/危害内容/敏感词检查/脱敏规则) - 10 个触发词 改进: - 脱敏规则分层架构:敏感词从内置规则剥离到用户私有路径 `~/.workbuddy/principles/sanitize_rules.yaml` - Phase 3.5.2 sed 命令从 `**/*` 改为 `find + sed`,避免 macOS zsh 不展开嵌套目录 - sed 分隔符从 `/` 改为 `|`,防止 pattern 含 `/` 时解析错误 v1.4.0 - 2026-05-06 新增: - Phase 3.5 发布内容脱敏引擎 - 脱敏规则基线 + 技能特有 override 机制 - 脱敏替换报告
    2026-05-06 20:23 安全 安全
  • v1.3.0 新增: - Phase 2.5 重写:发布副本创建增加5个子步骤,支持 .skillignore 自动排除 - Phase 1 审计新增3项P0检查:用户隐私文件、缓存数据、平台配置文件 - Phase 3 新增「清理非发布物」节 修复: - 发布包未排除 .skillignore 的问题 - 用户数据直接删除而非保留骨架的问题 - 缓存数据未清理的问题 - Phase 3 清理操作未声明"仅副本执行"的潜在风险 改进: - rsync/cp 命令增加 .skillignore/.verify_history/data/cache 排除
    2026-05-06 15:16 安全 安全
  • v1.2.0 修复: - 审计新增「非发布物检测」:检查隐藏文件、占位文件(.gitkeep)、无扩展名文件 - 副本创建新增 .gitkeep 自动清理(rsync exclude + cp fallback 双保险)
    2026-05-04 11:52 安全 安全
  • v1.1.0 v1.1.0 - 2026-05-02 初始发布: - 六维审计:文件结构 / Frontmatter / 内容质量 / 版本一致性 / 安全 / 外部依赖 - P0/P1/P2 分级审计报告,P0 不可跳过 - 先议后行:展示报告后讨论确认,确认后才修改 - 副本优先:修复在桌面副本上执行,原始文件可选同步 - 自动修复:补文件、改描述、对齐版本 - 物料生成:README.md + SkillHub 描述 + 版本说明 - 零发现路由:无问题时直接生成物料 - 干净打包:自动排除垃圾文件 - 纯指令式,零外部依赖
    2026-05-02 20:47 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

科研写作助手

user_a95aac1d
科学研究写作助手。五模式全流程覆盖:论文定位(Gap 扫描 + 贡献坐标系 + 竞争度检查)、写作助手(28 条规则内边写边聊 + 手动触发论证审计)、规范检查(全量扫描 + 对抗自检 + 可选深挖)、期刊/会议定位(12 个 AI/CV
★ 1 📥 236

skill超级工厂

user_a95aac1d
从零创建、审查评分、迭代完善 AI Agent Skill 的元工具。支持 WorkBuddy/OpenClaw/Hermes/Universal 四平台,覆盖五阶段全流程(定位→需求→设计→实现→交付)。提供 14 维质量审计、14 条反
★ 1 📥 156

科研评审助手

user_a95aac1d
结构化研究评审工具——只审研究内容质量,不审写作风格。基于 v2.10 六维评价框架(诚信底线→选题→创新→严谨→贡献→可复现性),对论文或研究项目逐维评分,输出分维报告+按优先级排列的改进建议(附工作量估算)。有任何成形产出就可以跑——中
★ 2 📥 126