From claude-skills-cicd
Build a Python wheel, npm package, or Docker image AND optionally push it to a registry. This is a SIDE-EFFECTING WRITE OPERATION. Default behaviour reads `$PWD` (the repo the user is releasing) and runs in dry-run mode (build only, no push). Use this when the user asks to "release v1.2.3", "publish to PyPI", "twine upload", "npm publish", "ship a new version", "build and push the docker image to ghcr", "cut a github release", "tag and push", "deploy the SDK", or any explicit publish/release request on the current repo. The user may also pass a GitHub URL to release a different repo. For running tests or linters, use lint-and-test. For SAST or secret scans, use security-scan. For dependency CVE checks, use dependency-audit.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-skills-cicd:build-and-releaseThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Build a wheel / npm tarball / docker image. Push to a registry only when explicitly told to via `--no-dry-run`. **Side-effecting.** Idempotent by content digest (re-pushing the same artifact is a no-op at the registry level).
Build a wheel / npm tarball / docker image. Push to a registry only when explicitly told to via --no-dry-run. Side-effecting. Idempotent by content digest (re-pushing the same artifact is a no-op at the registry level).
This skill has disable-model-invocation: true, so Claude must NOT auto-fire it from a soft natural-language ask. The user has to explicitly invoke it via /claude-skills-cicd:build-and-release or be very direct in chat ("run the build-and-release skill on this repo"); even then Claude should usually confirm before pushing.
python skills/build-and-release/scripts/run.py \
--target wheel --version 1.2.3
The script reads $PWD, validates .git/, and builds against the working tree.
python skills/build-and-release/scripts/run.py \
--repo-url https://github.com/foo/bar --ref v1.2.3 \
--target wheel --version 1.2.3
Same dry-run / push semantics; sandbox is auto-cleaned.
--target wheel|npm|docker--version SEMVER (required for wheel and docker)--image-name OWNER/NAME (required for docker)--no-dry-run: actually push (twine upload / npm publish / docker push). Caller must already have credentials configured (~/.pypirc, ~/.npmrc, docker login).{
"ok": true,
"target": "wheel",
"version": "1.2.3",
"artifact": "yourpkg-1.2.3-py3-none-any.whl",
"digest": "sha256:abc...",
"dry_run": true,
"pushed": false,
"push_log_tail": null
}
pushed=true only when --no-dry-run was passed AND the push succeeded.
disable-model-invocation: true: Claude does not fire this from a free-form prompt. Human gate is the safety boundary.git push of source. Only artifacts go out.https://github.com/ accepted in --repo-url.npx claudepluginhub kevinweisl/claude-skills-cicd --plugin claude-skills-cicdProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.