← ClaudeAtlas

conventional-commitslisted

Generate, review, or enforce Conventional Commit messages from a diff, staged changes, a file summary, or a plain-language description of work. Use this skill whenever the user asks for a commit message, mentions committing code, runs or discusses git commit, asks to fix or reword a commit, wants a changelog-friendly history, mentions commitlint or semantic-release, or pastes a diff and asks "what should the commit say". Trigger even if the user does not say "conventional commit" explicitly.
jmadden/Helpful-Claude-Skills · ★ 0 · Code & Development · score 57
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: