branch-from-issue
Create a git branch named after a GitHub issue.
- License 许可
- MIT
- 最近更新
- 2026-05-15
- Stars
- ★ 13
- Forks
- 1
01 前言 Front Matter
- name
- branch-from-issue
- title
- branch-from-issue
- arguments
- [ "issue", "prefix" ]
- description
- Create a git branch named after a GitHub issue.
- allowed-tools
- Bash(gh issue view *) Bash(git checkout *) Bash(git branch *)
- argument-hint
- [issue-number] [branch-prefix]
- disable-model-invocation
- true
02 资源文件 8
- 参考文档examples/quickstart.md1.4 KB
- 参考文档examples/repo-workflow.md1.2 KB
- 参考文档examples/research-workflow.md1.4 KB
- 参考文档README.md13.6 KB
- 参考文档references/artifacts.md2.3 KB
- 参考文档references/commands.md2.4 KB
- 参考文档TROUBLESHOOTING.md3.0 KB
- 参考文档validation/smoke-prompts.md2.9 KB
03 SKILL.md 正文
Create branch from GitHub issue
Step 1: Read the issue title
Run:
gh issue view $issue
Extract the issue title from the output. If the issue does not exist or gh is not authenticated, stop and report the error.
Step 2: Slugify the title
Convert the issue title to a branch-safe slug:
- Convert to lowercase
- Replace spaces and punctuation with hyphens
- Remove any characters that are not letters, digits, or hyphens
- Collapse consecutive hyphens into one
- Strip leading and trailing hyphens
- Truncate to 40 characters maximum (truncate at a word boundary if possible)
Examples:
- "Fix login page crash on mobile" →
fix-login-page-crash-on-mobile - "Add support for OAuth 2.0 / PKCE flow" →
add-support-for-oauth-20-pkce-flow - "Update README with installation instructions" →
update-readme-with-installation
Step 3: Determine the branch prefix
If $prefix is not empty, use it as provided.
If $prefix is empty, use feature as the default prefix.
Valid examples: feature, fix, chore, hotfix. Accept any non-empty string the user provides.
Step 4: Create the branch
Construct the full branch name: $prefix/$issue-<slug>
For example, if $prefix is fix, $issue is 142, and the slug is login-page-crash-on-mobile:
fix/142-login-page-crash-on-mobile
Run:
git checkout -b $prefix/$issue-<slug>
If the branch already exists, report the conflict and stop. Do not force-create or checkout the existing branch automatically.
Step 5: Confirm
Report the new branch name and confirm the current branch has switched:
git branch --show-current
Example output:
Created and switched to: fix/142-login-page-crash-on-mobile
04 同仓库更多 Skills
tag-version
Bump the package version and create an annotated git tag. Accepts a semantic version number (1.2.0) or a bump type (patch, minor, major). Does not push — use the publish skill to push. Use as part of a release workflow.
release
Run the complete release workflow: changelog entry, version bump, git tag, and GitHub release. Invokes changelog-entry, tag-version, and publish in sequence. Use when releasing a new version of the project.
publish
Push the current branch and all tags to origin, then create a GitHub release using the latest tag and its CHANGELOG.md entry. Use after tag-version to complete a release.
changelog-entry
Draft the changelog entry for all unreleased commits in Keep a Changelog format. Groups commits into Added, Changed, Fixed, Removed, and Security. Use before releasing a new version or when updating CHANGELOG.md.
auto-format-on-edit
Automatically format code files after every edit using Prettier and ESLint. Active in the background whenever Claude edits a file. Formatting is silent — no prompts, no output unless a formatter fails. Use when you want consistent formatting enforced automatically during a coding session.
code-quality-audit
Run a comprehensive code quality audit covering security, performance, and maintainability. Use for quarterly audits, pre-release reviews, or when onboarding to a large codebase.