Skip to content
Agentmart
Submit a tool

git-branch

Git branch naming guidelines, including the label to branch-type table.

Skill by jmfontaine

IndexedApache-2.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/jmfontaine-git-branch

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Git branch naming guidelines, including the label to branch-type table. Use when creating or checking out new branches, including branches for stacked pull requests, and when the user asks to rename a branch.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/git-branch

Tools it pre-approves 4

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash(git
  • branch:*)
  • checkout:*)
  • switch:*)

What's inside

Skill name
git-branch
Description
Git branch naming guidelines, including the label to branch-type table. Use when creating or checking out new branches, including branches for stacked pull requests, and when the user asks to rename a branch.
License
Apache-2.0
Allowed tools
Bash(git, branch:*), Bash(git, checkout:*), Bash(git, switch:*)
Instructions
72 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves some shell commands

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Git Branch Naming Guidelines

## Naming Style

Use one convention in every repository, whatever its existing branches look like,
unless the repository's agent instruction files set another (see
[Existing Branches and Instructions](#existing-branches-and-instructions)):

- `<type>/issue-<N>-<slug>` for work on an issue (e.g., `feat/issue-123-add-login-page`)
- `<type>/<slug>` for anything else (e.g., `ci/pin-python-patch`)

`<type>` is the [Conventional Commits](https://www.conventionalcommits.org/) type the
change would carry (`feat:`, `fix:`, `docs:`, …), whether or not the repository's commit
messages use that format, plus two branch-only types, `hotfix/` and `release/`:

- `feat/`: New features (e.g., `feat/issue-123-add-login-page`)
- `fix/`: Bug fixes (e.g., `fix/issue-64-timestamp-fields`)
- `docs/`, `test/`, `refactor/`, `perf/`, `build/`, `ci/`, `chore/`: Changes of that
  type (e.g., `docs/issue-67-readme-concurrency`, `chore/update-dependencies`)
- `hotfix/`: Fixes shipped outside the normal release flow, such as a patch cut from a
  release tag (e.g., `hotfix/security-patch`); ordinary bug fixes use `fix/`
- `release/`: Release preparation, such as a version bump (e.g., `release/v1.2.0`)

`<slug>` is a few lowercase words from the issue title, or from the change's one-line
summary when there is no issue, joined by hyphens.

## Stacked Layers

Each layer of a stack is its own branch, named with the same convention:

- **Layers for different issues** each carry their own issue: `fix/issue-12-…` below
  `feat/issue-14-…`.
- **One issue split into several layers:** every layer carries that issue's number, its
  slug names the layer's part, and its type is that layer's own change type, e.g.,
  `refactor/issue-42-extract-parser` below `feat/issue-42-parse-lists`. The pull request
  of a lower layer refers to the issue; the layer that completes it closes it (the
  `github-workflow` skill, if installed, has the details).

## Label Table

An issue's change-type label sets the branch type. The same type starts the pull
request title (`<type>: <description>`).

| Change-type label | Branch type |
| ----------------- | ----------- |
| `bug`             | `fix`       |
| `build`           | `build`     |
| `chore`           | `chore`     |
| `ci`              | `ci`        |
| `documentation`   | `docs`      |
| `enhancement`     | `feat`      |
| `perf`            | `perf`      |
| `refactor`        | `refactor`  |
| `test`            | `test`      |

When the issue has no change-type label, or there is no issue, derive the type from the
change. When the pull request title disagrees with the label, the title wins: it states
what the change actually is, and the branch is deleted after the merge.

Other skills point here for this table. `hotfix/` and `release/` have no label.

## Existing Branches and Instructions

A repository's agent instruction files (AGENTS.md, CLAUDE.md) override this
convention: when they set another naming scheme, follow it. Existing branches do not:
when they follow another scheme that no instruction file sets, name new branches with
this convention anyway. Do not rename existing branches on your own; rename one only
when the user asks, and use the scheme that applies for the new name.

## Additional Rules

- Dots allowed only for version numbers in `release/` branches
- Do NOT use `git -C <path>` when the current directory is already the repository root

From jmfontaine/agent-skills, Apache-2.0.

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 18, 2026 (11 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from jmfontaine

Cite this page

git-branch skill. Agent Mart. https://agentmart.dev/skills/jmfontaine-git-branch (last updated 2026-10-24)