Agent skill · Security

agf-deploying-uat

Use when deploy-engineer is about to deploy the merged-to-main code to the isolated local UAT stack (after code review + SIT Audit pass and merge, before qa-engineer runs E2E/UAT). Provides the applicability gate, pre-flight checks, isolated compose bring-up (independent project name + port offset +900), in-container migration, real-output smoke test, hand-off, and the deploy-report skeleton. Pairs with deployment.md "UAT 环境部署" contract and slash /agf-deploy-uat.

pcliangx359★ · 1 repos on radarProfile →
claude-codeMIT
Install
npx skills add pcliangx/AppGenesisForge --skill agf-deploying-uat --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 6 KB
Bundled scripts: none
Path: .claude/skills/agf-deploying-uat/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 359
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Deploying to the isolated UAT stack 把**合并到 main 后的干净代码**部署到与所有 dev worktree 物理隔离的本地 UAT 栈,冒烟自检通过后交接 qa-engineer。本 skill 是 deploy-engineer 的分步 runbook;隔离契约的单一来源是 [`deployment.md`](../../standards/deployment.md) "UAT 环境部署" 节。 ## 适用门 满足以下**全部**才进入部署: - 角色 = `deploy-engineer`(review-only / deploy-only,不修源码)。 - 目标是 **Web 全栈链路**(docker-compose 化的 frontend + backend + postgres 等)。小程序"部署"= 上传体验版 → **不适用**,归 miniapp-dev / miniapp-qa-engineer。 - code review(含 SIT Audit)已通过**且已合并到 main**,product-lead 已确认"部署 UAT"(对话内询问通过或 `/agf-deploy-uat` 手动触发)。 任一不满足 → 不部署,SendMessage product-lead 说明缺什么。 ## 前置检查(部署前必须逐项确认) - [ ] **main 干净且最新**:在合并后的 main 上,`git status` 无未提交改动,记录待部署 commit SHA(`git rev-parse --short HEAD`)。绝不部署任何未合并的 dev worktree 分支。 - [ ] **docker 可用**:`docker compose version` 正常返回(daemon 在跑)。 - [ ] **`.env.uat` 存在**:UAT 专用环境变量文件(含密钥)已就位且 **gitignore**(不入库)。缺失 → 阻断,请 product-lead 协调补齐。 - [ ] **端口未被占**:+900 带(6332 / 8900 / 8980)当前空闲(`lsof -i:8900` 等快速核对),确认不与 dev(base)/ QA pool(base+100..+700)/ 既有 UAT 栈撞车。 任一不勾 → 不起栈,先 SendMessage product-lead 解决先决条件。 ## 隔离起栈(独立 project name + 端口偏移 +900) ```bash export COMPOSE_PROJECT_NAME=${APP_NAME}-uat # 独立 project → 容器/网络/卷全独立于 dev / QA export UAT_PORT_

What's inside
Steps it walks through
  1. 适用门
  2. 前置检查(部署前必须逐项确认)
  3. 隔离起栈(独立 project name + 端口偏移 +900)
  4. 容器内迁移
  5. 冒烟(真实输出,非 dry-run)
  6. 二元 gate
  7. 交接
  8. 部署报告骨架
  9. 完成前的验证
  10. 反模式
Commands it runs
export COMPOSE_PROJECT_NAME=${APP_NAME}-uat   # 独立 project → 容器/网络/卷全独立于 dev / QA
export UAT_PORT_OFFSET=900                     # → POSTGRES 6332 / BACKEND 8900 / FRONTEND(caddy) 8980
docker compose -p "$COMPOSE_PROJECT_NAME" --env-file .env.uat up -d --build
docker compose -p "$COMPOSE_PROJECT_NAME" exec backend alembic upgrade head
curl -sS -w "\nHTTP %{http_code}\n" http://localhost:8900/health
curl -sS -w "\nHTTP %{http_code}\n" http://localhost:8900/api/<核心只读端点>
curl -sS -I http://localhost:8980    # 期望 200 / index.html 可达
docker compose -p "$COMPOSE_PROJECT_NAME" exec postgres psql -U <user> -d <db> -c "\dt"
More from AppGenesisForge
All skills →
About this skill
What does the agf-deploying-uat skill do?

Use when deploy-engineer is about to deploy the merged-to-main code to the isolated local UAT stack (after code review + SIT Audit pass and merge, before qa-engineer runs E2E/UAT). Provides the applicability gate, pre-flight checks, isolated compose bring-up (independent project name + port offset +900), in-container migration, real-output smoke test, hand-off, and the deploy-report skeleton. Pairs with deployment.md "UAT 环境部署" contract and slash /agf-deploy-uat.

How do I install it?

Run `npx skills add pcliangx/AppGenesisForge --skill agf-deploying-uat --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From pcliangx/AppGenesisForge, a repository with 359 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going