用途
land-and-deploy 是一个面向「落地并部署」流程的技能,目标是把代码从合并请求(PR)推进到生产环境,并确认生产健康状态。其描述为:合并 PR、等待部署、验证生产健康。
主要能力
该技能提供 10 步工作流,具体步骤包括:
- 预检(pre-flight)
- CI 检查(CI check)
- 就绪门禁(readiness gate)
- 合并(respects merge queue,即遵循合并队列)
- 识别平台(detect platform)
- 等待部署(wait for deploy)
- 金丝雀验证(canary verification)
- 回滚选项(revert option)
- 部署报告(deploy report)
平台自动识别支持:Fly、Render、Vercel、Netlify、Heroku、GitHub Actions。
使用方式
资料中给出的是一份 SKILL.md 文档,包含运行前置脚本(Preamble)、AskUserQuestion 格式、完整性原则、仓库归属模式、构建前搜索、贡献者模式、完成状态协议、遥测与计划状态页脚等通用约定。文档开头提供了一段需首先运行的 bash 前置脚本,用于检查更新、创建会话目录、读取配置(如 proactive、telemetry、contributor)、输出当前分支与仓库模式等。
前置脚本示例(保留原文):
_UPD=$(~/.claude/skills/gstack/bin/gstack-update-check 2>/dev/null || .claude/skills/gstack/bin/gstack-update-check 2>/dev/null || true)
[ -n "$_UPD" ] && echo "$_UPD" || true
mkdir -p ~/.gstack/sessions
touch ~/.gstack/sessions/"$PPID"
_SESSIONS=$(find ~/.gstack/sessions -mmin -120 -type f 2>/dev/null | wc -l | tr -d ' ')
find ~/.gstack/sessions -mmin +120 -type f -delete 2>/dev/null || true
_CONTRIB=$(~/.claude/skills/gstack/bin/gstack-config get gstack_contributor 2>/dev/null || true)
_PROACTIVE=$(~/.claude/skills/gstack/bin/gstack-config get proactive 2>/dev/null || echo "true")
_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
echo "BRANCH: $_BRANCH"
echo "PROACTIVE: $_PROACTIVE"
source <(~/.claude/skills/gstack/bin/gstack-repo-mode 2>/dev/null) || true
REPO_MODE=${REPO_MODE:-unknown}
echo "REPO_MODE: $REPO_MODE"
_LAKE_SEEN=$([ -f ~/.gstack/.completeness-intro-seen ] && echo "yes" || echo "no")
echo "LAKE_INTRO: $_LAKE_SEEN"
_TEL=$(~/.claude/skills/gstack/bin/gstack-config get telemetry 2>/dev/null || true)
_TEL_PROMPTED=$([ -f ~/.gstack/.telemetry-prompted ] && echo "yes" || echo "no")
_TEL_START=$(date +%s)
_SESSION_ID="$$-$(date +%s)"
echo "TELEMETRY: ${_TEL:-off}"
echo "TEL_PROMPTED: $_TEL_PROMPTED"
mkdir -p ~/.gstack/analytics
echo '{"skill":"land-and-deploy","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.gstack/analytics/skill-usage.jsonl 2>/dev/null || true
# zsh-compatible: use find instead of glob to avoid NOMATCH error
for _PF in $(find ~/.gstack/analytics -maxdepth 1 -name '.pending-*' 2>/dev/null); do [ -f "$_PF" ] && ~/.claude/skills/gstack/bin/gstack-telemetry-log --event-type skill_run --skill _pending_finalize --outcome unknown --session-id "$_SESSION_ID" 2>/dev/null || true; break; done
文档还规定:若 PROACTIVE 为 "false",不要主动建议 gstack 技能,仅在用户明确要求时调用。若输出显示 UPGRADE_AVAILABLE <old> <new>,需阅读升级技能文档并遵循内联升级流程;若显示 JUST_UPGRADED <from> <to>,则告知用户正在运行 gstack v{to}(刚刚更新)并继续。
适用场景
适用于需要把已就绪的 PR 合并到主分支、触发部署并验证生产环境健康的开发与运维流程,尤其是使用 Fly、Render、Vercel、Netlify、Heroku 或 GitHub Actions 作为部署平台的仓库。
限制
资料未提供该技能的具体安装命令、收费方式、价格、平台支持范围之外的信息,也未提供实际使用效果或性能数据,这些内容暂未提供。该技能文档为自动生成(AUTO-GENERATED from SKILL.md.tmpl),并注明不要直接编辑。
引用文档
以下为作者声明的引用来源,保留指定版本、署名和许可。
- garrytan/gstack/land-and-deploy/SKILL.md — 署名:Garry Tan;许可:MIT;版本:
f4bbfaa5bdfd2d6ce59541c2145432febde57fed。