Claude-skill-registry gitflow-workflow
Use this skill for GitFlow tasks: starting/finishing features, releases, hotfixes; managing branches; versioning; or general GitFlow operations.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/gitflow-workflow" ~/.claude/skills/majiayu000-claude-skill-registry-gitflow-workflow && rm -rf "$T"
manifest:
skills/data/gitflow-workflow/SKILL.mdsource content
Purpose
All detailed command manuals live under
./references/ and should be consulted when you need exact flags/options.
Required invariants (used by the 6 instruction-type skills)
Preflight
Before any start/finish operation:
- Confirm working tree is clean (use
to verify).git status - Identify current branch and verify the branch type matches the operation (
,feature/*
,hotfix/*
).release/* - Determine the active workflow preset (Classic GitFlow vs GitHub Flow vs GitLab Flow) to identify correct base/target branches.
Branch naming
- Use kebab-case and a strict prefix:
(e.g.<type>/<kebab-case>
).feature/user-authentication
Finish behavior
- Prefer non-fast-forward merges when finishing (e.g.
) to preserve a visible integration history, unless the repo workflow config says otherwise.--no-ff - Run tests if available before finishing; fix failures before merging.
- After finishing hotfix/release, ensure the integration branch receives the changes (often merging back into
).develop - Delete topic branches locally and remotely after finishing when policy allows.
Changelog generation
When updating CHANGELOG.md during
finish-release or finish-hotfix operations, follow these principles:
Core principle: Include all commits that represent user-facing changes since the previous version tag. Exclude internal-only changes (build, CI, tooling) and administrative commits (merges, releases).
Note: The
finish-feature operation updates the [Unreleased] section without filtering, as features are already user-facing by nature.
Commit collection process for releases and hotfixes:
- Identify the previous version tag (e.g.,
)v1.5.0 - Collect commits:
git log --oneline <previous-tag>..HEAD - Filter commits using conventional commit format, applying the user-facing principle:
- Include: Commits that affect end users, API consumers, or documented behavior (e.g.,
,feat
,fix
,refactor
,docs
,perf
,deprecate
,remove
)security - Exclude: Internal tooling (
,chore
,build
), test-only changes (ci
), merge commits, release commitstest
- Include: Commits that affect end users, API consumers, or documented behavior (e.g.,
- Map commit types to appropriate Keep a Changelog sections (
,Added
,Changed
,Deprecated
,Removed
,Fixed
)Security - Format entries using present/imperative tense and user-facing language
- Merge repetitive items and include sufficient context to understand impact
See
${CLAUDE_PLUGIN_ROOT}/examples/changelog.md for the standard format.
Minimal templates (what the 6 skills assume)
The operation-specific templates have been moved into the corresponding
start-* / finish-* skills to keep those tasks self-contained.
Reference index
./references/context-gathering.md./references/naming-rules.md./references/workflow-presets.md./references/versioning-and-tags.md./references/commands-core.md./references/commands-topic.md