소스 정보
- 저장소
- ZeroZ-lab/unified-skills
- 최근 소스 활동
- 2026년 5월 21일 14:33
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 16
- 포크
- 1
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/ZeroZ-lab/unified-skills --skill ship-workflow-land명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | ship-workflow-land |
| description | 合并 PR → 等待 CI → 验证生产。当 PR 已创建需要合并到主分支并验证部署,或提到"合并""merge""PR""land" |
docs/features/<name>/07-deploy-report.md07-deploy-report.md → ship-workflow-canaryship-workflow-canary 监控确认 PR 状态:gh pr view --json number,title,reviewDecision,statusCheckRollup,mergeable
前置条件:OPEN + APPROVED + MERGEABLE。不满足时停止并报告阻塞项。
持续监控 CI 直到全部绿色或超时(15 分钟)。
超时处理: 15 分钟超时 → 报告哪些 check 仍在运行;CI 失败 → 停止,不合并。查看失败日志:gh run view <run-id> --log-failed
CI 失败时唯一允许操作: 在 PR 分支修复 → 推送 → 重新等待 CI 全绿。绝不在 CI 红灯时合并。
CI 绿色后最终确认:
gh pr merge --squash --delete-branch # 默认策略
gh pr merge --merge --delete-branch # 项目约定用 merge commit 时
合并后验证:确认 state=MERGED。远程分支立即删除;本地分支在部署成功后再清理。
读取项目配置确定部署方式:
| 检测到 | 部署方式 | 验证方法 |
|---|---|---|
.github/workflows/deploy.yml | GitHub Actions | gh run list --workflow=deploy.yml |
vercel.json / netlify.toml | 平台自动部署 | curl 部署 URL |
fly.toml | Fly.io | fly status |
Dockerfile + K8s 配置 | 容器编排 | kubectl rollout status |
| 无自动部署配置 | 手动部署 | 询问 human partner |
根据部署策略监控进度。10 分钟超时。超时后不假设失败——报告状态让 human partner 决定。
curl 健康检查端点(/health、/api/status、/api/readyz、/version)。
通过条件:所有端点返回预期 status + 响应时间 < 5000ms + /version 返回新版本号。失败时不自动回滚,报告结果让 human partner 决定。
获取合并 commit SHA,验证 revert 命令可用。回滚剧本:git revert -m 1 <sha> → git push origin main → 等待自动部署。
回滚触发条件:健康检查 5xx、关键业务流程不可用、human partner 要求。
生成 docs/features/<name>/07-deploy-report.md,作为 production deployment closure record,包含部署范围、ship/canary 带入状态、CI / merge 状态、部署策略、生产验证证据、回滚就绪、最终部署状态和 follow-up owner。
输出或记录必须包含:输入/来源、执行动作、验证结果、阻塞/回退。
| 说辞 | 现实 | 后果 |
|---|---|---|
| "CI 红灯但只是 flaky test" | Flaky test 也是问题。修掉或移除,不能忽略红灯。 | 团队 CI 信任度在 2 周内归零,真正故障被掩盖 >60% |
| "先合并再说,CI 跑着" | CI 红灯时合并 = 明知有问题还推进。 | 修复成本从 PR 内 30min 升级到主分支 hotfix 2-4h |
| "不需要等部署,反正有监控" | 不等部署验证 = 把验证推给用户。 | 故障在用户侧暴露需 15-30min,影响 500+ 用户 |
| "Squash merge 会丢历史" | Squash 保持主分支可读。详细历史在 PR 中完整保留。 | 不 squash:3 个月后主分支历史膨胀 10x,bisect 效率下降 80% |
| "小 PR 不需要健康验证" | 一个字符的配置错误也能让服务 500。PR 大小和影响大小无关。 | 单字符 typo 导致服务中断,故障发现延迟 30min |
| 失败场景 | 处理方式 |
|---|---|
| CI 失败 | 阻塞合并,PR 分支修复后重推,等待全绿 |
| Review 过期(>7 天) | 阻塞合并,请 human partner 重新确认 |
| 合并冲突 | PR 分支 rebase/merge base 解决,重推后等 CI |
| 部署超时 | 不假设失败,报告状态让 human partner 决定 |
| 健康检查 5xx 或超时 | 不自动回滚,报告结果建议按回滚计划操作 |
05-ship.md 和 06-canary-report.md 状态模板起点:templates/feature/07-deploy-report.md
# <Feature Name> — Deploy Report
## Deploy Summary
- Owner:
- Date:
- PR:
- Merge SHA:
- Status: pending / merged / deployed / rolled-back / blocked
## Deploy Scope
- Environment:
- Service / app / artifact:
- Version / commit / release:
- Target users / traffic:
- Explicitly out of scope:
## Ship / Canary Carryover
- Ship decision:
- Ship source:
- Canary result:
- Canary source:
- Conditions carried into deploy:
## CI / Merge Status
- Review status:
- CI result:
- Duration:
- Expired approvals:
- Merge method:
- Branch cleanup:
## Deployment Strategy
- Strategy:
- Deployment target:
- Version confirmed:
- Rollout mode:
- Deployment evidence:
## Production Verification
| Check | Source | Expected | Actual | Result |
|-------|--------|----------|--------|--------|
## Rollback Readiness
- Command:
- Trigger conditions:
- Estimated time:
- Data / migration handling:
- Owner:
## Final Deployment Status
- Final status: deployed / rolled-back / paused / failed
- Decision reason:
- Production URL / artifact path:
Completed at:
Canary requirement:
Monitoring owner:
Remaining actions:
Tracking:
Next command: / / / none