
Git Flow Branch Creator
Let the agent read git status/diff and create the correct nvie Git Flow branch name, then check it out for you.
Overview
Git Flow Branch Creator is an agent skill for the Build phase that analyzes git status and diff, then creates and checks out an appropriate nvie Git Flow branch with a semantic name.
Install
npx skills add https://github.com/github/awesome-copilot --skill git-flow-branch-creatorWhat is this skill?
- 7-step workflow: git status → diff (staged or unstaged) → analysis → branch type → semantic name → create and checkout →
- Git Flow Branch Analysis Framework for feature, release, and hotfix-style work
- Infers branch type from the nature of local changes, not from manual typing
- Branches from develop for features per nvie Git Flow conventions
- One-shot prompt: run the skill and Copilot handles analysis and checkout
- 7-step workflow from git status through branch checkout
- Git Flow Branch Analysis Framework with defined branch types
Adoption & trust: 9k installs on skills.sh; 34.6k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have staged or unstaged changes but are not sure which Git Flow branch type and name match what you actually changed.
Who is it for?
Indie teams already using develop/main Git Flow who want the agent to infer feature vs other branch types from real diffs.
Skip if: Trunk-based workflows, GitHub Flow-only repos, or changes that should go straight to main without a develop branch.
When should I use this skill?
You have local git changes and want an appropriate Git Flow branch created and checked out without manually choosing the type and name.
What do I get? / Deliverables
You land on a correctly typed, semantically named Git Flow branch with a short analysis summary and suggested next steps for commits and PRs.
- New Git Flow branch created and checked out
- Summary of change analysis and recommended next steps
Recommended Skills
Journey fit
Branch creation happens when you are actively changing the product codebase during Build, right before commits and PRs—not during idea research or post-launch growth. Git Flow is a repo integration ritual tied to how changes enter your delivery pipeline, alongside other dev workflow hooks.
How it compares
Opinionated Git Flow branch bootstrap from local diff—not a generic git branch rename or release tagging tool.
Common Questions / FAQ
Who is git-flow-branch-creator for?
Solo builders and small teams on nvie Git Flow who create many feature branches from develop and want consistent naming without manual analysis.
When should I use git-flow-branch-creator?
At the start of a Build task, immediately after you have meaningful local changes and before your first commit on a new line of work.
Is git-flow-branch-creator safe to install?
The skill instructs git read and branch checkout operations—review the Security Audits panel on this page and ensure agent shell access matches your repo policy.
SKILL.md
READMESKILL.md - Git Flow Branch Creator
### Instructions ```xml <instructions> <title>Git Flow Branch Creator</title> <description>This prompt analyzes your current git changes using git status and git diff (or git diff --cached), then intelligently determines the appropriate branch type according to the Git Flow branching model and creates a semantic branch name.</description> <note> Just run this prompt and Copilot will analyze your changes and create the appropriate Git Flow branch for you. </note> </instructions> ``` ### Workflow **Follow these steps:** 1. Run `git status` to review the current repository state and changed files. 2. Run `git diff` (for unstaged changes) or `git diff --cached` (for staged changes) to analyze the nature of changes. 3. Analyze the changes using the Git Flow Branch Analysis Framework below. 4. Determine the appropriate branch type based on the analysis. 5. Generate a semantic branch name following Git Flow conventions. 6. Create the branch and switch to it automatically. 7. Provide a summary of the analysis and next steps. ### Git Flow Branch Analysis Framework ```xml <analysis-framework> <branch-types> <feature> <purpose>New features, enhancements, non-critical improvements</purpose> <branch-from>develop</branch-from> <merge-to>develop</merge-to> <naming>feature/descriptive-name or feature/ticket-number-description</naming> <indicators> <indicator>New functionality being added</indicator> <indicator>UI/UX improvements</indicator> <indicator>New API endpoints or methods</indicator> <indicator>Database schema additions (non-breaking)</indicator> <indicator>New configuration options</indicator> <indicator>Performance improvements (non-critical)</indicator> </indicators> </feature> <release> <purpose>Release preparation, version bumps, final testing</purpose> <branch-from>develop</branch-from> <merge-to>develop AND master</merge-to> <naming>release-X.Y.Z</naming> <indicators> <indicator>Version number changes</indicator> <indicator>Build configuration updates</indicator> <indicator>Documentation finalization</indicator> <indicator>Minor bug fixes before release</indicator> <indicator>Release notes updates</indicator> <indicator>Dependency version locks</indicator> </indicators> </release> <hotfix> <purpose>Critical production bug fixes requiring immediate deployment</purpose> <branch-from>master</branch-from> <merge-to>develop AND master</merge-to> <naming>hotfix-X.Y.Z or hotfix/critical-issue-description</naming> <indicators> <indicator>Security vulnerability fixes</indicator> <indicator>Critical production bugs</indicator> <indicator>Data corruption fixes</indicator> <indicator>Service outage resolution</indicator> <indicator>Emergency configuration changes</indicator> </indicators> </hotfix> </branch-types> </analysis-framework> ``` ### Branch Naming Conventions ```xml <naming-conventions> <feature-branches> <format>feature/[ticket-number-]descriptive-name</format> <examples> <example>feature/user-authentication</example> <example>feature/PROJ-123-shopping-cart</example> <example>feature/api-rate-limiting</example> <example>feature/dashboard-redesign</example> </examples> </feature-branches> <release-branches> <format>release-X.Y.Z</format> <examples> <example>release-1.2.0</example> <example>release-2.1.0</example> <example>release-1.0.0</example> </examples> </release-branches> <hotfix-branches> <format>hotfix-X.Y.Z OR hotfix/critical-description</format> <examples> <example>hotfix-1.2.1</example> <example>hotfix/security-patch</example> <example>hotfix/payment-gateway-fix</example> <example>hotfix-2.1.1</example> </examples> </h