From rune
Generates semantic git commits, PR descriptions, branch names, and changelogs using git state analysis and conventions. Manual triggers: /rune git commit, pr, branch, changelog, release.
How this skill is triggered — by the user, by Claude, or both
Slash command
/rune:gitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Specialized git operations utility. Handles semantic commits, PR descriptions, branch naming, and changelog generation with consistent conventions. Replaces scattered git logic across cook Phase 7 and other skills with a single, convention-aware utility.
Specialized git operations utility. Handles semantic commits, PR descriptions, branch naming, and changelog generation with consistent conventions. Replaces scattered git logic across cook Phase 7 and other skills with a single, convention-aware utility.
cook Phase 7 for commit creationscaffold Phase 8 for initial committeam for parallel branch/PR managementdocs for changelog generationlaunch for release tagging/rune git commit — manual semantic commit/rune git pr — manual PR generation/rune git branch <description> — generate branch name/rune git changelog — generate changelog from commits/rune git release <version> — create tagged release with changelogNone — pure L3 utility. Reads git state, produces git commands/output.
cook (L1): Phase 7 — create semantic commit after implementationscaffold (L1): Phase 8 — initial commit with generated projectteam (L1): parallel PR management across workstreamslaunch (L1): release tagging and changelogdocs (L2): changelog generation sub-workflow/rune git direct invocationAnalyze staged changes and produce a semantic commit.
Analyze full branch diff against base and produce a pull request.
Generate a branch name from a task description.
Generate changelog entries from commit history.
Read git diff --staged and git status. Classify the change:
| Type | Signal | Prefix |
|---|---|---|
| New feature | New files, new exports, new routes | feat |
| Bug fix | Changed logic in existing code, test fix | fix |
| Refactor | Structural change, no behavior change | refactor |
| Test | Only test files changed | test |
| Documentation | Only .md, comments, JSDoc changed | docs |
| Build/CI | Config files, CI pipelines, Dockerfile | chore |
| Performance | Optimization, caching, query improvement | perf |
Extract scope from file paths:
src/auth/* → scope: authsrc/components/Button.tsx → scope: uiapi/routes/users.ts → scope: apiconfigFormat: <type>(<scope>): <description>
Rules:
! suffix and BREAKING CHANGE: footerfeat(auth): add JWT refresh token rotation
- Add refresh token endpoint with sliding window expiry
- Store token family for reuse detection
- Add middleware to validate refresh tokens
BREAKING CHANGE: /api/auth/refresh now requires refresh_token in body instead of cookie
Run git commit with the generated message. If pre-commit hooks fail → report the failure, do not --no-verify.
Read ALL commits on the current branch vs base branch using git log <base>..HEAD and git diff <base>...HEAD.
Do NOT just look at the latest commit — PRs include ALL branch commits.
## Summary
<1-3 bullet points covering ALL changes, not just the last commit>
## Changes
- [grouped by feature/area]
## Test Plan
- [ ] [specific test scenarios]
## Breaking Changes
- [if any — list explicitly]
Title: < 70 characters, descriptive of the full change set.
Run gh pr create with generated title and body. If no remote branch → push with -u first.
Extract key intent from task description:
feat/short-kebab-descriptionfix/issue-number-or-descriptionrefactor/module-namechore/descriptionRules:
fix/123-login-crashRun git checkout -b <branch-name> from current branch.
Read commits since last tag (git log $(git describe --tags --abbrev=0)..HEAD) or since specified reference.
Group commits by conventional commit type. Format as Keep a Changelog:
## [Unreleased]
### Added
- New feature description (#PR)
### Fixed
- Bug fix description (#PR)
### Changed
- Change description (#PR)
### Removed
- Removed feature (#PR)
Link to PRs/issues when references found in commit messages.
Create a version tag with release artifacts.
Triggers:
/rune git release <version> — create release for specified versionlaunch (L1) during release pipelinedeploy (L2) after successful production deployParse version string. Must follow semver (major.minor.patch):
Check git tag -l to ensure version doesn't already exist.
package.json, pyproject.toml, Cargo.toml, or equivalentgit add <version-files>
git commit -m "chore: bump version to v<version>"
git tag -a v<version> -m "Release v<version>"
git push origin master --tags
gh release create v<version> --title "v<version>" --notes "<release-notes>"
If deploy reports customer email list available (via rune-pay /admin/emails), flag for notification.
<type>(<scope>): <description>
[optional body — bullet summary if > 5 files changed]
[BREAKING CHANGE: description — if breaking change detected]
Title: <type>: <short description> (< 70 chars)
## Summary
- [bullet points covering ALL branch changes]
## Changes
- [grouped by feature/area]
## Test Plan
- [ ] [specific test scenarios]
## Breaking Changes
- [if any]
<type>/<short-kebab-description>
Examples: feat/jwt-refresh, fix/123-login-crash, refactor/auth-module
## [Unreleased]
### Added
- Feature description (#PR)
### Fixed
- Bug fix description (#PR)
### Changed
- Change description (#PR)
## Release: v<version>
- **Tag**: v<version>
- **Commits**: [count] since last release
- **Changelog**: [path to CHANGELOG.md]
- **GitHub Release**: [URL]
- **Artifacts**: version bump, changelog, tag, release
--no-verify — if hooks fail, report and fix| Failure Mode | Severity | Mitigation |
|---|---|---|
| Commit message doesn't match actual changes | HIGH | Step 1 reads full diff, not just file names |
| PR description covers only last commit | HIGH | Step 1 reads ALL commits on branch |
| Missing breaking change detection | HIGH | Check: removed exports, changed function signatures, schema changes |
| Branch name too long or has special characters | LOW | Max 50 chars, kebab-case only |
| Force push without user consent | CRITICAL | Constraint 5: never force push unless explicitly requested |
| Ignoring project's existing conventions | MEDIUM | Check recent git log --oneline -10 for existing style |
gh pr create~500-2000 tokens input, ~200-800 tokens output. Haiku — git operations are mechanical and convention-based, no deep reasoning needed.
npx claudepluginhub rune-kit/rune --plugin @rune/chrome-extAutomates git workflows with skills for status checks, conventional commits via commit-craft, branch cleanup, changelog generation; guides branch naming and commit best practices.
Guides Git operations with Conventional Commits, PR formats, workflows including local CI and squash merges. Use for commits, branches, pull requests, and merge conflicts.
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.