gitflow

Automates gitflow release branches, version tagging, and pushes to origin.

Updated Jan 28, 2026
One-click install
npx skills add https://github.com/alkampfergit/cisharpai --skill gitflow-alkampfergit
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: gitflow
Source: https://github.com/alkampfergit/cisharpai/tree/main/.claude/skills/gitflow
Command: npx skills add https://github.com/alkampfergit/cisharpai --skill gitflow-alkampfergit

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Cutting a release by hand involves resolving the current version from tags, computing the next semantic version, running git flow release start/finish, and pushing master, develop, and the tag — a multi-step process where mistakes leave the repository in a broken state. This Skill drives that entire flow end-to-end with strict preconditions and clear abort behavior. ## Core Features & Use Cases - Automated version resolution: Reads the latest tag on master, strips legacy v prefixes, and computes the next version with major, minor, or patch bumps (minor by default). - Full gitflow release lifecycle: Runs git flow release start and finish with non-interactive flags, then pushes master, develop, and the new tag as three separate pushes for clear failure attribution. - Hard precondition checks: Aborts on dirty working trees, missing git-flow AVH, non-fast-forward branches, existing release branches, or duplicate tags, and reports exact command output. - Use Case: A maintainer says "release 1.4.0" — the Skill verifies the repo state, creates release/1.4.0, finishes it with an annotated tag, pushes all refs, and prints a compact summary of the before/after SHAs. ## Quick Start Ask the assistant to cut a new release, for example by saying "cut a release with a patch bump" or "release version 2.0.0".

Frequently Asked Questions about gitflow

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I cut a gitflow release from the command line?▼

Run git flow release start X.Y.Z from develop, then git flow release finish -m "message" X.Y.Z to merge into master, tag, and merge back into develop. This Skill automates that sequence plus version resolution and pushing master, develop, and the tag to origin.

How is the next release version computed from git tags?▼

The latest tag merged into master is found with git tag --list --merged master sorted by version. The Skill strips any leading v, parses X.Y.Z, and bumps the minor digit by default, or major or patch when specified.

Does this Skill create a GitHub Release or release notes?▼

No. It stops at pushing the git tag and does not create GitHub Releases, write release notes, or upload assets. If a GitHub Release is wanted, it must be requested explicitly and done separately with gh release create.

Why does the release abort before starting?▼

The Skill enforces hard preconditions: git-flow AVH must be installed, the working tree must be clean, master and develop must fast-forward from origin, git flow must be initialized, and no existing release branch may exist. Any failure stops the flow with the exact command output.

What happens if a git push is rejected during a release?▼

The Skill stops immediately and reports the exact stderr without retrying, rewriting, or deleting the local tag. Force-pushing is never performed; the caller resolves the conflict manually.

Can I run the release locally without pushing?▼

Yes. Pass push=false to complete the gitflow finish locally so you can inspect the merges and tag before pushing master, develop, and the tag yourself.