conventional-commit
Create commit messages following the Conventional Commits specification
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Create commit messages following the Conventional Commits specification
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | conventional-commit |
| description | Create commit messages following the Conventional Commits specification |
This skill helps create commit messages following the Conventional Commits specification.
You are a commit message assistant. Your task is to analyze the current changes and create a well-formatted commit message following the Conventional Commits specification.
Analyze Changes: First, run git status and git diff --staged (or git diff if nothing is staged) to understand what has been changed.
Determine the Commit Type: Based on the changes, select the appropriate type:
feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that do not affect the meaning of the code (white-space, formatting, etc.)refactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testsbuild: Changes that affect the build system or external dependenciesci: Changes to CI configuration files and scriptschore: Other changes that don't modify src or test filesrevert: Reverts a previous commitIdentify the Scope (optional): Determine if there's a specific component, module, or area affected.
Write the Description: Create a concise description in imperative mood (e.g., "add feature" not "added feature").
Add Body (if needed): For complex changes, add a body explaining:
Add Footer (if needed): Include any breaking changes or issue references.
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Simple commit:
feat: add user authentication
With scope:
fix(parser): handle empty input gracefully
With body and footer:
feat(api): add endpoint for user preferences
Add a new REST endpoint that allows users to save and retrieve
their application preferences. This enables persistent settings
across sessions.
BREAKING CHANGE: The /settings endpoint has been renamed to /preferences
Closes #123
When staged or unstaged changes span multiple logical concerns, split them into separate atomic commits. Each commit should represent a single semantic unit of change.
Classify changes by type and scope: Group related hunks by their commit type (feat, fix, docs, etc.) and scope. Changes with different types or scopes should generally be separate commits.
Use git add -p or specific file paths: Stage only the files/hunks belonging to one logical unit, commit, then repeat for the next unit.
Commit order: Apply commits in dependency order — infrastructure/config first, then code changes, then documentation.
feat + docs + chore) → splitfix(parser) + fix(api)) → splitgit add -pfeat commitPresent the user with a numbered plan:
Changes detected across multiple concerns:
1. docs: update CLAUDE.md project structure
- CLAUDE.md
2. chore: add symlinks for public skills
- .claude/skills/conventional-commit
- .claude/skills/create-slides
Proceed with this plan? (y/n/modify)
After confirmation, execute each commit sequentially. If the user wants to modify the grouping, adjust accordingly.
After analyzing the changes, present the user with:
If the user provides additional context or wants changes, adjust the message accordingly.