deploy-release

v2026.09.24

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.

GitHub
安装命令
npx skhub add laurigates/deploy-release
Markdown
SKILL.md

Release Creation Command

Create GitHub releases using release-please automation or manual release workflows for containerized applications.

When to Use This Skill

Use this skill when...Use deploy-handoff instead when...
Cutting a new release from main and tagging a versionDocumenting an already-deployed service for another developer or client
Setting up or auditing release-please automation and manifestsGenerating access URLs, monitoring links, and onboarding checklists for a deployed resource
Publishing a manual GitHub release, draft, or pre-releaseProducing handoff prose for a ticket rather than cutting a version
Driving the version-tag side of a containerized release pipelineBuilding or hardening container images themselves (use container-development)

Context

  • Git remotes: !git remote -v
  • Branch: !git branch --show-current
  • Recent tags: !git tag --sort=-v:refname -l 'v*' --format='%(refname:short)' -n5
  • Last release commit: !git log --oneline --max-count=5
  • Release config: !find . -maxdepth 1 -name 'release-please-config.json'
  • Manifest: !find . -maxdepth 1 -name '.release-please-manifest.json'
  • Changelog: !find . -maxdepth 1 -name 'CHANGELOG.md'

Parameters

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-release

Execution

Execute this release workflow:

Step 1: Determine release strategy

Check whether the project uses release-please or manual releases:

  1. If release-please-config.json exists, use the release-please workflow
  2. If no release-please config exists, use the manual release workflow

Step 2a: Release-please workflow

If release-please is configured:

  1. Verify conventional commits exist since last release tag
  2. Check for an open release PR: gh pr list --label "autorelease: pending" --json number,title,url
  3. If a release PR exists, report its status and URL
  4. If no release PR exists, explain that release-please creates PRs automatically from conventional commits
  5. Provide guidance on merging the release PR to trigger the release

Step 2b: Manual release workflow

If no release-please config:

  1. Validate the VERSION argument follows semver format
  2. Check that the working tree is clean: git status --porcelain
  3. Confirm the branch is main or master
  4. Create the release with:
    gh release create v<VERSION> --title "v<VERSION>" --generate-notes
    
  5. Add --draft flag if --draft was passed
  6. Add --prerelease flag if --prerelease was passed

Step 3: Set up release-please (if requested)

If the user asks to set up release-please automation:

  1. Create 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"}
          ]
        }
      }
    }
    
  2. Create .release-please-manifest.json with current version:
    {
      ".": "0.0.0"
    }
    
  3. Recommend adding the release-please GitHub Action workflow

Step 4: Report results

Print a summary including:

  • Release version and URL (if created)
  • Release PR status (if release-please)
  • Next steps for the user

Release-Please GitHub Action

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

Agentic Optimizations

ContextCommand
List recent tagsgit tag --sort=-v:refname -l 'v*' -n5
Check release PRsgh pr list --label "autorelease: pending" --json number,title,url
Latest releasegh release view --json tagName,publishedAt,url
Create releasegh release create v1.0.0 --generate-notes
Create draftgh release create v1.0.0 --draft --generate-notes
Create prereleasegh release create v1.0.0-rc.1 --prerelease --generate-notes
List all releasesgh release list --json tagName,isLatest,isDraft,isPrerelease
Commits since taggit log v1.0.0..HEAD --oneline

Quick Reference

FlagDescription
--draftCreate as draft release (not visible publicly)
--prereleaseMark as pre-release version
--generate-notesAuto-generate release notes from commits
--notes-file FILEUse file contents as release notes
--target BRANCHTarget branch for the release tag

Related Skills

  • deploy-handoff - Generate deployment handoff documentation
  • container-development - Container image construction and optimization
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

Sep 24, 2026

分类

未分类

许可证

MIT

源路径

container-plugin/skills/deploy-release

默认分支

main

最新提交

1668324

Tree SHA

b2d4cc3