Release deploy
Release and deploy via GitHub tags and GitHub Actions (not every commit). Creates production releases from main and beta releases from staging using the GitHub CLI. Use when the user asks to release, ship, deploy, cut a version, tag a release, publish beta/production, create a GitHub Release, or bump a semver tag. On first use in a project, run the setup interview and write a project-specific config under projects/.From its SKILL.md
npx -y skills add balacodeio/balakit --skill release-deployAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.6 KB, 855 tokens by cl100k_base, as published. Nobody here has run it
Release & Deploy (GitHub Tags)
Leading words: commits ≠ deploys; branch → channel; tag triggers ship; changelog is truth; interview once; never guess channel.
Core model
- Commits ≠ deploys. Only a git tag + GitHub Release triggers deployment (via GitHub Actions or project-specific release jobs).
- Branch → channel
main→ production releasestaging→ beta release
- Tags
- Production:
vMAJOR.MINOR.PATCH(e.g.v1.4.0) - Beta:
vMAJOR.MINOR.PATCH-beta.N(e.g.v1.4.0-beta.1)
- Production:
- Release notes come from the project's maintained
CHANGELOG.md(do not invent a changelog). See references/versioning.md.
Before every release
- Load project config
- Look for
projects/<repo-slug>.mdnext to thisSKILL.md(slug = GitHubowner/repowith/→-, e.g.acme-web-app). - If missing → run the first-time interview in references/interview.md, write the file from references/project.template.md, then continue.
- Look for
- Confirm channel with the user: beta (
staging) or production (main). Never guess. - Verify git state (PowerShell-safe; run as separate commands):
- Correct branch checked out (
stagingormain) - Working tree clean (or user explicitly accepts dirty)
- Branch is up to date with its remote
- HEAD is the commit they intend to ship
- Correct branch checked out (
- Determine next version from existing tags + user intent. Follow references/versioning.md.
- Extract notes from
CHANGELOG.mdfor that version (or[Unreleased]if they are cutting that section into a version). If changelog is missing/ambiguous → stop and ask.
Release workflow
Follow references/gh-release.md. Summary:
- Ensure on the correct branch at the intended commit.
- Create annotated tag locally (optional if
gh release createwill create it). gh release createwith tag, title, notes from changelog, and--targetset to the branch (or SHA).- Watch the project's release/deploy workflow (from project config) until green or report failure.
- Summarize: tag, release URL, channel, deploy target/URL from project config.
Hard rules
- Never tag production from
staging, or beta frommain, unless the project config explicitly documents a different branch map and the user confirms. - Never force-push tags or delete remote tags without explicit user request.
- Never skip the interview on a first release in a repo.
- Never fabricate changelog entries; only use
CHANGELOG.md(or ask the user to update it first). - Prefer
ghover raw API calls. Prefer project config over inventing deploy steps.
Platform-specific behavior
After the interview, project config names the stack. Read the matching reference only when needed:
- Cloudflare Workers/Pages → references/platforms/cloudflare.md
- Desktop apps (installers, auto-update, signed builds) → references/platforms/desktop.md
- Generic / other → rely on
projects/<slug>.mdworkflow names and URLs
Additional resources
- references/interview.md — first-time setup questions
- references/project.template.md — config file shape
- references/versioning.md — semver + changelog rules
- references/gh-release.md — GitHub CLI commands
What ships with it: 8 files
16.4 KB alongside SKILL.md
projects/
- balacodeio-balakit.md2.0 KB
- README.md439 B
references/
- gh-release.md2.5 KB
- interview.md3.2 KB
- platforms/cloudflare.md1.5 KB
- platforms/desktop.md2.1 KB
- project.template.md2.1 KB
- versioning.md2.6 KB