conventional-commits_skill

This skill enforces conventional commits and PR titles in Rust projects, ensuring readable history and machine-parseable metadata.
  • Rust

31

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill pplmx/husky-rs --skill conventional-commits

  • SKILL.md2.3 KB

Overview

This skill enforces the Conventional Commits specification to keep commit messages and PR titles consistent, machine-parseable, and semver-friendly. It runs as a git hook to validate format, types, scopes, and optional body/footer rules so repository history stays clean and automatable. Use it to prevent invalid commit messages from entering the main branch and to standardize metadata for changelogs and CI tooling.

How this skill works

The hook inspects each commit message or proposed PR title against the Conventional Commits regex and rules, verifying type, optional scope, subject formatting, and the presence and structure of optional body and footer sections. It rejects commits that violate imperative mood, trailing periods, uppercase subjects, missing blank-line separation, or incorrect breaking-change and issue-tracking footers. The check runs locally during commit/PR creation, providing actionable error messages and examples to fix violations.

When to use it

  • Enforce consistent commit messages across a team
  • Automate changelog generation and semantic versioning
  • Prevent malformed commits from reaching CI or main branches
  • Ensure PR titles align with commit history and release tooling
  • Adopt Conventional Commits in new or existing projects

Best practices

  • Require atomic commits that clearly describe one change per message
  • Use the provided list of allowed types (feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert)
  • Keep subject concise, in imperative mood, lowercase, and without a trailing period
  • Add an optional body to explain why and how; wrap lines around 72 characters
  • Use footer for BREAKING CHANGE: and issue references like Fixes #123

Example use cases

  • Block commits that don’t match the subject regex before pushing
  • Fail PR title checks in CI if the title isn’t a valid Conventional Commit
  • Enforce breaking-change notation so release tooling bumps major versions correctly
  • Standardize commit history before a big release or open-source migration
  • Prevent noisy or ambiguous changelog entries by mandating scopes and types

FAQ

Subjects must match the Conventional Commits pattern: type(scope)?: subject using allowed types. Optional scope uses lowercase letters, numbers, and hyphens. The subject must be imperative, lowercase (except proper nouns), and not end with a period.

How are breaking changes represented?

Include a footer starting with BREAKING CHANGE: followed by a clear description. This triggers major-version bumps in semantic-release and similar tools.

Can I combine multiple changes in one commit?

Prefer atomic commits. If you must combine, use the body to list related changes and ensure the subject reflects the dominant change type.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational