container-plugin/skills/deploy-release/SKILL.md
Create and publish releases via release-please or manual GitHub releases. Use when cutting a release, tagging a version, or setting up release-please config.
npx skillsauth add laurigates/claude-plugins deploy-releaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create GitHub releases using release-please automation or manual release workflows for containerized applications.
| Use this skill when... | Use deploy-handoff instead when... |
|---|---|
| Cutting a new release from main and tagging a version | Documenting an already-deployed service for another developer or client |
| Setting up or auditing release-please automation and manifests | Generating access URLs, monitoring links, and onboarding checklists for a deployed resource |
| Publishing a manual GitHub release, draft, or pre-release | Producing handoff prose for a ticket rather than cutting a version |
| Driving the version-tag side of a containerized release pipeline | Building or hardening container images themselves (use container-development) |
git remote -vgit branch --show-currentgit tag --sort=-v:refname -l 'v*' --format='%(refname:short)' -n5git log --oneline --max-count=5find . -maxdepth 1 -name 'release-please-config.json'find . -maxdepth 1 -name '.release-please-manifest.json'find . -maxdepth 1 -name 'CHANGELOG.md'Parse from $ARGUMENTS:
$1 (VERSION): Semantic version string (e.g., 1.2.0, v2.0.0-rc.1)--draft: Create release as draft (not published)--prerelease: Mark as pre-releaseExecute this release workflow:
Check whether the project uses release-please or manual releases:
release-please-config.json exists, use the release-please workflowIf release-please is configured:
gh pr list --label "autorelease: pending" --json number,title,urlIf no release-please config:
git status --porcelaingh release create v<VERSION> --title "v<VERSION>" --generate-notes
--draft flag if --draft was passed--prerelease flag if --prerelease was passedIf the user asks to set up release-please automation:
release-please-config.json with manifest release type:
{
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
"release-type": "simple",
"packages": {
".": {
"component": "<project-name>",
"extra-files": [
{"type": "json", "path": "package.json", "jsonpath": "$.version"}
],
"changelog-sections": [
{"type": "feat", "section": "Features"},
{"type": "fix", "section": "Bug Fixes"},
{"type": "perf", "section": "Performance"},
{"type": "refactor", "section": "Code Refactoring"},
{"type": "docs", "section": "Documentation"}
]
}
}
}
.release-please-manifest.json with current version:
{
".": "0.0.0"
}
Print a summary including:
Recommended workflow for automation:
name: Release
on:
push:
branches: [main]
permissions:
contents: write
pull-requests: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: googleapis/release-please-action@v4
with:
config-file: release-please-config.json
manifest-file: .release-please-manifest.json
| Context | Command |
|---------|---------|
| List recent tags | git tag --sort=-v:refname -l 'v*' -n5 |
| Check release PRs | gh pr list --label "autorelease: pending" --json number,title,url |
| Latest release | gh release view --json tagName,publishedAt,url |
| Create release | gh release create v1.0.0 --generate-notes |
| Create draft | gh release create v1.0.0 --draft --generate-notes |
| Create prerelease | gh release create v1.0.0-rc.1 --prerelease --generate-notes |
| List all releases | gh release list --json tagName,isLatest,isDraft,isPrerelease |
| Commits since tag | git log v1.0.0..HEAD --oneline |
| Flag | Description |
|------|-------------|
| --draft | Create as draft release (not visible publicly) |
| --prerelease | Mark as pre-release version |
| --generate-notes | Auto-generate release notes from commits |
| --notes-file FILE | Use file contents as release notes |
| --target BRANCH | Target branch for the release tag |
deploy-handoff - Generate deployment handoff documentationcontainer-development - Container image construction and optimizationtesting
Verify accumulated bug claims at upstream HEAD and dedup against trackers before filing issues. Use when filing upstream reports from backlogs, audit docs, or git-history findings.
documentation
Gate outward-bound text (upstream issues, docs, PR bodies) through isolated haiku fresh-reader critique before publishing. Use when an artifact must survive a reader with zero project context.
tools
Suggest improvements to SKILL.md content, descriptions, or tool config from eval results. Use when raising pass rates, fixing triggering, or iterating on a skill after evaluation.
tools
deadbranch CLI for stale-branch cleanup — dry-run preview, TUI or non-interactive delete, protects main/develop/WIP. Use when asked to clean up branches, prune branches, or remove stale branches.