关于 ship
ship 是用于验证、提交和推送代码变更的工作流技能。默认在提交前检查代码并扫描敏感数据,随后按逻辑分组提交并核验推送状态。
主要功能
- 01提交前验证代码
- 02扫描变更中的敏感数据
- 03按逻辑拆分原子提交
- 04推送并核验分支状态
- 05受限的快速模式
适用场景
- 01提交代码前运行检查
- 02将无关变更拆分为多个提交
- 03推送分支并确认状态
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ helderberto/ agent-skills --skill ship安装后在 Claude Code 中输入/ship确认已加载。
详细介绍
发布更改
Ship 会在提交前运行发布前检查。默认情况下:validate-code + safe-repo。该检查可确保工作区中不会带有损坏或不安全的内容。
参数
--fast— 跳过发布前检查。仅用于紧急修复、临时分支(探索/原型/CI),或本次会话中已手动通过检查的情况。切勿在 main/release 分支上使用。在提交说明正文中注明原因。
工作流
阶段 1 — 发布前检查(使用 --fast 时跳过)
- 验证代码:调用 validate-code 技能。自动修复格式问题、验证类型并运行测试。
- 如果
validate-code返回 FAIL → 报告错误并停止。不要提交或推送。
- 如果
- 敏感数据扫描:仅针对暂存区和未暂存的差异(而非整个仓库)调用 safe-repo 技能。
- 如果发现敏感数据 → 报告发现项并停止。不要提交或推送。
阶段 2 — 提交
- 根据状态和差异检查所有更改
- 从日志中分析近期提交的风格
- 使用提交分组规则按逻辑关注点对更改的文件分组
- 对每个分组:按名称暂存指定文件,并使用 HEREDOC 格式提交
- 如果所有更改属于一个逻辑单元,按名称暂存文件(切勿使用
git add -A或git add .)
阶段 3 — 推送
- 推送:
git push(当前分支) - 随后运行
git status进行验证
规则
- 默认运行发布前检查;仅可通过
--fast并说明原因来跳过;切勿在 main/release 分支上使用--fast - 如果更改用途不同,将其分成多个原子提交
- 绝不强制推送(
-f或--force)
错误处理
- 如果
git push被拒绝(非快进)→ 运行git pull --rebase,然后重试推送一次 - 如果提交前钩子失败 → 修复报告的问题、重新暂存,并创建一个新提交(切勿使用
--amend) - 如果使用了
--fast→ 在 Agent 输出中记录“Pre-launch gate skipped via --fast”,以便追溯
评论
支持 Markdown