跳到正文
cccskills
免费在 GitHub 公开

python-deploy

Deploy a Python project to the target environment. Runs pytest, builds the wheel, and pushes a deployment tag. Only invoke manually when ready to deploy.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md2.3 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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: /python-deploy <environment> (e.g., /python-deploy staging or /python-deploy production)."

Step 1: Abort if there are uncommitted changes

Check the git status output above. If it shows any lines (modified, untracked, staged, or deleted files), stop here.

Report: "Deploy aborted: there are uncommitted changes. Commit or stash them before deploying to $ARGUMENTS."

A clean working tree shows no output from git status --short. Do not proceed unless the output is empty.

Step 2: Run the test suite

Run:

python -m pytest

If any tests fail, report the failing test names and count, then stop. Do not proceed.

If pytest is not installed, try:

python -m unittest discover

If neither is available, report that no test runner was found and stop. Do not deploy without running tests.

Step 3: Build the distribution package

Run:

python -m build

This requires the build package. If it is not installed, run:

pip install build

Then retry python -m build.

If the build fails, report the error output and stop.

On success, confirm the output: the dist/ directory should contain a .whl and a .tar.gz file.

Step 4: Create a deployment tag

Construct the tag name:

deploy-$ARGUMENTS-<YYYYMMDD>-<HHMMSS>

Use current UTC date and time. Example: deploy-staging-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 and stop.

Step 6: Report success

Print a final summary:

Deploy initiated.
Environment: $ARGUMENTS
Tag: deploy-$ARGUMENTS-<YYYYMMDD>-<HHMMSS>
Time: <YYYY-MM-DD HH:MM:SS UTC>
Build artifacts: dist/

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Write an Architecture Decision Record (ADR) document for a technical decision. Use when documenting a technical choice, architectural decision, or design decision.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

REST API design conventions for this codebase. Use when writing or reviewing API endpoints, route definitions, response formatting, or client code that calls the API.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

Automatically format code files after every edit using Prettier and ESLint. Active in the background whenever Claude edits a file. Formatting is silent — no prompts, no output unless a formatter fails. Use when you want consistent formatting enforced automatically during a coding session.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

Create a git branch named after a GitHub issue.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

Draft a CHANGELOG.md entry for the current changes in Keep a Changelog format. Use when releasing, tagging a version, or updating CHANGELOG.md.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

Draft the changelog entry for all unreleased commits in Keep a Changelog format. Groups commits into Added, Changed, Fixed, Removed, and Security. Use before releasing a new version or when updating CHANGELOG.md.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

查看 davila7 的全部技能

报告此技能的问题