python-deploy
- Repo stars 0
- Author repo skills-registry
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/
<!-- tomevault:4.0:skill_md:2026-05-22 -->Source: davila7/claude-with-skills — distributed by TomeVault.
- Fluxly category
- DevOps
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 88 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @tomevault-io · no license declared
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Plug-and-play
- External API key
- No requirement detected
- Detected OS requirements
- Unspecified
- Runtime requirements
- Python
- Detected file/system behavior
-
- Read-only
- Write / modify
- Detected network behavior
- Local-only
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
The current SKILL.md does not define a fixed output example. 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."
Run: If any tests fail, report the failing test names and count, then stop. Do not proceed. If pytest is not installed, try:
Run: This requires the build package. If it is not installed, run: Then retry python -m build.
Construct the tag name: Use current UTC date and time. Example: deploy-staging-20260513-143207. Run:
Run: If the push fails, report the error and stop.
Print a final summary: Source: davila7/claude-with-skills — distributed by TomeVault. <!-- tomevault:4.0:skillmd:2026-05-22 -->
## 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:
```
… Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> Pre-flight checks → Step 1: Abort if there are uncommitted changes → Step 2: Run the test suite → Step 3: Build the distribution package → Step 4: Create a deployment tag → Step 5: Push the tag
terms -> If $ARGUMENTS is empty, stop immediately. · Check the git status output above. · Report: "Deploy aborted: there are uncommitted changes. · A clean working tree shows no output from git status --short. · If any tests fail, report the failing test names and count, then stop. · If neither is available, report that no test runner was found and stop. · This requires the build package. · Then retry python -m build.
files/cmd -> git status --short · git log --oneline -5 · $ARGUMENTS · build · python -m build · dist/ · .whl · .tar.gz
body sha256 -> da4a602d62e7
Decide Fit First
Design Intent
How To Use It
Boundaries And Review