Skip to content
cccskills
FreePublished on GitHub

conventional-commits

Guide for writing conventional commit messages. Use when committing changes, writing commit messages, or reviewing commit history.

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md3.7 KB
  • references/examples.md1.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Conventional Commits

Commit Message Format

<type>(<scope>): <verb> <subject>

One line only. No body. No footer (except for breaking changes).

Subject Line Rules

  • Imperative mood, present tense
  • Short, dense, unambiguous
  • Describes the intent, not the implementation
  • One line only
  • No capitalization at start
  • No period at end

Verb Selection

⚠️ Avoid weak verbs: add, remove, change, update, modify

Use precise, action-oriented verbs:

VerbUse When
enforceAdding constraints or rules
introduceBringing in new concepts/APIs
implementBuilding out functionality
preventBlocking undesired behavior
fixCorrecting bugs
refactorRestructuring without behavior change
clarifyImproving readability/naming
alignMaking consistent with standards
tightenStrengthening validation/constraints
hardenSecurity or robustness improvements
validateInput/state verification
handleManaging edge cases
supportEnabling new use cases
ensureGuaranteeing invariants
documentDocumentation work

Type

TypeDescriptionTriggers
featNew featureMinor version bump
fixBug fixPatch version bump
docsDocumentation onlyNo release
styleFormatting, whitespaceNo release
refactorCode restructuringNo release
perfPerformance improvementPatch version bump
testAdding/updating testsNo release
buildBuild system, dependenciesNo release
ciCI/CD configurationNo release
choreMaintenance tasksNo release

Scope

  • Mandatory when it adds clarity
  • Short, meaningful, domain or component oriented
  • Use contract names without axone- prefix: gov, logic
  • Other examples: workflow, dependabot, README, make, deps
  • If unsure, omit it

Examples

See examples for comprehensive good and bad examples.

Quick reference:

feat(gov): introduce quadratic voting mechanism
fix(handlers): prevent overflow in vote counting
refactor(state): clarify storage key naming
test(gov): validate error paths for unauthorized access
build(deps): enforce abstract-sdk 0.26.1

Granularity

Rule: One commit = one intention

Instead of...Prefer...
One big mixed commitMultiple focused commits
feat: implement X and fix YTwo separate commits
Tests bundled with featureSeparate test: commit
Build changes with featureSeparate build: commit

What to Avoid

  • ❌ Generic messages hiding what changed
  • ❌ Explanations or rationale in the message
  • ❌ Marketing language or inflated wording
  • ❌ Multiple intentions in one commit
  • ❌ Vague subjects like "improve", "update", "fix issue"

Breaking Changes

Use ! after type/scope:

feat(msg)!: restructure ExecuteMsg variants
refactor(api)!: enforce stricter validation schema

Commit Linting

Commits are validated using commitlint. Ensuring lint passes is mandatory.

Validate locally:

npm i -g @commitlint/cli @commitlint/config-conventional
echo "feat(gov): introduce voting mechanism" | commitlint --extends @commitlint/config-conventional

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Best practices for designing CosmWasm smart contract APIs. Use when defining message types, designing execute/query interfaces, or optimizing API ergonomics.

The English summary is being prepared. Showing the original description.

axone-protocol/contracts123Updated Oct 14, 2026

Guide for writing Rust doc comments that produce accurate generated contract documentation. Use when editing Instantiate/Execute/Query/Response types or any public schema-facing API.

The English summary is being prepared. Showing the original description.

axone-protocol/contracts123Updated Oct 14, 2026

Axone contract structure and Abstract SDK patterns. Use when scaffolding or refactoring contracts, deciding layer boundaries, wiring AppContract entrypoints, or adding module metadata and replies.

The English summary is being prepared. Showing the original description.

axone-protocol/contracts123Updated Oct 14, 2026

Axone deployment workflows with cargo-make, cw-orch, and Abstract. Use when publishing modules, installing them on accounts, running local chain tasks, or inspecting deployments.

The English summary is being prepared. Showing the original description.

axone-protocol/contracts123Updated Oct 14, 2026

Guide for regenerating Axone contract schemas and rendered Markdown docs. Use when contract APIs or metadata change, when checking generated-doc drift, or when preparing documentation commits.

The English summary is being prepared. Showing the original description.

axone-protocol/contracts123Updated Oct 14, 2026

Domain-driven modeling patterns for Axone contracts. Use when introducing domain concepts, encoding invariants, or deciding boundaries between domain, handlers, services, gateways, queries, and state.

The English summary is being prepared. Showing the original description.

axone-protocol/contracts123Updated Oct 14, 2026

See all skills by axone-protocol

Report a problem with this skill