Skip to main content

safe-deploy

Deploy to a target environment after running pre-flight checks. Only invoke manually.

来源信息

仓库
davila7/claude-with-skills
最近来源活动
2026年5月15日 01:57
检测到的 SKILL.md 语言
英语
星标
13
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
title
safe-deploy
name
safe-deploy
description
Deploy to a target environment after running pre-flight checks. Only invoke manually.
disable-model-invocation
true
argument-hint
["environment"]
allowed-tools
Bash(npm test) Bash(npm run build) Bash(git status) Bash(git log *) Bash(git push *) Bash(git tag *)
## Pre-flight checks !`git status --short` !`git log --oneline -5` --- Deploy to: $ARGUMENTS If `$ARGUMENTS` is empty, stop immediately. Report: "No environment specified. Invoke as: /safe-deploy <environment> (e.g., /safe-deploy staging or /safe-deploy production)." ### Step 1: Abort if there are uncommitted changes Check the git status output above. If it shows any modified, untracked, or staged files, stop here. Report: "Deploy aborted: the working tree has uncommitted changes. Commit or stash them before deploying to $ARGUMENTS." Do not proceed past this step if there are uncommitted changes. ### Step 2: Run the test suite Run: ``` npm test ``` If any test fails, stop here. Report the failing test names and do not proceed. ### Step 3: Build the project Run: ``` npm run build ``` If the build fails, report the full error output and stop. Do not proceed. ### Step 4: Create a deployment tag Construct a tag name: ``` deploy-$ARGUMENTS-<YYYYMMDD>-<HHMMSS> ``` Use the current UTC date and time. For example, a production deploy on 2026-05-13 at 14:32:07 UTC produces: `deploy-production-20260513-143207`. Run: ``` git tag deploy-$ARGUMENTS-<YYYYMMDD>-<HHMMSS> ``` ### Step 5: Push the tag Run: ``` git push origin deploy-$ARGUMENTS-<YYYYMMDD>-<HHMMSS> ``` If the push fails, report the error. Do not retry automatically. ### Step 6: Report success Print a final summary: ``` Deploy initiated. Environment: $ARGUMENTS Tag: deploy-$ARGUMENTS-<YYYYMMDD>-<HHMMSS> Commit: <git rev-parse HEAD output> Time: <YYYY-MM-DD HH:MM:SS UTC> ``` If any step failed, do not print this summary. The failure report for the failing step is the final output.
在 GitHub 查看