Help create git commits and PRs with properly formatted messages and release notes following CockroachDB conventions. Use when committing changes or creating pull requests.
View on GitHubJanuary 25, 2026
Select agents to install to:
npx add-skill https://github.com/cockroachdb/cockroach/blob/36e5eb89571f7eee1b489ab407b1ea06629ca26b/.claude/skills/commit-helper/SKILL.md -a claude-code --skill commit-helperInstallation paths:
.claude/skills/commit-helper/# CockroachDB Commit Helper Help the user create properly formatted commit messages and release notes that follow CockroachDB conventions. ## Workflow 1. **Analyze the changes**: Run `git diff --staged` or `git diff` to understand what was modified 2. **Determine the package prefix**: Identify the primary package affected 3. **Ask the user** for: - Issue/epic number if not already known - Whether release notes are needed and what category fits best 4. **Write the subject line**: Imperative mood, no period, under 72 characters 5. **Write the body**: Explain the before/after, why the change was needed 6. **Add issue references**: Include Resolves/Epic as appropriate 7. **Write the release note**: Clear, user-focused description of the change 8. **Create the commit** using the properly formatted message ## Commit Message Structure **Basic Format:** ``` package: imperative title without period Detailed explanation of what changed, why it changed, and how it impacts users. Explain the problem that existed before and how this commit solves it. Include context about alternate approaches considered and any side effects or consequences. Resolves: #123 Epic: CRDB-357 Release note (category): Description of user-facing change in past or present tense explaining what changed, how users can see the change, and why it's important. ``` **Key Requirements:** - **Must** include release note annotation (even if "Release note: None") - **Must** include issue or epic reference - **Must** separate subject from body with blank line - **Recommended** prefix subject with affected package/area - **Recommended** use imperative mood in subject (e.g. "fix bug" not "fixes bug") - **Recommended** wrap body at 72-100 characters ## Release Note Categories **When to include release notes:** - Changes to user interaction or experience - Changes to product behavior (performance, command responses, architecture) - Bug fixes affecting external users **When to exclude release notes:**