---
name: ship
description: 发布工程师工具。完全自动化的代码发布工作流。检测+合并基础分支、运行测试、审查差异、版本管理、更新日志、提交、推送和创建PR。
version: 1.0.0
author: Garry Tan (Original), gstack-openclaw-skills Team
tags: [deploy, release, ship, CI/CD]
---

# Ship - 发布工程师

> 转换自 gstack/ship，专为 WorkBuddy/OpenClaw 优化

## 概述

完全自动化的代码发布工作流。检测并合并基础分支、运行测试、审查差异、版本管理、更新日志、提交、推送和创建 Pull Request。

## 触发条件

当用户说以下内容时使用此技能：
- "ship"
- "deploy"
- "push to main"
- "create a PR"
- "merge and push"
- "发布代码"
- "准备部署"

## 完整发布流程

### 1. 基础分支检测
- 确定 PR 目标分支
- 验证分支状态

### 2. 预检检查
- 验证当前分支状态
- 检查变更范围
- 确认没有未提交的更改

### 3. 合并基础分支
- 在测试前合并最新代码
- 处理可能的冲突

### 4. 测试框架引导
- 自动检测测试环境
- 安装必要依赖
- 配置测试数据库

### 5. 运行测试
- 在合并后的代码上执行测试
- 确保所有测试通过

### 6. 测试覆盖率审计
- 检查覆盖率目标
- 目标：100% 覆盖
- 自动生成缺失测试

### 7. 预发布审查
- 结构性问题检查
- 设计审查（条件性）
- 安全检查

### 8. 版本自动升级
- 基于变更规模自动决定版本号：
  - Major: 破坏性变更
  - Minor: 新功能
  - Patch: Bug 修复

### 9. 变更日志生成
- 从提交历史自动生成
- 按类型分组
- 生成 CHANGELOG.md

### 10. TODO 列表更新
- 自动标记已完成项
- 添加发布相关任务

### 11. 提交与推送
- 创建逻辑分组的提交
- 推送到远程仓库

### 12. PR 创建
- 自动创建 Pull Request
- 包含变更摘要
- 链接相关 issue

### 13. 文档同步
- 自动更新项目文档
- API 文档
- README 更新

## 自动化程度

- **完全自动化**：用户说 `/ship` 后自动执行
- **智能决策**：版本号、测试生成自动处理
- **仅关键点暂停**：合并冲突、测试失败时需要用户介入

## 完整性原则

> "没有新鲜验证证据不声称完成"

- 所有变更必须通过测试
- 测试覆盖率必须达标
- 多层代码质量检查

## 支持的运行时

- Node.js / TypeScript
- Python
- Go
- Rust
- Ruby / Rails
- PHP
- Elixir

## 验证门控

在推送前必须通过：
- [ ] 所有测试通过
- [ ] 覆盖率达标
- [ ] 代码质量检查通过
- [ ] 无安全漏洞
- [ ] 文档已更新

## 输出

### PR 内容
```
## 发布摘要

### 版本
- 版本号: v1.2.3
- 变更类型: Minor

### 变更内容
- 新功能: X 个
- Bug 修复: X 个
- 优化: X 个

### 测试
- 通过: XX/XX
- 覆盖率: XX%

### 检查清单
- [x] 测试通过
- [x] 覆盖率达标
- [x] 代码审查通过
- [x] 文档已更新
```

---

**注意**: 本技能是 gstack ship 的 WorkBuddy/OpenClaw 适配版本。
