Creates dedicated release branches to trigger CI workflows.
Install
mkdir -p .claude/skills/release-branch && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4050" && unzip -o skill.zip -d .claude/skills/release-branch && rm skill.zipInstalls to .claude/skills/release-branch
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create a release branch for SkiaSharp. Use when user says "release X", "start release X", "create release branch for X", "I want to release", or "release now". This is the FIRST step of releasing - creates branch and pushes to trigger CI. Can auto-detect next preview version from main branch.Key capabilities
- →Create release branches for SkiaSharp
- →Auto-detect next preview version
- →Update version labels in configuration files
- →Create matching branches in mono/skia
- →Bump integration branches for maintenance lines
How it works
The skill automates the creation of release branches from integration branches, updates versioning metadata, and ensures the Skia submodule is preserved via a counterpart branch.
Inputs & outputs
When to use release-branch
- →Creating a new release branch
- →Starting the CI pipeline for a release
- →Branching the main repository for deployment
About this skill
Release Branch
Use the Release - Prepare GitHub workflow for normal releases. In chat,
dispatch it on main with push=false first, inspect the read-only plan, and
obtain confirmation before dispatching the same inputs with push=true:
gh workflow run release-prepare.yml --repo mono/SkiaSharp --ref main \
-f base=main -f release=4.153.0-preview.1 -f push=false
# After reviewing the plan and receiving confirmation:
gh workflow run release-prepare.yml --repo mono/SkiaSharp --ref main \
-f base=main -f release=4.153.0-preview.1 -f push=true
Replace the example base and identity with the requested values. Locate and
inspect each dispatched run; never infer success from a successful dispatch.
Verify both release branches exist at the planned commits before proceeding.
The branch push starts the internal skiasharp-package and skiasharp-tests
chain. Package publication is a separate, explicitly requested
release-publish action; Prepare must not queue it.
The Prepare workflow accepts:
base: a SkiaSharp branch or commit SHA;release:X.Y.Z[-preview.N|-rc.N|-stable], or the corresponding four-part hotfix formX.Y.Z.F[-preview.N|-rc.N|-stable].
Local fallback
Use the local script only when the workflow is unavailable or the user explicitly requests local execution. It does not replace workflow verification:
# Read-only
./scripts/infra/publishing/prepare-release.ps1 -Base main -Release 4.153.0-preview.1 -Mode DryRun
# Create and validate local branches and commits
./scripts/infra/publishing/prepare-release.ps1 -Base main -Release 4.153.0-preview.1 -Mode Apply
# Create locally, push mono/skia then mono/SkiaSharp, and create a stable bump PR
./scripts/infra/publishing/prepare-release.ps1 -Base main -Release 4.153.0-preview.1 -Mode Push
Before -Mode Push, show the resolved base SHA and every planned ref to the user and
obtain confirmation. Never force-update a release branch. Existing matching
state is reused; conflicting state blocks the run.
Stable input deliberately uses the explicit -stable sentinel to prevent an
accidental stable cut, but creates the bare release/X.Y.Z branch. A three-part
stable release also prepares the next SkiaSharp patch and HarfBuzzSharp
revision on bump-version-X.Y.Z. Its PR targets a manually created
release/X.Y.x servicing line when one exists, otherwise main; release
preparation never creates the .x line.
When not to use it
- →When committing directly to main or protected branches
- →When a stable release branch already exists for the version
Prerequisites
Limitations
- →Cannot perform major milestone updates
- →Requires manual confirmation before pushing
How it compares
It enforces a strict, multi-step release pipeline that prevents direct commits to protected branches and ensures auditability of the Skia source.
Compared to similar skills
release-branch side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| release-branch (this skill) | 1 | 3mo | Review | Advanced |
| github-release-management | 4 | 7mo | Review | Advanced |
| agent-release-swarm | 1 | 7mo | Review | Advanced |
| magerun-release | 1 | 7mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by mono
View all by mono →You might also like
github-release-management
ruvnet
Comprehensive GitHub release orchestration with AI swarm coordination for automated versioning, testing, deployment, and rollback management
agent-release-swarm
ruvnet
Agent skill for release-swarm - invoke with $agent-release-swarm
magerun-release
netz98
Technical release process for n98-magerun2
release
ziggy42
Use this skill when the user wants to cut a new release.
release-minor
knuckleswtf
Automates the process of tagging a new minor release for Scribe by analyzing commit messages, updating the changelog, and creating a GitHub release.
windsurf-cicd-github-actions
jeremylongshore
Generate and maintain GitHub Actions with Cascade assistance. Activate when users mention "github actions", "ci/cd pipeline", "workflow automation", "continuous integration", or "deployment pipeline". Handles CI/CD configuration with AI assistance. Use when working with windsurf cicd github actions functionality. Trigger with phrases like "windsurf cicd github actions", "windsurf actions", "windsurf".