一键导入
claw-release
Release automation for Claw skills and website. Guides through version bumping, tagging, and release verification.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Release automation for Claw skills and website. Guides through version bumping, tagging, and release verification.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Security advisory feed package for OpenClaw-related threats and vulnerabilities. The upstream feed is updated daily; local automation is handled by clawsec-suite or the operator.
ClawSec suite manager with embedded advisory-feed monitoring, cryptographic signature verification, approval-gated malicious-skill response, and guided setup for additional security skills.
Hermes-only runtime security attestation and drift detection skill for operator-managed Hermes infrastructure.
Picoclaw security posture skill with advisory awareness, configuration drift detection, and supply-chain verification guidance.
ClawHub reputation checker for clawsec-suite. Adds a standalone reputation gate before guarded skill installation.
Use when checking for security vulnerabilities in NanoClaw skills, before installing new skills, or when asked about security advisories affecting the bot
| name | claw-release |
| version | 0.0.4 |
| description | Release automation for Claw skills and website. Guides through version bumping, tagging, and release verification. |
| homepage | https://clawsec.prompt.security |
| metadata | {"internal":true,"openclaw":{"emoji":"🚀","category":"utility","internal":true}} |
| clawdis | {"emoji":"🚀","requires":{"bins":["bash","git","jq","gh"]}} |
Internal tool for releasing skills and managing the ClawSec catalog.
An internal tool by Prompt Security
Install with the Vercel Skills CLI for this harness:
npx skills add prompt-security/clawsec --skill claw-release -a openclaw -y
bash, git, jq, ghFor standalone installs, verify the signed release manifest before trusting SKILL.md, skill.json, or the archive. The skill.json file is the package metadata/SBOM source, and the release pipeline signs checksums.json with the ClawSec release key.
set -euo pipefail
SKILL_NAME="claw-release"
VERSION="0.0.4"
REPO="prompt-security/clawsec"
TAG="${SKILL_NAME}-v${VERSION}"
BASE="https://github.com/${REPO}/releases/download/${TAG}"
ZIP_NAME="${SKILL_NAME}-v${VERSION}.zip"
TMP_DIR="$(mktemp -d)"
trap 'rm -rf "$TMP_DIR"' EXIT
RELEASE_PUBKEY_SHA256="711424e4535f84093fefb024cd1ca4ec87439e53907b305b79a631d5befba9c8"
curl -fsSL "$BASE/checksums.json" -o "$TMP_DIR/checksums.json"
curl -fsSL "$BASE/checksums.sig" -o "$TMP_DIR/checksums.sig"
curl -fsSL "$BASE/signing-public.pem" -o "$TMP_DIR/signing-public.pem"
curl -fsSL "$BASE/$ZIP_NAME" -o "$TMP_DIR/$ZIP_NAME"
curl -fsSL "$BASE/SKILL.md" -o "$TMP_DIR/SKILL.md"
curl -fsSL "$BASE/skill.json" -o "$TMP_DIR/skill.json"
ACTUAL_PUBKEY_SHA256="$(openssl pkey -pubin -in "$TMP_DIR/signing-public.pem" -outform DER | shasum -a 256 | awk '{print $1}')"
if [ "$ACTUAL_PUBKEY_SHA256" != "$RELEASE_PUBKEY_SHA256" ]; then
echo "ERROR: signing-public.pem fingerprint mismatch" >&2
exit 1
fi
openssl base64 -d -A -in "$TMP_DIR/checksums.sig" -out "$TMP_DIR/checksums.sig.bin"
openssl pkeyutl -verify -rawin -pubin \
-inkey "$TMP_DIR/signing-public.pem" \
-sigfile "$TMP_DIR/checksums.sig.bin" \
-in "$TMP_DIR/checksums.json" >/dev/null
hash_file() {
if command -v shasum >/dev/null 2>&1; then
shasum -a 256 "$1" | awk '{print $1}'
else
sha256sum "$1" | awk '{print $1}'
fi
}
verify_manifest_file() {
asset="$1"
path="$2"
expected="$(jq -r --arg asset "$asset" '.files[$asset].sha256 // empty' "$TMP_DIR/checksums.json")"
if [ -z "$expected" ]; then
echo "ERROR: checksums.json missing $asset" >&2
exit 1
fi
actual="$(hash_file "$path")"
if [ "$actual" != "$expected" ]; then
echo "ERROR: checksum mismatch for $asset" >&2
exit 1
fi
}
expected_archive="$(jq -r '.archive.sha256 // empty' "$TMP_DIR/checksums.json")"
if [ -z "$expected_archive" ]; then
echo "ERROR: checksums.json missing archive.sha256" >&2
exit 1
fi
actual_archive="$(hash_file "$TMP_DIR/$ZIP_NAME")"
if [ "$actual_archive" != "$expected_archive" ]; then
echo "ERROR: archive checksum mismatch" >&2
exit 1
fi
verify_manifest_file "SKILL.md" "$TMP_DIR/SKILL.md"
verify_manifest_file "skill.json" "$TMP_DIR/skill.json"
echo "Signed release manifest, archive, SKILL.md, and skill.json verified."
Only install or extract the archive after this verification succeeds.
| Release Type | Command | Tag 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 |
Ask what changed:
# Check for uncommitted changes
git status
# Verify skill directory exists
ls skills/<skill-name>/skill.json
# Get current version
jq -r '.version' skills/<skill-name>/skill.json
./scripts/release-skill.sh <skill-name> <new-version>
The script will:
git push && git push origin <skill-name>-v<version>
After pushing, the CI/CD pipeline will:
Verify at:
https://github.com/prompt-security/clawsec/releases/tag/<skill-name>-v<version>If you need to undo before pushing:
git tag -d <skill-name>-v<version>
git reset --soft HEAD~1
git reset --soft preserves the release changes in your working tree so you can inspect or amend them without discarding data.
For beta, alpha, or release candidates:
./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.
| Error | Solution |
|---|---|
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 |
Skills with "internal": true in their openclaw section:
This skill (claw-release) is an internal skill.
| Skill | Category | Internal |
|---|---|---|
| clawsec-feed | security | No |
| clawtributor | security | No |
| openclaw-audit-watchdog | security | No |
| soul-guardian | security | No |
| claw-release | utility | Yes |
After release, confirm:
GNU AGPL v3.0 or later - See repository for details.
Built by the Prompt Security team.