# Commit Convention

Use when writing commit messages, creating PR titles, pushing commits, or creating PRs...

- Repository: https://github.com/modiqo/skillspec (699 stars)
- Category: Git and review
- License: Apache-2.0
- Last updated: 2026-08-09
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add modiqo/skillspec --skill commit-convention -g -a claude-code -y`
Codex: `npx skills add modiqo/skillspec --skill commit-convention -g -a codex -y`
Cursor: `npx skills add modiqo/skillspec --skill commit-convention -g -a cursor -y`
Gemini CLI: `npx skills add modiqo/skillspec --skill commit-convention -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add modiqo/skillspec`

## Description

Use when writing commit messages, creating PR titles, pushing commits, or creating PRs, ensures conventional commit format and that formatting/linting pass before any push

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Commit Convention

This project uses [Conventional Commits](https://www.conventionalcommits.org/). PR titles are linted by CI and become the squash-merge commit message on `main`.

## Pre-push Gate

Before pushing commits or creating a PR, run **both** checks and confirm they pass:

```bash
cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
```

If either fails, fix the issues and amend/re-commit before pushing. Only skip these checks if the plan explicitly allows for it.

## Format

```
<type>[optional scope]: <description>
```

## Allowed Types

- **feat**, new feature
- **fix**, bug fix
- **docs**, documentation only
- **style**, formatting, no code change
- **refactor**, neither fix nor feature
- **perf**, performance improvement
- **test**, adding or updating tests
- **build**, build system or dependencies
- **ci**, CI configuration
- **chore**, maintenance tasks
- **revert**, revert a previous commit

## Rules

- Subject must NOT start with an uppercase letter
- Scope is optional and freeform (e.g., `feat(adapter): ...`)
- Breaking changes: use `!` after type (e.g., `feat!: ...`) or add `BREAKING CHANGE:` footer

## Examples

```
feat: add semantic search for skills
fix(grpc): handle timeout on large payloads
ci: add conventional commits PR title linting
feat!: redesign adapter API
```

