CO

Ensures git commits and pull requests adhere to CockroachDB formatting standards.

Install

mkdir -p .claude/skills/commit-helper && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/4419" && unzip -o skill.zip -d .claude/skills/commit-helper && rm skill.zip

Installs to .claude/skills/commit-helper

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Help create git commits and PRs with properly formatted messages and release notes following CockroachDB conventions. Use when committing changes or creating pull requests.
172 chars✓ has a “when” trigger
Beginner

Key capabilities

  • Analyze staged git changes
  • Format commit messages to conventions
  • Generate release notes
  • Link commits to issues and epics

How it works

It guides the user through a structured workflow to analyze changes and generate commit messages that adhere to specific project conventions.

Inputs & outputs

You give it
Staged git changes and issue references
You get back
Formatted commit message and release note

When to use commit-helper

  • Formatting commit messages
  • Writing PR release notes
  • Linking commits to issues

About this skill

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:

  • Internal refactors, testing, infrastructure work
  • Code that's too immature for docs (private preview features)
  • Internal settings beginning with crdb_internal.
  • Functionality not accessible to external users

Valid Categories:

  • backward-incompatible change - Breaking changes to stable interfaces
  • enterprise change - Features requiring enterprise license
  • ops change - Commands/endpoints for operators (logging, metrics, CLI flags)
  • cli change - Commands for developers/contributors (SQL shells, debug tools)
  • sql change - SQL statements, functions, system catalogs
  • ui change - DB Console changes
  • security update - Security feature changes
  • performance improvement - Performance enhancements
  • cluster virtualization - Multi-tenancy infrastructure
  • bug fix - Problem fixes
  • general change - Changes that don't fit elsewhere
  • build change - Source build requirements

Release Note Best Practices

Description guidelines:

  • Default to more information rather than less
  • Explain what changed, how it changed, and why it's relevant
  • Use past tense ("Added", "Fixed") or present tense ("CockroachDB now supports")
  • For bug fixes: describe cause, symptoms, and affected versions
  • Note if change is part of broader roadmap feature

Examples:

Good bug fix:

Release note (bug fix): Fixed a bug introduced in v19.2.3 that
caused duplicate rows in CREATE TABLE ... AS results when multiple
nodes attempt to populate the results.

Good feature:

Release note (enterprise change): Shortened the default interval
for the kv.closed_timestamp.target_duration cluster setting from
30s to 3s. This allows follower reads at 4.8 seconds in the past,
a much shorter window than the previous 48 seconds.

Issue References

  • Resolves: #123 - Auto-closes issue on PR merge
  • See also: #456, #789 - Cross-references issues
  • Epic: CRDB-357 - Links to epic

How to Avoid Common Pitfalls

  • Always include a release note annotation (even "Release note: None")
  • Use only valid category names from the list above
  • Keep release notes focused on user-facing information
  • Write specific descriptions that explain the impact to users
  • Use backward-incompatible change category for any breaking changes
  • End subject lines without punctuation
  • Explain the "why" behind changes, not just the "what"

Pull Request Guidelines

  • Create PRs from your personal fork, not directly on cockroachdb/cockroach
  • Single-commit PRs: PR title should match commit title, PR body should match commit body
  • Multi-commit PRs: The body should summarize the end goal that the set of commits achieves and give the reader the context necessary to review the PR commit by commit (for example, the first commits might get refactors out of the way so that the last commit can hook everything up). When there isn't an overarching connection between the commits (maybe the PR groups a few mechanical changes that are not related) it is fine to say that the individual commits speak for themselves.

When not to use it

  • When committing internal refactors without user impact
  • When code is too immature for documentation

Limitations

  • Requires adherence to valid category names
  • Must include release note annotation

How it compares

It enforces project-specific release note categories and formatting rules rather than allowing free-form commit messages.

Compared to similar skills

commit-helper side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
commit-helper (this skill)15moNo flagsBeginner
commit-message06moReviewBeginner
codex-cli-bridge99moReviewIntermediate
korean-skill-creator88moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

commit-message

LittleBreak

Generates clear commit messages from git diffs. Use when writing commit messages, reviewing staged changes, or when the user asks to create a commit.

00

codex-cli-bridge

alirezarezvani

Bridge between Claude Code and OpenAI Codex CLI - generates AGENTS.md from CLAUDE.md, provides Codex CLI execution helpers, and enables seamless interoperability between both tools

9180

korean-skill-creator

clwmfksek

한글 기반 클로드 스킬 자동 생성 도구. 사용자가 "클로드 스킬을 만들어줘" 또는 "[요구사항] 스킬 만들어줘"라고 요청할 때 사용. Progressive disclosure 원칙을 따르는 한글 문서 구조(SKILL.md + references/)를 자동으로 생성하고, 실전 예시를 포함한 일관성 있는 스킬 템플릿을 제공.

8132

skill-forge

WilliamSaysX

Automated skill creation workshop with intelligent source detection, smart path management, and end-to-end workflow automation. This skill should be used when users want to create a new skill or convert external resources (GitHub repositories, online documentation, or local directories) into a skill. Automatically fetches, organizes, and packages skills with proactive cleanup management.

11115

svelte-expert

Raudbjorn

Expert Svelte/SvelteKit development assistant for building components, utilities, and applications. Use when creating Svelte components, SvelteKit applications, implementing reactive patterns, handling state management, working with stores, transitions, animations, or any Svelte/SvelteKit development task. Includes comprehensive documentation access, code validation with svelte-autofixer, and playground link generation.

11107

run-nx-generator

nrwl

Run Nx generators with prioritization for workspace-plugin generators. Use this when generating code, scaffolding new features, or automating repetitive tasks in the monorepo.

571

Search skills

Search the agent skills registry