准备并审计 Claw 技能,确保结构、安全性、可移植性、文档、测试、Git 规范和元数据符合发布要求。
Skill Publishinger: 准备公开发布的技能. . . 在发布任何技能之前先通过此核对表运行,以确保它可以重复使用,干净,安全和有详细记录. .是一项面向实际任务的技能,主要用于When to use. before push a keying.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
为技能的公开发布做好准备。在发布任何技能前,请逐项完成本清单,确保其具备可复用性、简洁性、安全性与完善的文档。
请按顺序执行以下检查项。每个部分下方均附有详细说明。
[ ] 1. STRUCTURE - 必需文件齐全,目录结构合理 [ ] 2. SECURITY - 不含密钥、凭据、个人身份信息(PII)或任何敏感数据 [ ] 3. PORTABILITY - 无硬编码路径,可在任意机器上运行 [ ] 4. QUALITY - 代码整洁,不含调试残留内容 [ ] 5. DOCS - README、SKILL.md 及示例完整 [ ] 6. TESTING - 已验证技能实际可用 [ ] 7. GIT - 提交历史干净,.gitignore 配置合理,提交信息规范 [ ] 8. METADATA - 包含许可证、描述、关键词等元数据
skill-name/ ├── SKILL.md # 必需 —— 入口文件,说明使用时机与快速参考 ├── README.md # 必需 —— 面向 GitHub 及人类读者 └── [content files] # 技能的实际内容文件
必须包含以下内容:
# 技能名称 对该技能功能的一行简要描述。 ## 使用时机 - 触发条件 1 - 触发条件 2 ## 快速参考 [此处填写最关键的信息] ## [其他章节] [详细内容]
❌ 将全部内容塞入一个巨型文件
❌ 使用晦涩文件名(如 data1.md、stuff.md)
❌ 文件间存在循环依赖
❌ 缺失 SKILL.md 入口文件
搜索并彻底删除以下内容:
# 在技能目录中运行
grep -rniE "(api[_-]?key|secret|password|token|bearer|auth)" . --include="*.md"
grep -rniE "([a-zA-Z0-9]{32,})" . --include="*.md" # 可能为密钥的长字符串
grep -rniE "(sk-|pk-|xai-|ghp_|gho_)" . --include="*.md" # 常见密钥前缀
搜索并彻底删除以下内容:
grep -rniE "(@gmail|@yahoo|@hotmail|@proton)" . --include="*.md"
grep -rniE "+?[0-9]{10,}" . --include="*.md" # 电话号码
grep -rniE "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}" . --include="*.md" # IP 地址
若示例需使用拟真数据,请采用以下标准:
user@example.com192.0.2.x(RFC 5737 文档保留地址段)example.com搜索并修复以下内容:
grep -rniE "(/home/|/Users/|C:\\|~/)" . --include="*.md" grep -rniE "/[a-z]+/[a-z]+/" . --include="*.md" # 绝对路径
替换为:
./config.yaml)$HOME、$XDG_CONFIG_HOME)若技能依赖外部工具,请按如下格式说明:
## 要求 - `tool-name` —— [安装链接] - 必须设置环境变量 `API_KEY`
请移除以下内容:
grep -rniE "(TODO|FIXME|XXX|HACK|DEBUG)" . --include="*.md" grep -rniE "(console.log|print(|debugger)" . --include="*.md"
python、bash)# 技能名称 简要描述(1–2 句话)。 ## 包含内容 [带说明的文件列表] ## 快速概览 [核心价值主张] ## 使用方法 [如何使用该技能] ## 要求(如有) [依赖项、API 密钥等] ## 相关链接(如有) [官方文档、代码仓库等] ## 许可证 [推荐技能使用 MIT 许可证]
若技能涉及调用外部工具或命令,请执行:
# 验证每个文档中提及的命令均可执行 # 确认输出结果与文档描述一致
创建 test.sh 或记录手动测试步骤:
#!/bin/bash # 验证技能完整性 echo "检查密钥泄露..." grep -rniE "(api[_-]?key|secret|password)" . --include="*.md" && exit 1 echo "检查硬编码路径..." grep -rniE "/home/" . --include="*.md" && exit 1 echo "✓ 所有检查通过"
创建 .gitignore 文件:
# 操作系统文件 .DS_Store Thumbs.db # 编辑器文件 *.swp *.swo *~ .idea/ .vscode/ # 临时文件 *.tmp *.bak # 测试产物 test-output/
# 检查历史中是否存在密钥 git log -p | grep -iE "(api[_-]?key|secret|password|token)"
若曾误提交密钥,请执行:
# 终极方案 —— 重写历史(请提前与协作者协调!) git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch path/to/sensitive/file' HEAD
类型: 简短描述 - 细节 1 - 细节 2 类型包括:feat、fix、docs、refactor、test、chore
# 最终验证 git status # 无意外暂存内容 git log --oneline -5 # 提交信息合理 git diff origin/main # 变更内容符合预期
claw、skill、ai-assistant)对于开源技能,MIT 许可证简洁且宽松:
MIT License Copyright (c) [年份] [作者名] 特此授予任何获得本软件及配套文档文件(“软件”)副本的人免费使用权, 允许其不受限制地使用、复制、修改、合并、发布、分发、再许可及销售软件副本, 前提是满足以下条件: 上述版权声明及本许可声明必须包含在所有软件副本或重要部分中。 本软件按“原样”提供,不附带任何明示或暗示的担保,包括但不限于适销性、 特定用途适用性及非侵权担保。在任何情况下,作者或版权持有人均不对因合同、 侵权或其他行为引起的索赔、损害赔偿或其他责任承担责任,无论是否源于本软件的 使用或与之相关。
在 SKILL.md 的 frontmatter 中声明:
--- name: skill-name description: 一行简要描述 version: 1.0.0 author: username tags: [tag1, tag2] ---
每次发布前请运行此脚本:
#!/bin/bash
set -e
SKILL_DIR="${1:-.}"
cd "$SKILL_DIR"
echo "🔍 正在审计技能目录:$SKILL_DIR"
echo ""
# 1. 结构
echo "=== STRUCTURE ==="
[ -f "SKILL.md" ] && echo "✓ SKILL.md 存在" || echo "✗ SKILL.md 缺失"
[ -f "README.md" ] && echo "✓ README.md 存在" || echo "✗ README.md 缺失"
echo ""
# 2. 安全
echo "=== SECURITY ==="
if grep -rniE "(api[_-]?key|secret|password|token|bearer)=['"]?[a-zA-Z0-9]" . --include="*.md" 2>/dev/null; then
echo "✗ 发现潜在密钥"
else
echo "✓ 未发现明显密钥"
fi
if grep -rniE "(sk-|pk-|xai-|ghp_|gho_)[a-zA-Z0-9]" . --include="*.md" 2>/dev/null; then
echo "✗ 发现 API 密钥特征模式"
else
echo "✓ 未发现 API 密钥特征模式"
fi
echo ""
# 3. 可移植性
echo "=== PORTABILITY ==="
if grep -rniE "/home/[a-z]+" . --include="*.md" 2>/dev/null; then
echo "✗ 发现硬编码 HOME 路径"
else
echo "✓ 未发现硬编码 HOME 路径"
fi
echo ""
# 4. 质量
echo "=== QUALITY ==="
if grep -rniE "(TODO|FIXME|XXX)" . --include="*.md" 2>/dev/null; then
echo "⚠ 发现 TODO(请人工复核)"
else
echo "✓ 未发现 TODO"
fi
echo ""
# 5. Git
echo "=== GIT ==="
[ -f ".gitignore" ] && echo "✓ .gitignore 存在" || echo "⚠ 未找到 .gitignore"
[ -d ".git" ] && echo "✓ Git 已初始化" || echo "✗ 当前非 Git 仓库"
echo ""
echo "🏁 审计完成"
1. 运行自动化审计脚本 2. 修复所有发现的问题 3. 手动复核上方完整检查清单 4. 使用规范提交信息完成最终提交 5. 推送至 GitHub 6. (可选)提交至 ClawdHub
一份优秀的 README 应易于发现且对人类友好。详见 docs/readme-quality.md 获取详细指南。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.5万人学习
最新文章