name: git-commit-message description: Use when the user asks for a git commit message or semantic commit guidance. Produce one semantic commit message that prioritizes stated intent and effect and stays consistent with the described change.
Git Commit Message
Generate one semantic commit message that captures the change at the right level: intent and effect first, details second.
Response Contract
- One recommended commit message.
- One sentence explaining the chosen type, scope, and summary.
Message Model
Default format
<type>(<scope>): <summary>
Omit (scope) when it does not add signal.
Components
- Type: the change class.
- Scope: the primary area changed, when it improves precision.
- Summary: a short statement of intent and effect.
Standards
Apply these standards throughout the suggestion. Each standard is single-sourced here and referenced elsewhere by its ID.
-
format.default — Default format Use the default format and omit scope when it is unclear or low-signal.
-
type.minimal — Minimal accurate type Choose the smallest type that fits the change:
feat,fix,chore,refactor,docs,test,perf. -
scope.signal — Scope adds signal Use a narrow, stable scope that names the main area changed. Avoid repeating obvious repo or product context.
-
summary.intent_effect — Intent and effect first Prefer the user’s stated intent and the observable effect of the change over mechanical descriptions of edits.
-
signal.dense — Dense and non-redundant Keep
type,scope, andsummarycomplementary. Avoid overlap and embellishment.
Workflow
- Extract the user’s stated intent, the change’s effect, and the primary area.
- Select type. Apply
type.minimal. - Select scope only if it adds precision. Apply
scope.signal,format.default. - Write a concise summary focused on intent and effect. Apply
summary.intent_effect,signal.dense. - Emit the final message per the Response Contract.
Acceptance Criteria
A revision is complete only if all checks pass.
- Response: Output satisfies the Response Contract.
- Standards satisfied:
format.default,type.minimal,scope.signal,summary.intent_effect,signal.dense.