deploy-checklistlisted
Install: claude install-skill afine907/skills
# Deploy Checklist — 部署检查清单 Agent
项目类型 + 变更描述 → 预发布检查清单。
## Goal
Generate pre-deployment checklist based on project type and environment. Covers database, config, monitoring, backup, and rollback.
## Trigger
- User says "部署前检查"、"发版检查"、"deploy checklist"、"预发布检查"
- Before a production deployment
- User is about to cut a release
## 工作流程
```
识别项目类型 → 分析变更 → 生成检查清单 → 逐项确认
```
## Step 1: 识别项目类型
根据用户描述或代码仓库特征确定项目类型:
| 项目类型 | 特征识别 |
|----------|----------|
| **Web 后端** | Spring Boot, Django, FastAPI, Flask, Gin, Express, NestJS |
| **Web 前端** | React, Vue, Angular, Next.js, Nuxt |
| **移动端** | Android, iOS, React Native, Flutter |
| **微服务** | docker-compose.yml, Kubernetes 配置, service mesh |
| **数据/ETL** | Spark, Airflow, data pipeline 脚本 |
| **基础库/SDK** | npm package, PyPI package, maven artifact |
| **静态站点** | Hugo, Jekyll, Astro, 纯 HTML |
**如果无法识别**:让用户选择项目类型。
## Step 2: 分析变更
从用户描述或 git 变更中提取关键信息:
```bash
# 获取最近 commit 了解变更内容
git log --oneline -10
# 获取提交数,动态决定 diff 范围
COMMIT_COUNT=$(git rev-list --count HEAD 2>/dev/null || echo 0)
DIFF_RANGE="HEAD~5"
if [ "$COMMIT_COUNT" -lt 5 ]; then
DIFF_RANGE="HEAD~$COMMIT_COUNT"
fi
# 检查是否有数据库迁移
git diff --name-only "$DIFF_RANGE" | grep -iE "migration|migrate|schema|sql|alembic"
# 检查依赖变更
git diff "$DIFF_RANGE" -- package.json requirements.txt go.mod 2>/dev/null
# 检查配置变更
git diff "$DIFF_RANGE" -- .env.example config/*.yml 2>/dev/null
```
## Step 3: 生成检查清单
按