Skip to content
cccskills
FreePublished on 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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md2.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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/

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

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.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

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.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

Create a git branch named after a GitHub issue.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

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.

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

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

The English summary is being prepared. Showing the original description.

davila7/claude-with-skills13Updated May 15, 2026

See all skills by davila7

Report a problem with this skill