SKILL.md


name: formatting-commits description: Creates commits strictly following Conventional Commits format. ALWAYS read BEFORE committing changes, amending commits, or when the user mentions git commits, conventional commits, or commit messages. compatibility: Requires git and git-format CLI tools (invoked as git formatted-commit) license: GPL-3.0-or-later metadata: author: Amolith amolith@secluded.site

Create commits using git formatted-commit. For amends, choose the appropriate approach:

  • Message stays accurategit commit --amend --no-edit (or -a --amend --no-edit to stage all)
  • Message needs updatinggit formatted-commit --amend to reconstruct with new type/scope/body

git formatted-commit has no sub-commands and the following options:

<git_formatted-commit_flags> -t --type Commit type (required) -s --scope Commit scope (optional) -B --breaking Mark as breaking change (optional) -m --message Commit message (required) -b --body Commit body (optional) -T --trailer Trailer in 'Sentence-case-key: value' format (optional, repeatable) -a --add Stage all modified files before committing (optional) --amend Amend the previous commit (optional) -h --help </git_formatted-commit_flags> <git_formatted-commit_example> git formatted-commit -t feat -s "web/git-bug" -m "do a fancy new thing" -b "$(cat <<'EOF' Multi-line

  • Body
  • Here

EOF )" -T "Fixes: https://todo.sr.ht/~user/tracker/#123" </git_formatted-commit_example>

Most source code repositories require both an appropriate prefix and scope. Necessity of scope increases with repository size; the smaller the repo, the less necessary the scope. Valid trailers for ticket tracking integration depend on the platform in use.

  • GitHub
    • Closes:
    • Fixes:
    • Resolves:
    • References:
  • SourceHut
    • Closes:
    • Fixes:
    • Implements:
    • References:

Refer to installing-git-format.md if it's unavailable.