Install
openclaw skills install @yottameta/yotta-publish-guard元守 —— 通用发布前守门(默认 YottaMeta 归属,可自定义为任意发布组织):check 聚合校验(full / github / self 三档模式,可聚合元安/元审/元信 verdict)+ pack(npm pack 无 pyc / 关键文件在包内)+ versions(package/SKILL frontmatter/SKILL 正文版本行/CHANGELOG/CLI 五件对齐)+ names(npm/GitHub/ClawHub 三通道查重)+ publish 命令封装(--channels / --github-only 渠道可选,默认 dry-run,--exec 执行,--force 显式跳过推送闸门;归属经 CLI 参数或环境变量自定义,缺省 YottaMeta 开箱即用)。触发:发布技能前、改完技能准备推 GitHub / npm / ClawHub 时、想批量核对版本或查重名称时;或用户说 元守 / 发布守门 / 发布前检查 / publish-guard / 推前检查 / 查重 / 版本对齐 等。边界(Do NOT trigger):不替用户做发布决策与人工审查;网络不可用时只降级提示、不伪造结果;不做技能内容开发(脚手架用元造 yotta-skill-creator,正文需人工开发);不持有、不读取任何平台凭据(发布鉴权由各平台 CLI 按使用者本机配置完成)。
openclaw skills install @yottameta/yotta-publish-guard通用发布前守门:把「发布规范 + 已踩过的坑」固化成确定性 CLI——check 聚合校验、
pack 打包检查、versions 版本五件对齐、names 名称三通道查重、publish 发布命令封装,
任何开发者 / 团队照流程走不踩坑。零依赖(Python 3.8+ 标准库),Windows + Linux + macOS 通用。
默认归属 YottaMeta 开箱即用;其他发布组织按自己的归属配置即可(不持有、不读取任何平台凭据)。
python3 scripts/yotta_publish_guard.py check ./yotta-my-tool
Do NOT trigger:
# 1) 发布就绪检查(full 档:完整发布件;可聚合元安 / 元审 / 元信 verdict)
python3 scripts/yotta_publish_guard.py check ./yotta-my-tool
python3 scripts/yotta_publish_guard.py check ./yotta-my-tool --with-audit --with-vetter --with-verify
python3 scripts/yotta_publish_guard.py check ./yotta-private --self-use
# 2) 打包检查 / 版本五件对齐 / 名称三通道查重
python3 scripts/yotta_publish_guard.py pack ./yotta-my-tool
python3 scripts/yotta_publish_guard.py versions ./yotta-my-tool
python3 scripts/yotta_publish_guard.py names ./yotta-my-tool
# 3) 发布命令封装(默认 dry-run 打印计划;--exec 直接执行;--force 显式跳过闸门)
python3 scripts/yotta_publish_guard.py publish ./yotta-my-tool
python3 scripts/yotta_publish_guard.py publish ./yotta-my-tool --github-only
python3 scripts/yotta_publish_guard.py publish ./yotta-my-tool --channels github,npm --exec
| 模式 | 触发方式 | 要求 |
|---|---|---|
| full | check 默认 / publish 全渠道 | SKILL.md + LICENSE + README 中英四方式 + package.json + CHANGELOG(建议)+ 版本五件 + 无占位符 + 围栏 |
| github | publish --github-only | SKILL.md + LICENSE + README.md(英文);不强制 package.json / 中英 README / publish.yml 等 npm 发布件 |
| self | check --self-use | 只查技能本体:SKILL.md + frontmatter + 无占位符 + 围栏(安全家族加 Defense Triple) |
npm pack --dry-run 检查——包内无 pyc / pycache、关键文件(SKILL / LICENSE / README 中英)在包内;npm 不可用本地回退列举。VERSION 常量 / SKILL 正文版本行(如有)五件对齐。--exec 按序执行,--force 显式跳过推送闸门。本技能默认校验 / 发布命令面向 YottaMeta 归属(npm @yottameta / GitHub YottaMeta / ClawHub yottameta / topic yottaskills),开箱即用。
其他发布组织可将其改为自己的归属(npm scope / GitHub org / ClawHub owner / topic),改后校验、查重、发布命令全部按新归属生成。
归属通过 CLI 参数或环境变量指定;使用本技能的 AI 会按需引导配置。
本技能不持有、不读取任何平台凭据——npm / gh / clawhub 的发布鉴权由各平台 CLI 按使用者本机配置完成。
publish --channels github,npm,clawhub(缺省全渠道)或 --github-only——npm / ClawHub
都不是必选,只推 GitHub 时闸门用 github 档。详见 references/publish-flow.md。
publish 前先跑内置校验:有 ERROR 默认阻断(退出码 2);--force 仅显式授权后可用。
| 子命令 | 0 | 1 | 2 | 其它 |
|---|---|---|---|---|
| check | READY | READY(含 WARN 建议) | BLOCKED | 4 致命异常 |
| pack | PASS | — | 包内 pyc 或关键文件缺失 | 4 致命异常 |
| versions | PASS | — | 缺失 / 不一致 | 4 致命异常 |
| names | 三通道全部空闲 | 有渠道无法确认(需手动查重) | 有 TAKEN | 4 致命异常 |
| publish | dry-run 或执行成功 | — | 闸门阻断 / 渠道参数错误 | 执行中失败命令的退出码;4 致命异常 |
--force 仅显式授权后可用。--exec 时执行。check 对元造脚手架直接 READY);tools/validate-skill.py 的规则 = 元守内置校验的自包含副本来源(发布包内带实现副本,
不依赖仓库 tools/)。check 被阻断、versions/pack 报错、网络查重降级、publish 不敢直接跑时,先看 references/faq.md。