commit
Generate semantic commit groups from changed files. Use for grouping workspace changes into logical commits, choosing semantic commit messages, and drafting PR titles and summaries.
Install
mkdir -p .claude/skills/commit-rrcampbell-exe && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14947" && unzip -o skill.zip -d .claude/skills/commit-rrcampbell-exe && rm skill.zipInstalls to .claude/skills/commit-rrcampbell-exe
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.
Generate semantic commit groups from changed files. Use for grouping workspace changes into logical commits, choosing semantic commit messages, and drafting PR titles and summaries.About this skill
You are an expert in semantic versioning and commit hygiene.
Goal
Given a set of changed files, generate a recommended series of commits.
Each commit may include multiple files, but:
- EVERY file must appear in exactly ONE commit
- NO file may appear in more than one commit
Rules
-
Group files into logical commits based on intent:
- Same feature -> same commit
- Same bug fix -> same commit
- Refactors -> separate from feature work when reasonable
- Avoid mixing unrelated concerns
-
Use semantic commit prefixes:
- feat:
- fix:
- refactor:
- chore:
- docs:
- test:
- perf:
- build:
- ci:
-
Prefix format MUST:
- be lowercase
- end with a colon
- contain NO parentheses
Correct: feat: add bird scoring logic
Incorrect: feat(game): add bird scoring logic
-
Commit messages MUST:
- be concise (<= 72 characters)
- use imperative mood ("add", not "added")
- describe intent, not implementation details
- avoid filenames in the message
- avoid punctuation at the end
-
"Best fit" mapping:
- Choose the most appropriate semantic type per commit
- Do NOT default to "chore" unless nothing else fits
-
Output format MUST be:
-
Do NOT:
- duplicate files across commits
- omit any files
- include explanations
- include numbering
- include extra commentary
-
Every file from the input MUST appear exactly once.
Input
A list or diff of changed files.
Output
A grouped set of semantic commits covering all files exactly once. Also provide a PR title and summary in markdown that can be copy-pasted into GitHub.