--- name: git-semantic-commits description: Format Git commit messages following Conventional Commits specification with semantic versioning support for proper commit type detection and versioning license: Apache-2.0 compatibility: opencode metadata: audience: developers, maintainers workflow: commit-formatting --- ## What I do I provide Git commit message formatting following the Conventional Commits specification with semantic versioning support: 1. **Format Commit Messages**: Enforce Conventional Commits format: `(): ` 2. **Detect Commit Type**: Identify commit type from content: feat, fix, docs, style, refactor, test, chore, perf, ci, build, revert 3. **Support Scopes**: Add optional scope to identify affected component/package: `feat(api):`, `fix(ui):` 4. **Detect Breaking Changes**: Identify breaking changes via `!` after type/scope or `BREAKING CHANGE:` in footer 5. **Provide Versioning Guidance**: Explain versioning implications (MAJOR.MINOR.PATCH) based on commit type 6. **Validate Messages**: Check commit messages follow Conventional Commits specification 7. **Generate Templates**: Provide commit message templates for each type 8. **Support Body and Footer**: Include detailed body and footers (BREAKING CHANGE, Closes, etc.) ## When to use me Use this framework when: - You need to format Git commit messages following semantic conventions - You're creating a workflow that generates commits - You need to detect commit type for versioning or changelog generation - You want consistent commit message formatting across your team - You're integrating with automated versioning tools (semantic-release, etc.) - You need to support automated changelog generation - You're creating PRs and want proper title formatting This is a **framework skill** - it provides commit message formatting that other skills use. ## Conventional Commits Specification ### Format Structure ``` ():