Install
openclaw skills install submit-pr规范化 PR 提交工作流。当用户需要提交 PR 时使用,自动完成敏感信息扫描、文件范围确认、规范 commit 生成和 PR 创建
openclaw skills install submit-prgit branch --show-currentgit status --shortgit log --oneline -5提交 PR,标题:$ARGUMENTS
按以下流程逐步执行,每个检查不通过时必须停止并告知用户。
对所有待提交的变更文件执行扫描,检测以下模式:
私钥 / 助记词
0x[0-9a-fA-F]{64} # 以太坊私钥
[0-9a-fA-F]{64} # 裸十六进制私钥
PRIVATE_KEY\s*=\s*\S+ # 环境变量赋值
MNEMONIC\s*=\s*\S+
SECRET\s*=\s*\S+
API 密钥 / Token
sk-[a-zA-Z0-9]{20,} # OpenAI / Anthropic key
ghp_[a-zA-Z0-9]{36} # GitHub token
[0-9a-f]{32} # 通用 32 位 hex token
Authorization:\s*Bearer\s+\S+
敏感文件
.env、.env.*(非 .env.example)*.pem、*.key、*.p12、keystore.json执行命令:
git diff HEAD --name-only # 获取变更文件列表
git diff HEAD -- <file> # 逐文件检查内容
结果:
列出所有变更文件,按类型分组展示:
新增文件:
+ src/Foo.sol
修改文件:
~ src/Bar.sol
~ test/Bar.t.sol
删除文件:
- src/Old.sol
询问用户:
以上文件是否都与本次功能相关?是否有需要排除或补充的文件?
等待用户确认后继续 Step 3。如有调整,执行:
git add <confirmed-files> # 只暂存用户确认的文件
git restore --staged <excluded> # 移出不相关文件
根据变更内容,生成符合以下规范的 commit message:
<type>(<scope>): <subject>
[body - 可选,说明 why 而非 what,每行不超过 72 字符]
| type | 适用场景 |
|---|---|
feat | 新功能 |
fix | Bug 修复 |
docs | 文档变更 |
refactor | 重构(不影响功能) |
test | 测试相关 |
chore | 构建/工具/依赖 |
perf | 性能优化 |
feat(vault): add reentrancy guard to withdraw
fix(token): correct decimal calculation in transfer
docs(readme): add skill usage guide
向用户展示生成的 commit message,确认后执行提交:
git commit -m "<confirmed message>"
git push origin <current-branch>
使用以下模板创建 PR:
gh pr create \
--title "$ARGUMENTS" \
--body "$(cat <<'EOF'
## 变更内容
- <bullet points 说明主要改动>
## 测试
- [ ] 本地编译通过
- [ ] 相关测试通过
- [ ] 无敏感信息泄露
## 关联
EOF
)"
## PR 提交报告
**分支**:<branch-name>
**标题**:<pr-title>
**Commit**:<hash> <message>
**敏感信息扫描**:✅ 通过
**文件范围**:✅ 已确认(共 N 个文件)
**PR 链接**:<gh pr url>