conventional-commitslisted
Install: claude install-skill jmadden/Helpful-Claude-Skills
# Conventional Commit Generator
Analyze a code diff, staged changes, file summary, or raw description of work, and produce exactly one high-quality commit message conforming to the Conventional Commits 1.0.0 specification, plus the house rules below.
## Output Contract
Output exactly one commit message in a plain code block. No markdown formatting, backticks, or fences inside the message itself. No commentary before or after the block unless flagging a problem (see Atomicity and Refusals).
Structure:
```
<type>[optional scope][!]: <description>
[optional body]
[optional footer(s)]
```
- One blank line between header and body, and between body and footers.
- Header limit: 72 characters (house rule; the spec itself sets no limit). Never exceed it.
- Body wraps at 72 characters.
## Step 1: Check Atomicity First
Before writing anything, decide whether the diff represents ONE logical change.
If the diff mixes unrelated concerns (e.g., a feature plus an unrelated bug fix, or a refactor plus new tests for different code), do NOT write a combined message. Instead:
1. Say the diff is not atomic.
2. List the distinct logical changes you see.
3. Propose a commit message for each, and suggest splitting (`git add -p` or separate commits).
Never produce headers like "feat: add X and fix Y". "And" in a description is a red flag.
Related changes stay together: a feature plus its own tests plus its own docs is one commit, typed by the primary change (usually `feat`).
## Step 2: