claw-release

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Claw Release

Claw 发布工具

Internal tool for releasing skills and managing the ClawSec catalog.
An internal tool by Prompt Security

用于发布技能和管理ClawSec目录的内部工具。
Prompt Security开发的内部工具

Quick Reference

快速参考

Release TypeCommandTag Format
Skill release
./scripts/release-skill.sh <name> <version>
<name>-v<version>
Pre-release
./scripts/release-skill.sh <name> 1.0.0-beta1
<name>-v1.0.0-beta1

发布类型命令标签格式
技能发布
./scripts/release-skill.sh <name> <version>
<name>-v<version>
预发布
./scripts/release-skill.sh <name> 1.0.0-beta1
<name>-v1.0.0-beta1

Release Workflow

发布工作流

Step 1: Determine Version Type

步骤1:确定版本类型

Ask what changed:
  • Bug fixes only → Patch (1.0.0 → 1.0.1)
  • New features, backward compatible → Minor (1.0.0 → 1.1.0)
  • Breaking changes → Major (1.0.0 → 2.0.0)
  • Testing/unstable → Pre-release (1.0.0-beta1, 1.0.0-rc1)
根据变更内容判断:
  • 仅修复Bug → 补丁版本(1.0.0 → 1.0.1)
  • 新增向后兼容的功能 → 次版本(1.0.0 → 1.1.0)
  • 包含破坏性变更 → 主版本(1.0.0 → 2.0.0)
  • 测试/不稳定版本 → 预发布版本(1.0.0-beta1, 1.0.0-rc1)

Step 2: Pre-flight Checks

步骤2:前置检查

bash
undefined
bash
undefined

Check for uncommitted changes

检查未提交的变更

git status
git status

Verify skill directory exists

校验技能目录是否存在

ls skills/<skill-name>/skill.json
ls skills/<skill-name>/skill.json

Get current version

获取当前版本

jq -r '.version' skills/<skill-name>/skill.json
undefined
jq -r '.version' skills/<skill-name>/skill.json
undefined

Step 3: Run Release Script

步骤3:运行发布脚本

bash
./scripts/release-skill.sh <skill-name> <new-version>
The script will:
  1. Validate version format (semver)
  2. Check tag doesn't already exist
  3. Update skill.json version
  4. Update SKILL.md frontmatter version (if file exists)
  5. Update hardcoded version URLs (feed_url)
  6. Commit changes
  7. Create annotated git tag
bash
./scripts/release-skill.sh <skill-name> <new-version>
脚本会执行以下操作:
  1. 校验版本格式(semver)
  2. 检查标签不存在重复
  3. 更新skill.json中的版本号
  4. 更新SKILL.md前言中的版本号(如果文件存在)
  5. 更新硬编码的版本URL(feed_url)
  6. 提交变更
  7. 创建带注解的git标签

Step 4: Push Release

步骤4:推送发布

bash
git push && git push origin <skill-name>-v<version>
bash
git push && git push origin <skill-name>-v<version>

Step 5: Verify Release

步骤5:校验发布

After pushing, the CI/CD pipeline will:
  1. Validate skill exists
  2. Verify version matches skill.json
  3. Verify version matches SKILL.md frontmatter (if exists)
  4. Generate checksums from SBOM
  5. Create .skill package (ZIP)
  6. Create GitHub Release
  7. Trigger website rebuild (for non-internal skills)
Verify at:
  • GitHub Releases:
    https://github.com/prompt-security/clawsec/releases/tag/<skill-name>-v<version>
  • GitHub Actions: Check workflow run status

推送完成后,CI/CD流水线会执行:
  1. 校验技能存在
  2. 校验版本与skill.json内容一致
  3. 校验版本与SKILL.md前言内容一致(如果文件存在)
  4. 从SBOM生成校验和
  5. 创建.skill包(ZIP格式)
  6. 创建GitHub Release
  7. 触发官网重建(仅针对非内部技能)
可在以下位置校验发布结果:
  • GitHub Releases:
    https://github.com/prompt-security/clawsec/releases/tag/<skill-name>-v<version>
  • GitHub Actions: 检查工作流运行状态

Undo a Release (Before Push)

撤销发布(推送前)

If you need to undo before pushing:
bash
git reset --hard HEAD~1 && git tag -d <skill-name>-v<version>

如果在推送前需要撤销发布,可执行:
bash
git reset --hard HEAD~1 && git tag -d <skill-name>-v<version>

Pre-release Versions

预发布版本

For beta, alpha, or release candidates:
bash
./scripts/release-skill.sh <skill-name> 1.2.0-beta1
./scripts/release-skill.sh <skill-name> 1.2.0-alpha1
./scripts/release-skill.sh <skill-name> 1.2.0-rc1
Pre-releases are automatically marked in GitHub Releases.

如果需要发布beta、alpha或候选版本,可执行:
bash
./scripts/release-skill.sh <skill-name> 1.2.0-beta1
./scripts/release-skill.sh <skill-name> 1.2.0-alpha1
./scripts/release-skill.sh <skill-name> 1.2.0-rc1
预发布版本会在GitHub Releases中自动标记。

Common Issues

常见问题

ErrorSolution
Tag already exists
Choose a different version number
Version mismatch in CI
Ensure you used the release script (not manual tagging)
SKILL.md version mismatch
Ensure you used the release script which updates both skill.json and SKILL.md
Uncommitted changes
Commit or stash first:
git stash
or
git add . && git commit
skill.json not found
Verify skill directory path is correct

错误信息解决方案
Tag already exists
选择其他版本号
Version mismatch in CI
确保你使用的是发布脚本,而非手动打标签
SKILL.md version mismatch
确保你使用的是发布脚本,脚本会同步更新skill.json和SKILL.md的版本
Uncommitted changes
先提交或暂存变更:执行
git stash
git add . && git commit
skill.json not found
校验技能目录路径是否正确

Internal Skills

内部技能

Skills with
"internal": true
in their
openclaw
section:
  • Are released normally via GitHub Releases
  • Are NOT shown in the public skills catalog website
  • Can still be downloaded directly from release URLs
This skill (
claw-release
) is an internal skill.

openclaw
字段中设置了
"internal": true
的技能:
  • 可通过GitHub Releases正常发布
  • 不会在公开技能目录官网展示
  • 仍可通过发布URL直接下载
本工具(
claw-release
)属于内部技能。

Existing Skills

现有技能列表

SkillCategoryInternal
clawsec-feedsecurityNo
clawtributorsecurityNo
openclaw-audit-watchdogsecurityNo
soul-guardiansecurityNo
claw-releaseutilityYes

技能名称分类是否内部
clawsec-feedsecurity
clawtributorsecurity
openclaw-audit-watchdogsecurity
soul-guardiansecurity
claw-releaseutility

Verification Checklist

校验清单

After release, confirm:
  • GitHub Release exists with correct tag
  • Release has: skill.json, SKILL.md, checksums.json, .skill package
  • Release is marked as pre-release if applicable
  • GitHub Actions workflow completed successfully
  • Website updated (for non-internal skills only)

发布完成后,请确认:
  • GitHub Release存在且标签正确
  • 发布包包含:skill.json、SKILL.md、checksums.json、.skill包
  • 如为预发布版本,已正确标记预发布状态
  • GitHub Actions工作流运行成功
  • 官网已更新(仅针对非内部技能)

License

许可证

GNU AGPL v3.0 or later - See repository for details.
Built by the Prompt Security team.
GNU AGPL v3.0 或更高版本 - 详情请查看仓库说明。
Prompt Security团队开发。