conventional-commits

Writes and reviews Conventional Commits commit messages (v1.0.0) to support semantic versioning and automated changelogs. Use when drafting git commit messages, PR titles, release notes, or when enforcing a conventional commit format (type(scope): subject, BREAKING CHANGE, footers, revert).

16 stars

Best use case

conventional-commits is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Writes and reviews Conventional Commits commit messages (v1.0.0) to support semantic versioning and automated changelogs. Use when drafting git commit messages, PR titles, release notes, or when enforcing a conventional commit format (type(scope): subject, BREAKING CHANGE, footers, revert).

Teams using conventional-commits should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/conventional-commits/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/tools/conventional-commits/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/conventional-commits/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How conventional-commits Compares

Feature / Agentconventional-commitsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Writes and reviews Conventional Commits commit messages (v1.0.0) to support semantic versioning and automated changelogs. Use when drafting git commit messages, PR titles, release notes, or when enforcing a conventional commit format (type(scope): subject, BREAKING CHANGE, footers, revert).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Conventional Commits (v1.0.0)

Use the Conventional Commits spec to produce consistent commit messages that are easy to parse for changelogs and semantic versioning.

## Commit message format (canonical)

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

[optional body]

[optional footer(s)]
```

Rules:

- Separate **header**, **body**, **footers** with a blank line.
- Keep the **header** on one line.
- Put `!` immediately before `:` to mark a breaking change (e.g. `feat!: ...`, `refactor(api)!: ...`).

## Choose a type

The spec allows any type, but these are common and widely supported by tooling:

- `feat`: introduce a new feature (user-facing)
- `fix`: bug fix (user-facing)
- `docs`: documentation-only changes
- `refactor`: refactor that neither fixes a bug nor adds a feature
- `perf`: performance improvement
- `test`: add or adjust tests
- `build`: build system/dependencies
- `ci`: CI configuration/scripts
- `chore`: maintenance tasks
- `style`: formatting (whitespace, missing semicolons, etc.)
- `revert`: revert a previous commit

Default choice when unsure:

- If users see new behavior → `feat`
- If users see corrected behavior → `fix`
- Otherwise → `chore` or a more specific maintenance type (`refactor`, `build`, `ci`)

## Optional scope

Use scope to clarify the area impacted.

Format:

```text
type(scope): description
```

Guidelines:

- Use a short noun: `api`, `auth`, `ui`, `db`, `cli`, `deps`, `docs`.
- Use repo/module/package name when working in a monorepo.
- If scope adds no clarity, omit it.

## Description (subject)

Write the description as a short summary of what the change does.

Guidelines:

- Use **imperative** mood: “add”, “fix”, “remove”, “update”.
- Avoid ending punctuation.
- Be specific; avoid “stuff”, “changes”, “update things”.

Examples:

```text
feat(auth): add passwordless login
fix(api): handle empty pagination cursor
chore(deps): bump react to 18.3.0
```

## Body (optional)

Use the body to explain motivation, constraints, or high-level implementation notes.

Guidelines:

- Prefer complete sentences.
- If helpful, include:
  - why the change was needed
  - what approach was chosen
  - notable trade-offs

Example:

```text
refactor(parser): simplify tokenization

Replace the regex pipeline with a small state machine to reduce backtracking.
```

## Footers (optional)

Footers are key/value-like lines at the end. Use them for:

- breaking change details
- issue references
- metadata used by tooling

Examples:

```text
Refs: #123
Closes: #456
Co-authored-by: Name <email@example.com>
```

## Breaking changes

Mark breaking changes in one (or both) of these ways:

1. Add `!` in the header:

```text
feat(api)!: remove deprecated v1 endpoints
```

2. Add a `BREAKING CHANGE:` footer (recommended when you need an explanation):

```text
feat(api): remove deprecated v1 endpoints

BREAKING CHANGE: /v1/* endpoints are removed; migrate to /v2/*.
```

## Reverts

Use the `revert` type when undoing a previous change.

Example:

```text
revert: feat(auth): add passwordless login

This reverts commit 1a2b3c4.
```

## Semantic versioning mapping (typical)

Common mapping for automated version bumps:

- `fix` → patch
- `feat` → minor
- any breaking change (`!` or `BREAKING CHANGE:`) → major

## When asked to “write a commit message”

Collect missing inputs quickly:

- What changed? (1–2 sentences)
- Scope/module? (optional)
- User-facing? (feature vs fix vs chore)
- Breaking? (yes/no; migration note if yes)
- Any issue IDs to reference?

Then produce:

1. A conventional header
2. Optional body (only if it adds clarity)
3. Optional footers (`Refs:`, `Closes:`, `BREAKING CHANGE:`)

## Ready-to-use templates

Minimal:

```text
<type>: <description>
```

With scope:

```text
<type>(<scope>): <description>
```

Breaking change with explanation:

```text
<type>(<scope>): <description>

BREAKING CHANGE: <what breaks and how to migrate>
```

Related Skills

Conventional Commit Generator

16
from diegosouzapw/awesome-omni-skill

This skill should be used when the user asks to "create a conventional commit", "generate conventional commits", "commit with conventional format", "group my changes for commits", "make a conventional commit message", or mentions "semantic commits", "commitizen", "commit conventions". Analyzes staged and unstaged changes, groups related modifications, and generates properly formatted conventional commit messages with interactive commit grouping options.

bgo

16
from diegosouzapw/awesome-omni-skill

Automated Blender build-go workflow. Automatically builds, removes old version, installs, enables, and launches Blender with your extension/add-on. Use when you want to quickly test changes, execute complete build-to-launch cycle, or run custom packaging scripts with automatic Blender launch.

Coding & Development

deleting-op-secrets

16
from diegosouzapw/awesome-omni-skill

Deletes or archives secrets in 1Password using the op CLI. Use when the user needs to permanently remove items, archive deprecated credentials, or clean up unused secrets from 1Password vaults. Supports both permanent deletion and archiving for later recovery.

definition.tech_spike

16
from diegosouzapw/awesome-omni-skill

Scope and prioritize technical spikes that de-risk architecture or implementation questions.

defi-protocol-templates

16
from diegosouzapw/awesome-omni-skill

Implement DeFi protocols with production-ready templates for staking, AMMs, governance, and lending systems. Use when building decentralized finance applications or smart contract protocols.

deepgram-automation

16
from diegosouzapw/awesome-omni-skill

Automate Deepgram tasks via Rube MCP (Composio). Always search tools first for current schemas.

deel-automation

16
from diegosouzapw/awesome-omni-skill

Automate Deel tasks via Rube MCP (Composio). Always search tools first for current schemas.

declarative-agents-microsoft365

16
from diegosouzapw/awesome-omni-skill

Comprehensive development guidelines for Microsoft 365 Copilot declarative agents with schema v1.5, TypeSpec integration, and Microsoft 365 Agents Toolkit workflows Triggers on: **.json, **.ts, **.tsp, **manifest.json, **agent.json, **declarative-agent.json

deck-cli

16
from diegosouzapw/awesome-omni-skill

Manage Kong Gateway and Konnect declaratively using decK CLI. Use when working with Kong Gateway configurations, syncing state, converting OpenAPI specs to Kong config, validating configurations, or automating Kong deployments. Handles declarative configuration files, API lifecycle automation, and Kong entity management.

debugging-memory

16
from diegosouzapw/awesome-omni-skill

This skill should be used when the user asks to "debug this", "fix this bug", "why is this failing", "investigate error", "getting an error", "exception thrown", "crash", "not working", "what's causing this", "root cause", "diagnose this issue", or describes any software bug or error. Also activates when spawning subagents for debugging tasks, using Task tool for bug investigation, or coordinating multiple agents on a debugging problem. Provides memory-first debugging workflow that checks past incidents before investigating.

debug

16
from diegosouzapw/awesome-omni-skill

Systematic debugging with hypothesis testing. Persistent across sessions.

debate-persona-generator

16
from diegosouzapw/awesome-omni-skill

Generates three distinct expert challenger personas for multi-perspective debate. Each persona critiques from a different angle.