Claude-skill-registry commit-assistant
Help create git commits and PRs with properly formatted messages and release notes following CockroachDB conventions. Use when committing changes or creating pull requests.
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/commit-assistant" ~/.claude/skills/majiayu000-claude-skill-registry-commit-assistant && rm -rf "$T"
manifest:
skills/data/commit-assistant/SKILL.mdsource content
Git Commit Assistant
Create general-purpose Commit, PR, and release notes text.
Workflow
- Read any project-specific rules (if provided).
- Collect change context:
,git status -sb
,git diff --stat
.git diff - Determine the primary change type.
- Ask only for missing inputs:
- What changed and why
- Breaking change status
- Release notes need, audience, and category
- Issue/Epic/Tracking reference (if the project uses them)
- Produce Commit/PR/Release notes and validate.
Commit rules
- Format:
type: Subject - Suggested
:typefeatfixdocsstylerefactortestchorerevert - Subject rules (seven rules):
- Separate subject from body with a blank line
- Limit subject line to 50 characters
- Capitalize the subject line
- Do not end the subject line with a period
- Use imperative mood
- Body rules:
- Explain what and why, not how
- Wrap at 72 characters per line (hard max 100)
- Use English, imperative
- Breaking changes:
- Use
ortype!: Subject - Add footer
BREAKING CHANGE: ...
- Use
- Add issue references only if the project uses them (e.g.,
)Refs: #123 - 🔒 Never include secrets or credentials
PR rules
- Title: short imperative phrase, no period
- Description must answer:
- What changed?
- Why?
- Breaking changes?
- Reuse Commit Subject when appropriate
Release notes rules
- Include only user-facing changes
- Use
for internal refactors/tests/infraRelease notes: None - Prefer categories when useful: Added / Changed / Fixed / Breaking / Security / Performance
- Describe what changed, why it matters, and how users notice it
- 🔒 Never include secrets or private data
Output templates
Commit:
<type>: <Subject> <What changed.> <Why it changed.> BREAKING CHANGE: <Impact> # only if needed
PR:
<Title> What changed - ... Why - ... Breaking changes - None | ...
Release notes:
Release notes: None # or Release notes (Added): ... Release notes (Fixed): ... Release notes (Breaking): ...
Validation checklist
- Subject length <= 50, imperative, capitalized, no period
- Blank line between subject and body
- Body lines wrap at 72 (<= 100)
- Body explains what/why only
- No secrets or private data 🔒