conventional-commits
Skill72 starsChanged 6 months agoMITView on GitHub
This skill should be used when creating Git commits to ensure they follow the Conventional Commits specification. It provides guidance on commit message structure, types, scopes, and best practices for writing clear, consistent, and automated-friendly commit messages. Use when committing code changes or reviewing commit history.
56 other projects use a version of this.
Adopted by
Most recently taken up by
- langchain-ai/langchain-litellmtheir own version, first seen Nov 8, 2026
- r3b1s/skillstheir own version, first seen Nov 8, 2026
- niksavis/handilytheir own version, first seen Nov 8, 2026
- sambulosenda/Skillstheir own version, first seen Nov 8, 2026
- niksavis/basiclytheir own version, first seen Nov 7, 2026
- Gu-ZT/skillstheir own version, first seen Nov 4, 2026
Used with
Projects with it also use github, grilling and 7 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
NVIDIASkillgithub
Interact with GitHub using the gh CLI restricted to REST API only (no GraphQL). Use when the user wants to work with GitHub issues, pull requests, repos, releases, or Actions — especially in sandboxed environments where the GraphQL endpoint may be blocked. Trigger keywords - github, gh, pull request, PR, github issue, github actions, workflow, release, gh api.
Also in 3 projects that use this
GoogleSkillgrilling
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
Also in 5 projects that use this
GoogleSkilldomain-modeling
Build and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous language, record an architectural decision, or when another skill needs to maintain the domain model.
Also in 4 projects that use this
NVIDIASkillresearch
Before designing a feature, research how comparable libraries solve the problem, check best practices, known pitfalls, and upstream changes. Use when starting a new feature, investigating an unfamiliar area, or the user asks to research something.
Also in 5 projects that use this
MicrosoftSkillhandoff
Compact the current conversation into a handoff document for another agent to pick up.
Also in 3 projects that use this
- +4 more from google
Other versions56 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 56
- open-sdr/openwifi★ 4.9ksame name
- endurain-project/endurain★ 2.4ksame name
- joaovitoriasilva/endurain★ 2.4ksame name
- awattar/claude-code-best-practices★ 250same name
- langchain-ai/langchain-litellm★ 62same name
- WncFht/agent-basic-skill★ 30same name
- hankunpeng/skills★ 26same name
- metalagman/agent-skills★ 24same name
- jackjin1997/ClawForge★ 12same name
- gabrielkoerich/skills★ 8same name
46 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository13 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- skill-creatorSkill
- agent-readySkill
- bufferSkill
- codebase-readinessSkill
- code-snippetSkill
- conventional-commentsSkill
- herdr-code-reviewSkill
- stacked-prsSkill
- tddSkill
- team-code-reviewSkill
- webhook-receiverSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 6 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 51 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Use this skill when:
- Distinctive: line 147
Use imperative, present tense: "add" not "added" or "adds"
- Distinctive: line 148
Don't capitalize first letter
- Distinctive: line 149
No period (.) at the end
- Distinctive: line 150
Keep under 72 characters (ideally under 50)
- Distinctive: line 180
Use imperative mood like description
- Very specific: line 202
Use BREAKING CHANGE: footer for incompatible API changes:
“Common” is measured: kept by at least 6 in 10 of the 51 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Conventional Commits
This skill provides guidance for writing Git commits that follow the Conventional Commits specification (v1.0.0).
Purpose
Conventional Commits is a specification for adding human and machine-readable meaning to commit messages. It provides an easy set of rules for creating an explicit commit history, which makes it easier to understand project changes and improve collaboration.
When to Use This Skill
Use this skill when:
- Creating Git commits
- Reviewing commit messages in PRs
- Writing clear, structured commit messages
- Collaborating on projects with multiple contributors
Commit Message Structure
Basic Format
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]Examples
feat: add user authentication
feat(api): add JWT token generation
fix: resolve memory leak in image processor
docs: update README with setup instructions
refactor(database): optimize user query performanceCommit Types
Primary Types
feat - A new feature for the user
feat: add export to PDF functionality
feat(api): add webhook signature verificationfix - A bug fix for the user
fix: resolve login redirect loop
fix(api): handle null response from GitHub webhookdocs - Documentation only changes
docs: update API endpoint documentation
docs(readme): add troubleshooting sectionstyle - Changes that don't affect code meaning (formatting, whitespace)
style: format code with StandardRB
style(css): update button paddingrefactor - Code change that neither fixes a bug nor adds a feature
refactor: extract user validation to service object
refactor(models): simplify tenant scoping logicperf - Performance improvements
perf: add database index for user lookups
perf(queries): reduce N+1 queries in artifacts indextest - Adding or updating tests
test: add specs for user authentication
test(integration): add webhook processing testschore - Changes to build process, dependencies, or maintenance
chore: update Rails to 7.2.0
chore(deps): bump sidekiq from 7.1.0 to 7.2.0Additional Types (Less Common)
build - Changes to build system or dependencies
build: configure Docker for production
build(webpack): update asset compilation settingsci - Changes to CI configuration
ci: add security scanning to GitHub Actions
ci(tests): run RSpec in parallelrevert - Reverts a previous commit
revert: revert "feat: add export feature"
This reverts commit abc123.Scope (Optional)
Scope provides additional context about what part of the codebase changed:
feat(auth): add two-factor authentication
fix(api): handle rate limit errors
docs(contributing): update PR guidelines
refactor(services): extract common validation logicCommon scope examples:
auth- Authentication/authorizationapi- API endpointsui- User interface componentsdatabaseordb- Database models/migrationsservices- Service objectsjobs- Background jobstests- Test suitedeps- Dependenciesconfig- Configuration changesdocs- Documentation
Choose scopes that match your project's architecture and domain areas.
Description
The description is a short summary of the code change:
Rules:
- Use imperative, present tense: "add" not "added" or "adds"
- Don't capitalize first letter
- No period (.) at the end
- Keep under 72 characters (ideally under 50)
Good descriptions:
add user profile page
fix memory leak in file upload
update email templates for notifications
remove deprecated API endpointBad descriptions:
Added user profile page # Past tense
Fix Memory Leak In File Upload # Capitalized
Updated email templates. # Period at end
Lots of changes to the codebase # VagueBody (Optional)
The body provides additional context about the change:
When to include a body:
- Complex changes needing explanation
- Non-obvious design decisions
- Breaking changes
- Migration instructions
Format:
- Separate from description with blank line
- Use imperative mood like description
- Wrap at 72 characters
- Can include multiple paragraphs
Example:
feat(api): add webhook signature verification
Add HMAC-SHA256 signature verification for all incoming webhooks
to prevent unauthorized access and replay attacks.
The signature is validated using a secret key stored per
installation. Requests with invalid signatures are rejected
with a 401 response.Footer (Optional)
Footers provide metadata about the commit:
Breaking Changes
Use BREAKING CHANGE: footer for incompatible API changes:
feat(api): change authentication endpoint
BREAKING CHANGE: The /auth endpoint now requires a client_id parameter.
Update all API clients to include client_id in authentication requests.Or use ! after type/scope:
feat!: change authentication endpoint
feat(api)!: remove deprecated /login endpointIssue References
Reference issues and pull requests:
fix(auth): resolve session timeout bug
Fixes #123
Closes #456
Related to #789Common reference types:
Fixes #123- Closes the issueCloses #123- Closes the issueResolves #123- Closes the issueRelated to #123- References without closingSee also #123- Additional reference
Co-authors
Credit multiple contributors:
feat: add data export feature
Co-authored-by: Jane Doe <jane@example.com>
Co-authored-by: John Smith <john@example.com>Complete Examples
Simple Feature
feat: add password reset functionalityFeature with Scope
feat(api): add rate limiting for endpointsBug Fix with Body
fix(api): handle rate limit errors from GitHub
When GitHub API returns 429 status, retry the request
with exponential backoff up to 3 attempts before failing.
Fixes #234Breaking Change
feat(api)!: redesign webhook payload structure
BREAKING CHANGE: Webhook payloads now use a nested structure.
Before:
{
"event": "issue.created",
"data": {...}
}
After:
{
"type": "issue",
"action": "created",
"payload": {...}
}
Clients must update their webhook handlers to use the new structure.Refactoring
refactor(services): extract validation to concern
Move common validation logic from multiple services into
a shared ValidationConcern module. No behavior changes.Multiple Footers
fix(auth): resolve concurrent login race condition
Add database-level locking to prevent race condition when
multiple login attempts occur simultaneously for the same user.
Fixes #567
Related to #432
Reviewed-by: Jane Doe <jane@example.com>Best Practices
Do:
✅ Use present tense imperative mood ("add" not "added") ✅ Keep first line under 50 characters when possible ✅ Reference issues/PRs in footer ✅ Explain "why" in body, not "what" (code shows what) ✅ Break up large changes into multiple commits ✅ Make commits atomic (one logical change per commit)
Don't:
❌ Use vague descriptions ("fix stuff", "updates") ❌ Combine multiple unrelated changes in one commit ❌ Capitalize first letter of description ❌ End description with period ❌ Use past tense ("added", "fixed") ❌ Commit broken code (each commit should work)
Summary
Conventional Commits provide:
- ✅ Clear, consistent commit history
- ✅ Better collaboration through explicit intent
- ✅ Easier code review and git history navigation
- ✅ Improved project documentation through structured messages
Key formula:
<type>(<scope>): <description>
[body]
[footer]For detailed examples and edge cases, see references/commit-examples.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

