writing-commit-messages
Enforces conventional commit message formatting including subsystem prefixes, issue references, and detailed descriptions.
Install
mkdir -p .claude/skills/writing-commit-messages && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/15374" && unzip -o skill.zip -d .claude/skills/writing-commit-messages && rm skill.zipInstalls to .claude/skills/writing-commit-messages
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.
Writes Git commit messages. Activates when the user asks to write a commit message, draft a commit message, or similar.Key capabilities
- →Determine subsystem from file diffs
- →Write concise subject lines for commits
- →Include references to issues/PRs in commit messages
- →Draft long-form descriptions for changes
- →Follow imperative mood and lowercase start for summaries
- →Wrap long-form descriptions at ~72 characters
How it works
The skill analyzes file changes to identify the subsystem, then constructs a commit message with a concise subject line, relevant references, and a detailed description following specific formatting rules.
Inputs & outputs
When to use writing-commit-messages
- →Draft commit messages from code changes
- →Link GitHub issues in commits
- →Standardize repository commit history
- →Write descriptive summaries for technical changes
About this skill
Writing Commit Messages
Write commit messages that follow commit style guidelines for the project.
Format
<subsystem>: <summary>
<reference issues/PRs/etc.>
<long form description>
Rules
Subject line
- Subsystem prefix: Use a short, lowercase identifier for the
area of code changed (e.g.,
terminal,vt,lib,config,font). Determine this from the file paths in the diff. If changes span the macOS app, usemacos. For GTK, usegtk. For build system, usebuild. Use nested subsystems with/when helpful and exclusive (e.g.,terminal/osc). - Summary: Lowercase start (not capitalized), imperative mood, no trailing period. Keep it concise—ideally under 60 characters total for the whole subject line.
References
- If the change relates to a GitHub issue, PR, or discussion, list
the relevant numbers on their own lines after the subject, separated
by a blank line. E.g.
#1234 - If there are no references, omit this section entirely (no blank line).
Long form description
- Describe what changed, what the previous behavior was, and how the new behavior works at a high level.
- Use plain prose, not bullet points. Wrap lines at ~72 characters.
- Focus on the why and how rather than restating the diff.
- Keep the tone direct and technical without no filler phrases.
- Don't exceed a handful of paragraphs; less is more.
Workflow
- Run a diff to see what changes are present since the last commit.
- Identify the subsystem from the changed file paths.
- Identify any referenced issues/PRs from the diff context or branch name.
- Draft the commit message following the format above.
- Apply the commit
- Don't push the commit; leave that to the user.
When not to use it
- →When the user does not want to write a Git commit message
- →When the changes are not related to a code repository
- →When the project does not follow conventional commit guidelines
Limitations
- →Subject line ideally under 60 characters total
- →Long form description lines wrapped at ~72 characters
- →References section omitted if no issues/PRs are linked
How it compares
This skill provides a structured and rule-based approach to generating Git commit messages, ensuring consistency and adherence to project guidelines, unlike manually composing messages.
Compared to similar skills
writing-commit-messages side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| writing-commit-messages (this skill) | 0 | 4mo | No flags | Beginner |
| prepare-changelog | 6 | 7mo | Review | Beginner |
| workthrough | 10 | 8mo | Review | Beginner |
| generate-release-notes | 7 | 8mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
prepare-changelog
nextest-rs
Guidelines for preparing changelog entries for nextest releases following Keep a Changelog format
workthrough
bear2u
Automatically document all development work and code modifications in a structured workthrough format. Use this skill after completing any development task, bug fix, feature implementation, or code refactoring to create comprehensive documentation.
generate-release-notes
teambit
Generate comprehensive release notes for Bit from git commits and pull requests. Use when creating release notes, building changelogs, documenting version releases, or preparing a new Bit release.
changelog-generator
ComposioHQ
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
release-note-generation
microsoft
Toolkit for generating PowerToys release notes from GitHub milestone PRs or commit ranges. Use when asked to create release notes, summarize milestone PRs, generate changelog, prepare release documentation, request Copilot reviews for PRs, update README for a new release, manage PR milestones, or collect PRs between commits/tags. Supports PR collection by milestone or commit range, milestone assignment, grouping by label, summarization with external contributor attribution, and README version bumping.
doc-check
coder
Checks if code changes require documentation updates